Helm Academy · Lektion

Kubernetes-Secret-Ressourcen templatisieren

Secret-Objekte rendern, ohne Werte offenzulegen

Lektion 4 von 413 Schritte

Kubernetes-Secret-Ressourcen templatisieren ist eine kostenlose Helm Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Helm Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Helm Academy-Kurs umfasst insgesamt 4 Lektionen.

Charts können Secrets rendern

Manchmal muss Ihr Chart selbst ein Kubernetes-Secret-Objekt erzeugen. Bei sorgfältiger Umsetzung können Sie es templatisieren, ohne den Wert preiszugeben.

Aufbau des Secret-Manifests

Ein Kubernetes-Secret ist lediglich ein Manifest mit einem data-Abschnitt. Jeder Wert unter data muss Base64-kodierter Text sein.

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

Daten mit b64enc kodieren

Unter data kodieren Sie jeden Wert. Der Sprig-Helfer b64enc wandelt eine Zeichenkette im Klartext in das von Kubernetes erwartete Base64-Format um.

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

Mit stringData die Kodierung überspringen

Verwenden Sie stringData, wenn Sie b64enc nicht von Hand einsetzen möchten. Kubernetes kodiert diese Werte serverseitig für Sie.

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

Kodierung ist weiterhin kein Geheimnis

Denken Sie daran: Der in das Manifest gerenderte Wert ist lediglich kodiert. Wer ihn lesen kann, kann ihn sofort dekodieren.

Nicht in NOTES ausgeben

Ein häufiges Leck entsteht, wenn der Wert in NOTES.txt ausgegeben wird. Geben Sie stattdessen an, wie der Wert abgerufen werden kann, damit der Klartext niemals in der Befehlsausgabe landet.

Ein vorhandenes Secret wiederverwenden

Noch besser ist es, Benutzer auf ein existingSecret verweisen zu lassen, das sie außerhalb des Charts erstellt haben. So erhält Ihr Chart den Wert überhaupt nicht.

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

Mit require einen Pflichtwert verlangen

Wenn ein Secret wirklich erforderlich ist, beendet die Funktion required das Rendern mit einer verständlichen Meldung, sobald der Wert fehlt.

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

Einbinden, nicht inline eintragen

Lassen Sie Pods über secretKeyRef oder ein eingebundenes Volume auf das Secret zugreifen, statt den tatsächlichen Wert direkt in eine Container-Umgebungsvariable einzutragen.

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

Für Rotation annotieren

Damit Pods bei einer Änderung des Secrets neu gestartet werden, fügen Sie dem Deployment eine Prüfsummen-Annotation hinzu. Ein neuer Wert löst dann einen Neustart aus.

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

Die Strategien kombinieren

Die sichersten Charts kombinieren mehrere Ansätze: Bevorzugen Sie vorhandene oder externe Secrets, kodieren Sie nur bei Bedarf und geben Sie den Wert niemals aus.

Schnelltest

Wie lassen Sie Kubernetes die Base64-Kodierung für Sie übernehmen?

Zusammenfassung

Sie haben gelernt, ein Secret sicher zu templatisieren: Kodieren Sie mit b64enc oder stringData, bevorzugen Sie vorhandene Secrets und geben Sie den Wert niemals aus. 🎉

Kostenlos starten

Lerne YAML mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
30
Lektionen
120

Häufig gestellte Fragen

Ist die Lektion „Kubernetes-Secret-Ressourcen templatisieren“ kostenlos?

Ja — der vollständige Text von „Kubernetes-Secret-Ressourcen templatisieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Helm Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Helm Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Kubernetes-Secret-Ressourcen templatisieren“?

Secret-Objekte rendern, ohne Werte offenzulegen Du übst Helm Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Helm Academy zu starten?

Keine Vorkenntnisse erforderlich. Helm Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Kubernetes-Secret-Ressourcen templatisieren“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Helm Academy-Lektion Code schreiben und ausführen?

Ja. Jede Helm Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Warum Secrets nicht in values.yaml gehören
  2. Values mit helm-secrets und SOPS verschlüsseln
  3. Secrets aus External Secrets Operators beziehen
  4. Kubernetes-Secret-Ressourcen templatisieren
← Zurück zu Helm Academy