Helm Academy · leksjon

Template Kubernetes Secret-ressurser

Rendere Secret-objekter uten å lekke verdier

Leksjon 4 av 413 trinn

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-credentials

Kod 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: password

Legg 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. 🎉

Gratis å komme i gang

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

  1. Hvorfor Secrets ikke hører hjemme i values.yaml
  2. Kryptere verdier med helm-secrets og SOPS
  3. Hente fra External Secrets Operators
  4. Template Kubernetes Secret-ressurser
← Tilbake til Helm Academy