OpenShift - Tekton

Mwandishi wa awali wa ukurasa huu ni Haroun

Tekton ni nini

Kulingana na hati: Tekton ni mfumo wenye nguvu na rahisi wa chanzo wazi wa kuunda mifumo ya CI/CD, ikiruhusu wabunifu kujenga, kujaribu, na kupeleka katika watoa huduma wa wingu na mifumo ya ndani. Jenkins na Tekton zinaweza kutumika kujaribu, kujenga na kupeleka programu, hata hivyo Tekton ni Cloud Native.

Kwa Tekton kila kitu kinawakilishwa na faili za YAML. Wabunifu wanaweza kuunda Rasilimali za Kawaida (CR) za aina Pipelines na kubainisha Tasks nyingi ndani yao ambazo wanataka kuzitekeleza. Ili kutekeleza rasilimali ya Pipeline, rasilimali za aina PipelineRun lazima ziumbwe.

Wakati tekton imewekwa, akaunti ya huduma (sa) inayoitwa pipeline inaundwa katika kila namespace. Wakati Pipeline inatekelezwa, pod itazaliwa kwa kutumia hii sa inayoitwa pipeline ili kutekeleza kazi zilizofafanuliwa katika faili la YAML.

Hati ya Tekton kuhusu Pipelines

Uwezo wa akaunti ya huduma ya Pipeline

Kwa default, akaunti ya huduma ya pipeline inaweza kutumia uwezo wa pipelines-scc. Hii ni kutokana na usanidi wa kawaida wa tekton. Kwa kweli, usanidi wa kawaida wa tekton pia ni YAML katika kituo cha openshift kinachoitwa TektonConfig ambacho kinaweza kuonekana ikiwa una majukumu ya msomaji katika klasta.

apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
name: config
spec:
...
...
platforms:
openshift:
scc:
default: "pipelines-scc"

Katika namespace yoyote, ikiwa unaweza kupata token ya akaunti ya huduma ya pipeline utaweza kutumia pipelines-scc.

The Misconfig

Tatizo ni kwamba scc ya default ambayo akaunti ya huduma ya pipeline inaweza kutumia inadhibitiwa na mtumiaji. Hii inaweza kufanywa kwa kutumia lebo katika ufafanuzi wa namespace. Kwa mfano, ikiwa naweza kuunda namespace na ufafanuzi wa yaml ufuatao:

apiVersion: v1
kind: Namespace
metadata:
name: test-namespace
annotations:
operator.tekton.dev/scc: privileged

The tekton operator itatoa kwa akaunti ya huduma ya pipeline katika test-namespace uwezo wa kutumia scc privileged. Hii itaruhusu kuunganishwa kwa node.

The fix

Tekton inatoa nyaraka kuhusu jinsi ya kupunguza kuondolewa kwa scc kwa kuongeza lebo katika kitu cha TektonConfig.

Tekton doc kuhusu scc

Lebo hii inaitwa max-allowed

apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
name: config
spec:
...
...
platforms:
openshift:
scc:
default: "restricted-v2"
maxAllowed: "privileged"

Last updated