[Kubernetes] Cheat-sheet
Introduction
Kubernetes est un gestionnaire de conteneurs avancé qui permet de créer des clusters, faire de la haute disponibilité, du load balancing et apporte beaucoup d'avantages lors du déploiement à grande échelle d'une application.
Configuration kubectl
Utiliser un fichier de configuration spécifique
export KUBECONFIG=<PATH_TO_KUBECONFIG>
Définir le cluster
kubectl config set-cluster <CLUSTER_NAME> --server="<IP|FQDN>"
Définir l'utilisateur
kubectl config set-credentials <USERNAME> --client-certificate=<CRT_PATH> --client-key=<KEY_PATH>
Définir le contexte
kubectl config set-context <CONTEXT_NAME> --cluster=<CLUSTER_NAME> --user=<USERNAME>
kubectl config use-context <CONTEXT_NAME>
Pods
Les pods sont des groupes de un ou plusieurs conteneurs. Il s'agit de la plus petite entité manipulable par Kubernetes. :
Créer un pod
Les pods peuvent être créés à partir de fichiers de configuration au format YAML tel que mypod.yaml :
apiVersion: v1
kin: Pod
metadata:
name: mypod
spec:
containers:
- name: mycontainer
image: nginx
Le pod ci-dessus permettra de déployer un conteneur avec l'image nginx.
Une fois le fichier de configuration établit, on peut déployer le pod grâce à la commande suivante :
kubectl apply -f mypod.yaml
Vous pouvez aussi déployer des pods à la volée grâce à la commande suivante (non-recommandé) :
kubectl run <POD_NAME> --image=<IMG>
Supprimer un pod
kubectl delete pod <POD_NAME>
Déploiements
Débogage et monitoring
Vérifier la configuration de kubectl
kubectl config view
Vérifier la création des pods
kubectl get pods
Pour afficher en détail le status des pods, vous pouvez utiliser la commande suivante :
kubectl get pods -o wide
Pour vérifier un pod spécifique :
kubectl describe pod <POD_NAME>
Afficher les logs d'un pod
kubectl logs <POD_NAME>
Exécuter une commande dans un pod
kubectl exec <POD_NAME> -- <CMD>
No Comments