Kubernetes¶
Qu’est ce que Kubernetes¶
Kubernetes est un système d’orchestration de conteneurs open-source qui permet de déployer, de scaler et de gérer des applications conteneurisées.
Il est conçu pour automatiser les tâches courantes liées à la gestion de conteneurs, telles que le déploiement, la mise à l’échelle et la surveillance.
Installation de Kubernetes¶
Prérequis : avoir installé une version récente de Docker sur votre système. ( Voir la documentation sur docker .)
Commencez par ajoutez les clés de paquet pour Kubernetes en utilisant la commande suivante :
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -Ajoutez ensuite le dépôt Kubernetes à la liste des dépôts en utilisant la commande suivante :
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.listMettez à jour la liste des paquets en utilisant la commande suivante :
sudo apt-get updateInstallez kubeadm , kubectl et kubelet en utilisant la commande suivante :
sudo apt-get install -y kubeadm kubectl kubelet
Utilité¶
Kubernetes permet de gérer les conteneurs de manière efficace, en automatisant les tâches courantes liées à la gestion de conteneurs, telles que le déploiement, la mise à l’échelle et la surveillance.
Il permet de faciliter la mise en place d’une architecture microservices.
Il permet de faciliter les déploiements continu, en permettant de mettre à jour les conteneurs de manière transparente pour les utilisateurs finaux.
Fonctionnement¶
Kubernetes utilise une architecture de noeuds et de maîtres pour gérer les conteneurs. Les noeuds sont des machines physiques ou virtuelles qui exécutent les conteneurs, tandis que les maîtres sont des machines qui gèrent les noeuds.
Les conteneurs sont déployés sur les noeuds sous forme de pods, qui sont des groupes de conteneurs qui partagent un espace de stockage et une adresse IP.
Les maîtres utilisent les API Kubernetes pour gérer les pods et les noeuds, en utilisant des objets Kubernetes tels que les déploiements, les services et les horaires.
Pour initialiser un cluster vous devez effectuer cette commande :
sudo kubeadm initUtilisez kubectl pour déployer des applications sur le cluster en utilisant les commandes suivantes :
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/configVous pouvez verifiez l’état de votre cluster en utilisant la commande suivante :
kubectl get nodesAjoutez des noeuds ( workers ) au cluster en utilisant la commande suivante :
kubeadm join [cluster-ip]:[port] --token [token] --discovery-token-ca-cert-hash [hash]
Commandes utiles Kubernetes¶
kubectl get
: affiche les ressources Kubernetes dans le cluster.
kubectl describe
: affiche les détails d’une ressource spécifique.
kubectl apply
: applique les modifications d’une ressource spécifique.
kubectl delete
: supprime une ressource spécifique.
kubectl exec
: exécute une commande dans un conteneur spécifique.
kubectl logs
: affiche les journaux d’un conteneur spécifique.