Ingress est utilisé pour gérer le trafic entrant des applications ainsi que pour la terminaison SSL. En revanche, les secrets sont utilisés pour stocker des informations confidentielles et des certificats TLS à des fins d'application.
Cet article illustrera :
- Quels sont les secrets de Kubernetes ?
- Condition préalable : générer une clé privée et un certificat
- Comment créer un TLS secret dans Kubernetes ?
- Comment créer un secret via un fichier Yaml ?
- Comment intégrer un secret avec le pod Kubernetes ?
- Conclusion
Quels sont les secrets de Kubernetes ?
Les secrets sont l'une des ressources Kubernetes, utilisées pour stocker des informations confidentielles telles que les informations de connexion des utilisateurs, les clés, les certificats ou les jetons. Les secrets peuvent être créés individuellement et connectés aux pods. Cela empêche le développeur de fournir des données confidentielles dans le code et fournit également une couche de sécurité supplémentaire. Différents types de secrets peuvent être créés et utilisés. Les secrets les plus couramment utilisés sont :
Secret générique : Les secrets génériques sont utilisés pour stocker des informations de base telles que des mots de passe, des jetons, des clés API, des clés OAuth, etc.
Secret TLS : Les secrets TLS sont utilisés pour stocker les clés privées et les certificats signés par l'autorité de certification. Pour garantir la sécurité des applications exécutées dans Kubernetes et sécuriser la communication au sein du cluster, l'utilisateur doit généralement créer et intégrer des secrets TLS dans le pod.
Registre Docker : Il est utilisé pour stocker les informations d'identification du registre Docker afin d'extraire facilement les images du registre.
Condition préalable : générer une clé privée et un certificat
Pour créer le certificat et la clé privée pour améliorer la sécurité, utilisez OpenSSL qui crée le CSR (demande de signature de certificat) et la clé privée. Ensuite, utilisez CSR pour générer les certificats auto-signés ou CA.
Pour utiliser les commandes OpenSSL sous Windows, les utilisateurs doivent installer Git. A cet effet, suivez notre lien « Installer git sur Windows ' article.
Après avoir installé git, suivez les instructions ci-dessous pour générer une clé privée et un certificat signé.
Étape 1 : Lancer le terminal Git Bash
Faites une recherche sur ' Git-Bash » dans le menu Démarrer et lancez le terminal :
Pour vérifier le répertoire actuel, utilisez le ' mot de passe ' commande:
mot de passeActuellement, nous travaillons dans le répertoire %USERPROFILE% :
Étape 2 : Créer un nouveau répertoire
Créez un nouveau répertoire pour enregistrer les certificats et la clé privée :
mkdir certificatAccédez au répertoire nouvellement créé en utilisant le « CD ' commande:
CD certificat
Étape 3 : Générer une clé privée
Maintenant, générez la clé privée via la commande donnée. Ici, la clé privée générée sera enregistrée dans « moncert.key » :
clé genpopenssl -algorithme RSA -dehors moncert.key
Étape 4 : Générer une CSR
Pour générer le CSR (demande de service de certificat) pour obtenir un certificat signé, utilisez la commande donnée :
demande openssl -nouveau -clé moncert.key -dehors moncert.csr
Étape 5 : Générer un certificat
Enfin, à l'aide de la clé privée générée et du CSR, créez un certificat et enregistrez-le dans le dossier « moncert.crt ' déposer. Pour cela, exécutez la commande ci-dessous :
ouvre SSL x509 -req -dans moncert.csr -clé de signe moncert.key -dehors moncert.crt -jours 365
Après avoir généré les certificats TLS, l'utilisateur peut créer le TLS secret en suivant la section ci-dessous.
Comment créer un TLS secret dans Kubernetes ?
Pour garantir la sécurité des applications et sécuriser les communications au sein et à l'extérieur du cluster Kubernetes, les certificats TLS (Transport Layer Security) sont essentiels et sont utilisés dans le cryptage des données. Le secret Kubernetes nous permet d'intégrer le certificat TLS avec les pods en cours d'exécution via TLS secret. Pour créer un TLS secret dans Kubernetes, suivez les instructions suivantes.
Étape 1 : Démarrez le cluster Minikube
Pour démarrer le cluster minikube, lancez d’abord Windows PowerShell en tant qu’administrateur. Après cela, créez et exécutez le cluster à l'aide du ' démarrage du minikube ' commande:
démarrage du minikube
Étape 2 : obtenir des nœuds
Accédez au nœud Kubernetes pour vérifier si le cluster est démarré ou non :
minikube obtient des nœuds
Étape 3 : Créer un TLS secret
Créez le secret TLS dans Kubernetes en utilisant « kubectl crée un secret
Étape 4 : Obtenez des secrets
Pour confirmation, répertoriez le secret Kubernetes à l'aide de la commande donnée :
Kubectl devient secretIci, vous pouvez voir que nous avons effectivement créé un « démo-secret ' cela contient ' 2 ' Valeurs des données :
Étape 5 : Décrire le secret
Pour voir comment les données sont visualisées ou stockées en secret, décrivez le secret en utilisant le « kubectl décrit le secret
Vous pouvez voir que les valeurs sont stockées en octets et ne peuvent pas être affichées directement contrairement aux ConfigMaps Kubernetes :
Comment créer un TLS secret via un fichier Yaml ?
Pour créer un TLS secret via un fichier yaml, créez d'abord un ' secret.yml ' fichier, ajoutez le certificat codé en base64 tls dans le ' tls.crt ', et ajoutez la touche clé codée en base64 dans le ' tls.clé ».
Pour une démonstration, suivez les étapes répertoriées.
Étape 1 : Créer un fichier Yaml
Créez un fichier nommé ' secret.yml » et collez le code donné :
VersionAPI : v1données :
tls.crt : 'certificat encodé en base64'
tls.clé : 'clé codée en base64'
gentil : Secrète
métadonnées :
nom : Mytls-secret
espace de noms : défaut
taper : kubernetes.io/tls
Dans l'extrait ci-dessus, remplacez les valeurs de clé « tls.crt » et « tls.key » par votre certificat et vos valeurs de clé d'origine :
Étape 2 : Créer un secret
Maintenant, appliquez le fichier yaml secret via le ' kubectl apply -f
Le résultat montre que nous avons réussi à créer le « Mytls-secret » en utilisant le fichier yaml :
Remarque : Affichez le certificat TLS et la clé privée
Pour afficher le certificat encodé en base64 et l'utiliser dans le fichier yaml, exécutez le ' cat
Afin d'afficher la clé codée en base64, utilisez ' cat
Comment intégrer Secret TLS avec le pod Kubernetes ?
Après avoir créé le TSL secret, l'utilisateur peut l'intégrer au pod Kubernetes. Pour ce faire, suivez les instructions suivantes.
Étape 1 : Créer un fichier Yaml
Créez un fichier nommé ' pod.yml ' et collez l'extrait ci-dessous dans le fichier :
Version api : v1genre : Gousse
métadonnées :
nom : démo-pod
spécification :
conteneurs :
- nom : html-cont
image : rafia098 / html-img : 1.0
envDe :
- SecretRef :
nom : démo-secret
Dans l'extrait ci-dessus :
- ' gentil La clé ' spécifie la ressource Kubernetes que l'utilisateur crée.
- ' nom La touche ' définira le nom du pod.
- ' conteneurs ' La clé stockera les informations sur le conteneur.
- ' nom ' sous la touche 'conteneurs' définira le nom du conteneur.
- ' image La clé ' fournira l'image de l'application ou du conteneur pour créer et démarrer l'application à l'intérieur du conteneur.
- ' envFrom La clé ' définira la variable d'environnement à partir d'autres ressources Kubernetes. Ici, pour embarquer le TLS secret dans un pod, « secretRef » est utilisé pour fournir une référence secrète. Pour intégrer le secret TLS ci-dessus, spécifiez le nom du secret dans la clé « nom ».
Étape 2 : Créer ou mettre à niveau le pod
Ensuite, ouvrez le dossier où se trouve le « pod.yml ' Le fichier est créé :
CD C:\Utilisateurs\Dell\Documents\Kubernetes\Secret
Appliquez le fichier yaml pour créer ou reconfigurer le pod à l'aide du bouton « Kubectl appliquer ' commande:
Kubectl appliquer -F pod.yml
Étape 3 : accéder aux pods Kubernetes
Pour vérification, répertoriez les pods Kubernetes :
Kubectl récupère le podIci, vous pouvez voir que nous avons créé le « module de démonstration ' avec succès:
Étape 4 : Décrire le pod
Pour vérifier si le pod a intégré le TLS secret ou non, décrivez le pod à l'aide de la commande ci-dessous :
kubectl décrit le pod de démonstrationLe résultat ci-dessous montre que nous avons intégré avec succès le secret TLS avec le pod :
Nous avons expliqué comment créer un TLS secret et l'intégrer à l'application Kubernetes exécutée dans le pod.
Conclusion
Pour créer le TLS secret dans Kubernetes, créez d’abord le certificat signé TLS et la clé privée. Après cela, démarrez le cluster Kubernetes et exécutez le « kubectl crée un secret