OpenShift - Tekton
Reading time: 2 minutes
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 waendelezaji 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. Waendelezaji 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 ya YAML.
Getting Started with Pipelines | Tekton
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 kimataifa wa tekton. Kwa kweli, usanidi wa kimataifa wa tekton pia ni YAML katika kitu cha openshift kinachoitwa TektonConfig
ambacho kinaweza kuonekana ikiwa una majukumu fulani 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
.
Hitilafu
Tatizo ni kwamba scc ya default ambayo akaunti ya huduma ya pipeline inaweza kutumia inasimamiwa 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
Mopereta wa tekton atampa akaunti ya huduma ya pipeline katika test-namespace
uwezo wa kutumia scc privileged. Hii itaruhusu kuunganishwa kwa node.
Suluhisho
Nyaraka za Tekton kuhusu jinsi ya kupunguza uondoaji wa scc kwa kuongeza lebo katika kitu cha TektonConfig
.
Lebo hii inaitwa max-allowed
apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
name: config
spec:
...
...
platforms:
openshift:
scc:
default: "restricted-v2"
maxAllowed: "privileged"