Helm Academy · Les

Kubernetes Secret-resources templaten

Secret-objecten renderen zonder waarden bloot te geven

Les 4 van 413 stappen

Kubernetes Secret-resources templaten is een gratis Helm Academy-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Helm Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Helm Academy bevat in totaal 4 lessen.

Charts kunnen Secrets genereren

Soms moet je chart zelf een Kubernetes-Secret-object maken. Als je dit zorgvuldig doet, kun je er een templaten zonder de waarde te lekken.

De vorm van het Secret-manifest

Een Kubernetes Secret is gewoon een manifest met een datagedeelte. Elke waarde onder data moet gecodeerde tekst in Base64 zijn.

apiVersion: v1
kind: Secret
metadata:
  name: db-credentials

Gegevens coderen met b64enc

Onder data codeer je elke waarde. De Sprig-helper b64enc zet een tekenreeks in platte tekst om naar de Base64-vorm die Kubernetes verwacht.

data:
  password: {{ .Values.password | b64enc }}

stringData gebruiken om coderen over te slaan

Gebruik bij voorkeur stringData als je b64enc niet handmatig wilt gebruiken. Kubernetes codeert die waarden aan de serverkant voor je.

stringData:
  password: {{ .Values.password | quote }}

Coderen maakt iets nog geen geheim

Onthoud dat de waarde die in het manifest terechtkomt alleen encoded is. Iedereen die deze kan lezen, kan haar direct decoderen.

Print het niet in NOTES

Een veelvoorkomend lek is het afdrukken van de waarde in NOTES.txt. Print in plaats daarvan hoe je de waarde kunt ophalen, zodat de platte tekst nooit in de uitvoer van een opdracht terechtkomt.

Een bestaand Secret hergebruiken

Nog beter is het om gebruikers te laten verwijzen naar een existingSecret dat ze buiten de chart om hebben gemaakt. Zo ontvangt je chart de waarde helemaal niet.

{{- if not .Values.existingSecret }}
kind: Secret
{{- end }}

Een verplichte waarde vereisen

Wanneer een geheim echt verplicht is, stopt de functie required het renderen met een duidelijke melding als de waarde ontbreekt.

password: {{ required "password is required" .Values.password | b64enc }}

Koppelen, niet inline opnemen

Laat pods het Secret lezen via secretKeyRef of een aangekoppeld volume, in plaats van de letterlijke waarde rechtstreeks in een containeromgevingvariabele te zetten.

valueFrom:
  secretKeyRef:
    name: db-credentials
    key: password

Een annotatie toevoegen voor rouleren

Voeg een checksum-annotation toe aan de implementatie om pods opnieuw te starten wanneer een Secret verandert, zodat een nieuwe waarde een herstart activeert.

checksum/secret: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }}

De strategieën combineren

De sterkste charts combineren ideeën: geef de voorkeur aan bestaande of externe geheimen, codeer alleen als dat nodig is en druk de waarde nooit af.

Snelle controle

Hoe laat je Kubernetes de Base64-codering voor je uitvoeren?

Samenvatting

Je hebt geleerd hoe je veilig een Secret templated: codeer met b64enc of stringData, geef de voorkeur aan bestaande geheimen en druk de waarde nooit af. 🎉

Gratis beginnen

Leer YAML met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
30
Lessen
120

Veelgestelde vragen

Is de les “Kubernetes Secret-resources templaten” gratis?

Ja — de volledige tekst van “Kubernetes Secret-resources templaten” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Helm Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Helm Academy bevat in totaal 4 lessen.

Wat leer ik in “Kubernetes Secret-resources templaten”?

Secret-objecten renderen zonder waarden bloot te geven Je oefent met Helm Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Helm Academy te beginnen?

Ervaring vooraf is niet nodig. Helm Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “Kubernetes Secret-resources templaten”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Helm Academy?

Ja. Elke les over Helm Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Waarom Secrets niet thuishoren in values.yaml
  2. Waarden versleutelen met helm-secrets en SOPS
  3. Secrets ophalen uit External Secrets Operators
  4. Kubernetes Secret-resources templaten
← Terug naar Helm Academy