DevOps Bootcamp · Leçon

Modéliser les ressources Secret de Kubernetes

Générer des objets Secret sans divulguer les valeurs

Leçon 4 sur 413 étapes

Modéliser les ressources Secret de Kubernetes est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.

Les paquets peuvent générer des secrets

Parfois, votre paquet doit produire lui-même un objet de secret Kubernetes. Avec les précautions nécessaires, vous pouvez en créer un modèle sans exposer la valeur.

La structure du manifeste de secret

Un secret Kubernetes n'est qu'un manifeste comportant une section de données. Chaque valeur sous données doit être un texte encodé en Base64.

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

Encoder les données avec b64enc

Sous données, vous encodez chaque valeur. L'outil auxiliaire Sprig b64enc convertit une chaîne en texte brut au format Base64 attendu par Kubernetes.

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

Utiliser stringData pour éviter l'encodage

Préférez stringData lorsque vous souhaitez éviter d'appeler b64enc manuellement. Kubernetes encode ces valeurs pour vous côté serveur.

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

L'encodage ne rend toujours pas la valeur secrète

N'oubliez pas que la valeur rendue dans le manifeste est seulement encodée. Quiconque peut la relire peut la décoder instantanément.

Ne pas l'afficher dans NOTES

Une fuite courante consiste à afficher la valeur dans NOTES.txt. Indiquez plutôt comment la récupérer, afin que le texte brut n'apparaisse jamais dans la sortie de la commande.

Réutiliser un secret existant

Mieux encore, permettez aux utilisateurs de pointer vers un existingSecret qu'ils ont créé séparément, afin que votre paquet ne reçoive jamais la valeur.

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

Exiger une valeur obligatoire

Lorsqu'un secret est réellement requis, la fonction obligatoire arrête le rendu avec un message clair si la valeur est absente.

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

Monter, ne pas intégrer en ligne

Faites lire le secret à vos pods via secretKeyRef ou un volume monté, plutôt que d'intégrer la valeur littérale dans une variable d'environnement du conteneur.

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

Ajouter une annotation pour la rotation

Pour redémarrer les pods lorsqu'un secret change, ajoutez une annotation de somme de contrôle au déploiement afin qu'une nouvelle valeur déclenche un redémarrage.

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

Combiner les stratégies

Les paquets les plus robustes combinent les approches : privilégiez les secrets existants ou externes, n'encodez qu'en cas de besoin et n'affichez jamais la valeur.

Vérification rapide

Comment laisser Kubernetes effectuer l'encodage Base64 à votre place ?

Récapitulatif

Vous avez appris à créer le modèle d'un secret en toute sécurité : encodez avec b64enc ou stringData, privilégiez les secrets existants et n'affichez jamais la valeur. 🎉

Gratuit pour commencer

Apprends DevOps Bootcamp avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
142
Leçons
568

Questions Fréquemment Posées

La leçon « Modéliser les ressources Secret de Kubernetes » est-elle gratuite ?

Oui — le texte complet de « Modéliser les ressources Secret de Kubernetes » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Modéliser les ressources Secret de Kubernetes » ?

Générer des objets Secret sans divulguer les valeurs Tu pratiques DevOps Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer DevOps Bootcamp ?

Aucune expérience préalable n'est requise. DevOps Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Modéliser les ressources Secret de Kubernetes » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon DevOps Bootcamp ?

Oui. Chaque leçon DevOps Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Pourquoi les secrets n’ont pas leur place dans values.yaml
  2. Chiffrer les valeurs avec helm-secrets et SOPS
  3. Récupérer des secrets auprès d’opérateurs externes
  4. Modéliser les ressources Secret de Kubernetes
← Retour à DevOps Bootcamp