Kubernetes est un système de gestion de conteneurs gratuit et open source qui procure une plate-forme pour automatiser le déploiement, la mise à l'échelle et les opérations des conteneurs d'applications sur des groupes d'ordinateurs hôtes.
Avec Kubernetes, ils peuvent exploiter librement l'infrastructure cloud sur site, publique et hybride pour exécuter les tâches de déploiement de leur organisation.
Installation de Kubernetes sur Ubuntu et ses dérivés
Pour une installation pratique, nous allons utiliser un cluster à deux nœuds que nous formerons dans cet article sera composé d'un nœud maître et d'un nœud esclave.
Kubernetes doit être installé sur les deux nœuds. La première chose que nous allons faire est d'installer docker sur les deux, pour cela, il suffit d'exécuter la commande suivante sur eux:
sudo apt install docker.io
Pour vérifier que le docker est installé, vous pouvez exécuter la commande suivante sur les deux nœuds:
docker --version
maintenant procédons à l'activation de docker sur les deux nœuds:
sudo systemctl enable docker
Maintenant, l'étape suivante consiste à ajouter la clé Kubernetes aux deux nœuds, nous le faisons avec la commande suivante:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
L'étape suivante consiste à ajouter le référentiel suivant aux deux systèmes:
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
La dernière étape du processus d'installation consiste à installer Kubeadm sur les deux nœuds via la commande suivante:
sudo apt install kubeadm
Ils peuvent vérifier le numéro de version de Kubeadm et également vérifier l'installation via la commande suivante:
kubeadm version
Déploiement de Kubernetes
Maintenant, pour implémenter le déploiement de Kubernetes dans le système, nous devons désactiver la mémoire d'échange (si elle est en cours d'exécution) dans les deux nœuds
Ils doivent désactiver la mémoire d'échange sur les deux nœudscar Kubernetes ne fonctionne pas correctement sur un système qui utilise la mémoire d'échange.
Pour ce faire, exécutez simplement:
sudo swapoff -a
Maintenant, la prochaine étape est exécutez la commande suivante sur le nœud maître pour lui donner un nom d'hôte unique:
sudo hostnamectl set-hostname master-node
Alors que pour le nœud esclave, nous devons taper:
sudo hostnamectl set-hostname slave-node
Fait cela maintenant vCommençons par initialiser le nœud maître avec la commande suivante:
sudo kubeadm init --pod-network-cidr = 10.244.0.0/16
Le processus peut prendre une minute ou plus selon votre connexion Internet. La sortie de cette commande est très importante, vous devez donc noter les informations dans la sortie, car elle contient l'ip, le jeton et autres.
Pour commencer à utiliser votre cluster, ils doivent exécuter ce qui suit en tant qu'utilisateur régulier:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
maintenant ils peuvent rejoindre n'importe quel nombre de machines en exécutant ce qui suit sur chaque nœud en tant qu'utilisateurs root:
kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
Où ils remplaceront les informations de tutoken, tuip et votre hash par les informations qui ont été dites il y a quelques instants qu'ils écriront.
Obtenir la liste des nœuds
Vous verrez que l'état du nœud maître n'est pas encore prêt. En effet, aucun pod n'a encore été déployé sur le nœud maître et par conséquent, l'interface réseau du conteneur est vide.
Pour voir la liste, il suffit d'exécuter:
kubectl get nodes
Déployer un réseau de pod via le nœud maître
Un réseau de pods est un moyen de communication entre les nœuds d'un réseau. Dans ce tutoriel, nous implémentons un réseau de pod Flannel dans notre cluster via la commande suivante:
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Pour connaître l'état du réseau, tapez simplement:
kubectl get pods --all-namespaces sudo kubectl get nodes
Une fois que cela est fait, il est maintenant temps d'ajouter le nœud esclave au réseau pour former un cluster, de la même manière qu'ils doivent compléter les informations que dans le nœud maître.
sudo kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
Désormais, lorsque vous exécutez la commande suivante sur le nœud maître, elle confirmera que deux nœuds, le nœud maître et les nœuds de serveur sont en cours d'exécution sur votre système.
sudo kubectl get nodes
Cela montre que le cluster à deux nœuds est désormais opérationnel via le système de gestion de conteneurs Kubernetes.