Qu'est-ce que Kubernetes ?
Kubernetes est un système de gestion de conteneurs gratuit et open source qui fournit une plate-forme pour l'automatisation du déploiement, la mise à l'échelle et les opérations des conteneurs d'applications sur des clusters d'ordinateurs hôtes. Avec Kubernetes, vous pouvez librement utiliser l'infrastructure de cloud hybride, sur site et public afin d'exécuter les tâches de déploiement de votre organisation.
Dans ce didacticiel, nous expliquerons comment installer Kubernetes sur un système Ubuntu et également déployer Kubernetes sur un cluster Ubuntu à deux nœuds.
Les commandes et procédures mentionnées dans cet article ont été exécutées sur un système Ubuntu 18.04 LTS. Étant donné que nous utiliserons la ligne de commande Ubuntu, le Terminal, pour exécuter toutes les commandes, vous pouvez l'ouvrir via le système Dash ou le raccourci Ctrl+Alt+T.
Installation de Kubernetes
Le cluster à deux nœuds que nous allons former dans cet article sera composé d'un nœud maître et d'un nœud esclave. Kubernetes doit être installé sur ces deux nœuds. Par conséquent, suivez les étapes décrites ci-dessous pour installer Kubernetes sur les deux nœuds Ubuntu.
Étape 1 :Installez Docker sur les deux nœuds
Installez l'utilitaire Docker sur les deux nœuds en exécutant la commande suivante en tant que sudo dans le terminal de chaque nœud :
$ sudo apt install docker.io
Vous serez invité avec une option Y/n afin de procéder à l'installation. Veuillez saisir Y, puis appuyez sur Entrée pour continuer. Docker sera alors installé sur votre système. Vous pouvez vérifier l'installation et également vérifier le numéro de version de Docker via la commande suivante :
$ docker --version
Étape 2 :Activer Docker sur les deux nœuds
Activez l'utilitaire Docker sur les deux nœuds en exécutant la commande suivante sur chacun :
$ sudo systemctl enable docker
Étape 3 :Ajoutez la clé de signature Kubernetes sur les deux nœuds
Exécutez la commande suivante afin d'obtenir la clé de signature Kubernetes :
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
Si Curl n'est pas installé sur votre système, vous pouvez l'installer via la commande suivante en tant que root :
$ sudo apt install curl
Vous serez invité avec une option Y/n afin de procéder à l'installation. Veuillez saisir Y, puis appuyez sur Entrée pour continuer. L'utilitaire Curl sera alors installé sur votre système.
Étape 4 :Ajoutez le référentiel Xenial Kubernetes sur les deux nœuds
Exécutez la commande suivante sur les deux nœuds afin d'ajouter le référentiel Xenial Kubernetes :
$ sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
Étape 5 :Installez Kubeadm
La dernière étape du processus d'installation consiste à installer Kubeadm sur les deux nœuds via la commande suivante :
$ sudo apt install kubeadm
Vous serez invité avec une option Y/n afin de procéder à l'installation. Veuillez saisir Y, puis appuyez sur Entrée pour continuer. Kubeadm sera alors installé sur votre système.
Vous pouvez vérifier le numéro de version de Kubeadm et également vérifier l'installation via la commande suivante :
version $ kubeadm
Déploiement Kubernetes
Étape 1 :Désactivez la mémoire d'échange (si elle est en cours d'exécution) sur les deux nœuds
Vous devez désactiver la mémoire d'échange sur les deux nœuds car Kubernetes ne fonctionne pas correctement sur un système qui utilise la mémoire d'échange. Exécutez la commande suivante sur les deux nœuds afin de désactiver la mémoire d'échange
$ sudo swapoff -a
Étape 2 :Donnez des noms d'hôte uniques à chaque nœud
Exécutez la commande suivante dans le nœud maître afin de lui attribuer un nom d'hôte unique :
$ sudo hostnamectl set-hostname master-node
Exécutez la commande suivante dans le nœud esclave afin de lui attribuer un nom d'hôte unique :
$ hostnamectl set-hostname slave-node
Étape 3 :Initialiser Kubernetes sur le nœud maître
Exécutez la commande suivante en tant que sudo sur le nœud maître :
$ sudo kubeadm init --pod-network-cidr=10.244.0.0/16
Le processus peut prendre une minute ou plus en fonction de votre connexion Internet. Le résultat de cette commande est très important :
Veuillez noter les informations suivantes à partir de la sortie :
Pour commencer à utiliser votre cluster, vous devez exécuter ce qui suit en tant qu'utilisateur standard :
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Vous pouvez maintenant rejoindre n'importe quel nombre de machines en exécutant ce qui suit sur chaque nœud
en tant que root :
kubeadm joindre 192.168.100.6:6443 --token 06tl4c.oqn35jzecidg0r0m --discovery-token-ca-cert-hash sha256:c40f5fa0aba6ba311efcdb0e8cb637ae0eb8ce27b7a03d47be6d966142 Exécutez maintenant les commandes suggérées dans la sortie afin de commencer à utiliser le cluster :
Vous pouvez vérifier l'état du nœud maître en exécutant la commande suivante :
$ kubectl get nodes
Vous verrez que le statut du nœud maître n'est pas encore prêt. C'est parce qu'aucun pod n'a encore été déployé sur le nœud maître et que l'interface de réseau de conteneurs est donc vide.
Étape 4 :Déployez un réseau de pods via le nœud maître
Un réseau de pod est un moyen de communication entre les nœuds d'un réseau. Dans ce tutoriel, nous déployons un réseau de pods Flannel sur notre cluster via la commande suivante :
$ sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Utilisez la commande suivante pour afficher l'état du réseau :
$ kubectl get pods --all-namespaces
Maintenant, lorsque vous voyez l'état des nœuds, vous verrez que le nœud maître est prêt :
$ sudo kubectl obtenir des nœuds
Étape 5 :Ajoutez le nœud esclave au réseau afin de former un cluster
Sur le nœud esclave, exécutez la commande suivante que vous avez générée lors de l'initialisation de Kubernetes sur le nœud maître :
$ sudo kubeadm join 192.168.100.6:6443 --token 06tl4c.oqn35jzecidg0r0m --discovery-token-ca-cert-hash sha256:c40f5fa0aba6ba311efcdb0e8cb637ae0eb8ce27b7a03d47be6d966142f2>
Désormais, lorsque vous exécutez la commande suivante sur le nœud maître, elle confirme 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 obtenir des nœudsCela montre que le cluster à deux nœuds est maintenant opérationnel via le système de gestion de conteneurs Kubernetes.
Dans cet article, nous avons expliqué l'installation du système de gestion de conteneurs Kubernetes sur deux nœuds Ubuntu. Nous avons ensuite formé un cluster simple à deux nœuds et déployé Kubernetes dessus. Vous pouvez maintenant déployer et utiliser n'importe quel service tel que le serveur Nginx ou le conteneur Apache pour utiliser ce réseau en cluster.