0Pricing
DevOps Bootcamp · Lezione

Templating delle risorse Secret di Kubernetes

Rendering degli oggetti Secret senza esporre i valori

Templating delle risorse Secret di Kubernetes è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.

I chart possono creare Secret

A volte il suo chart deve produrre direttamente un oggetto Kubernetes Secret. Con le dovute precauzioni, può crearne il template senza divulgare il valore.

La struttura del manifest Secret

Un Secret di Kubernetes è semplicemente un manifest con una sezione data. Ogni valore in data deve essere testo codificato in Base64.

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

Codificare i dati con b64enc

All'interno di data, codifichi ogni valore. L'helper Sprig b64enc converte una stringa in testo semplice nel formato Base64 previsto da Kubernetes.

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

Usare stringData per evitare la codifica

Preferisca stringData quando vuole evitare di applicare manualmente b64enc. Kubernetes codifica questi valori per lei sul lato server.

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

La codifica non rende comunque il valore segreto

Ricordi che il valore inserito nel manifest è solo codificato. Chiunque possa leggerlo può decodificarlo all'istante.

Non stamparlo in NOTES

Una fuga comune consiste nel visualizzare il valore in NOTES.txt. Stampi invece le istruzioni per recuperarlo, così il testo semplice non finisce mai nell'output del comando.

Riutilizzare un Secret esistente

Meglio ancora, permetta agli utenti di indicare un existingSecret creato esternamente, così il chart non riceve mai il valore.

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

require per un valore obbligatorio

Quando un segreto è davvero obbligatorio, la funzione required interrompe il rendering con un messaggio chiaro se il valore è assente.

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

Montare, non incorporare

Faccia leggere ai pod il Secret tramite secretKeyRef o un volume montato, invece di inserire il valore letterale in una variabile d'ambiente del container.

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

Aggiungere un'annotazione per la rotazione

Per riavviare i pod quando cambia un Secret, aggiunga un'annotazione di checksum al deployment, così un nuovo valore attiva un riavvio.

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

Combinare le strategie

I chart più sicuri combinano le strategie: preferiscono secret esistenti o esterni, codificano solo quando necessario e non visualizzano mai il valore.

Verifica rapida

Come può lasciare che sia Kubernetes a eseguire la codifica Base64?

Riepilogo

Ha imparato a creare in sicurezza il template di un Secret: codifichi con b64enc o stringData, preferisca i secret esistenti e non stampi mai il valore. 🎉

Domande Frequenti

La lezione «Templating delle risorse Secret di Kubernetes» è gratuita?

Sì — il testo completo di «Templating delle risorse Secret di Kubernetes» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.

Cosa imparerò in «Templating delle risorse Secret di Kubernetes»?

Rendering degli oggetti Secret senza esporre i valori Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare DevOps Bootcamp?

Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Templating delle risorse Secret di Kubernetes»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?

Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Perché i Secret non devono stare in values.yaml
  2. Crittografia dei valori con helm-secrets e SOPS
  3. Recupero dei Secret dagli External Secrets Operator
  4. Templating delle risorse Secret di Kubernetes
← Torna a DevOps Bootcamp