Template Kubernetes Secret-ressurser
Rendere Secret-objekter uten å lekke verdier
Template Kubernetes Secret-ressurser er en gratis leksjon i Helm Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Helm Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Helm Academy inneholder totalt 4 leksjoner.
Charts kan gjengi hemmeligheter
Noen ganger må chartet Deres selv produsere et Kubernetes Secret-objekt. Med riktig fremgangsmåte kan De lage en mal for dette uten å lekke verdien.
Secret-manifestets struktur
En Kubernetes Secret er bare et manifest med en dataseksjon. Hver verdi under data må være Base64-kodet tekst.
apiVersion: v1
kind: Secret
metadata:
name: db-credentialsKod data med b64enc
Under data koder De hver verdi. Sprig-hjelperen b64enc konverterer en klartekststreng til Base64-formatet Kubernetes forventer.
data:
password: {{ .Values.password | b64enc }}Bruk stringData for å hoppe over koding
Foretrekk stringData når De vil unngå å bruke b64enc manuelt. Kubernetes koder disse verdiene for Dem på serversiden.
stringData:
password: {{ .Values.password | quote }}Koding er fortsatt ikke en hemmelighet
Husk at verdien som gjengis i manifestet, bare er kodet. Alle som kan lese den, kan dekode den umiddelbart.
Ikke skriv den ut i NOTES
En vanlig lekkasje oppstår når verdien skrives ut i NOTES.txt. Skriv heller ut hvordan den hentes, slik at klarteksten aldri havner i kommandoutdata.
Bruk en eksisterende Secret
Enda bedre er det å la brukerne peke på en existingSecret de har opprettet separat, slik at chartet Deres aldri mottar verdien.
{{- if not .Values.existingSecret }}
kind: Secret
{{- end }}Krev en obligatorisk verdi med require
Når en hemmelighet virkelig er nødvendig, stopper funksjonen required gjengivelsen med en tydelig melding hvis verdien mangler.
password: {{ required "password is required" .Values.password | b64enc }}Monter, ikke bygg inn
La podene lese Secret gjennom secretKeyRef eller et montert volum, i stedet for å legge den faktiske verdien direkte i containerens miljøvariabel.
valueFrom:
secretKeyRef:
name: db-credentials
key: passwordLegg til annotasjon for rotering
For å rulle podene på nytt når en Secret endres, legger De til en kontrollsum-annotasjon i Deployment-ressursen, slik at en ny verdi utløser en omstart.
checksum/secret: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }}Kombiner strategiene
De beste chartene kombinerer ideene: foretrekk eksisterende eller eksterne hemmeligheter, kod bare når det er nødvendig, og skriv aldri ut verdien.
Hurtigsjekk
Hvordan lar De Kubernetes utføre Base64-kodingen for Dem?
Oppsummering
De lærte å lage en mal for en Secret på en trygg måte: kod med b64enc eller stringData, foretrekk eksisterende hemmeligheter, og skriv aldri ut verdien. 🎉
Lær deg YAML med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 30
- Leksjoner
- 120
Ofte stilte spørsmål
Er leksjonen «Template Kubernetes Secret-ressurser» gratis?
Ja – hele teksten i «Template Kubernetes Secret-ressurser» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Helm Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Helm Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Template Kubernetes Secret-ressurser»?
Rendere Secret-objekter uten å lekke verdier Du øver på Helm Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Helm Academy?
Ingen tidligere erfaring er nødvendig. Helm Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «Template Kubernetes Secret-ressurser»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Helm Academy-leksjonen?
Ja. Alle Helm Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Hvorfor Secrets ikke hører hjemme i values.yaml
- Kryptere verdier med helm-secrets og SOPS
- Hente fra External Secrets Operators
- Template Kubernetes Secret-ressurser