Comment installer Kubernetes sur un serveur Ubuntu sans Docker

image



Kubernetes abandonne la prise en charge de Docker. Maintenant, tout le travail acharné que vous consacrez à l'apprentissage changera beaucoup. Même dès le départ, l'utilisation de Kubernetes ne sera pas la même.



Je parle d'installer l'outil de gestion des conteneurs lui-même. Bien sûr, vous ne pouvez pas déployer Kubernetes de la même manière que vous l'avez fait auparavant - avec Docker installé comme environnement d'exécution.



Ensemble, nous allons maintenant essayer d'installer Kubernetes sur Ubuntu Server 20.04 sans Docker.



De quoi avez-vous besoin



  • Utilisateur avec privilèges sudo
  • Instance Ubuntu Server 20.04 (cela servira de contrĂ´leur - vous aurez besoin d'autres instances pour s'exĂ©cuter en tant que nĹ“uds, mais je ne vais dĂ©montrer que sur le contrĂ´leur car la configuration sera la mĂŞme sur toutes les machines)


Comment installer le runtime containerd



La première chose que nous ferons est d'installer le runtime containerd, qui remplacera Docker. Connectez-vous à votre instance Ubuntu Server et assurez-vous de mettre à jour apt à l'aide de la commande:



sudo apt-get update
      
      





Après cela, vous devez démarrer la mise à jour avec la commande:



sudo apt-get upgrade -y
      
      





Si le noyau est en cours de mise à jour, vous devez redémarrer le serveur (sauf si Live Patch est installé et en cours d'exécution).

 

Installez containerd en utilisant la commande:



sudo apt-get install containerd -y
      
      





Configurez containerd et démarrez le service à l'aide des commandes:



sudo mkdir -p /etc/containerd
sudo su -
containerd config default  /etc/containerd/config.toml
      
      





Comment installer Kubernetes



Ensuite, nous installerons Kubernetes. Vous devez d'abord ajouter la clé GPG du référentiel à l'aide de la commande:



curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
      
      





Ajoutez le référentiel Kubernetes à l'aide de la commande:

 

sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
      
      





Vous pouvez maintenant installer tous les composants Kubernetes requis Ă  l'aide de la commande:



sudo apt-get install kubeadm kubelet kubectl –y
      
      





Comment résoudre plusieurs problèmes de conteneur



C'est lĂ  que les choses se compliquent un peu. Docker a rĂ©solu beaucoup de problèmes internes. Lorsque vous accĂ©dez Ă  containerd, vous devez apporter des modifications de configuration manuelles. 



Le premier changement consiste Ă  ajouter une ligne Ă  /etc/sysctl.conf. Ouvrez le fichier avec la commande:



sudo nano /etc/sysctl.conf
      
      





Avec ce fichier ouvert, ajoutez ce qui suit ci-dessous:



net.bridge.bridge-nf-call-iptables = 1
      
      





Enregistrez et fermez le fichier. 



Entrez ensuite les commandes:



sudo -s
sudo echo '1' > /proc/sys/net/ipv4/ip_forward
exit
      
      





Rechargez les configurations avec la commande:



sudo sysctl --system
      
      





Vous devrez également charger quelques modules requis à l'aide des commandes:



sudo modprobe overlay
sudo modprobe br_netfilter
      
      





Une fois que vous vous en occupez, vous pouvez initialiser Kubernetes.



Comment terminer la configuration



Vous devrez lister tous vos hĂ´tes dans / etc / hosts. Assurez-vous que l'affichage est de la forme:



IP Address hostname
      
      





L'étape suivante consiste à définir le nom d'hôte de votre contrôleur (assurez-vous qu'il correspond au nom d'hôte que vous avez utilisé dans / etc / hosts) à l'aide de la commande:



sudo hostnamectl set-hostname HOSTNAME
      
      





OĂą HOSTNAME est le nom d'hĂ´te que vous souhaitez utiliser.



Désactivez l'échange en ouvrant le fichier fstab pour le modifier avec la commande:



sudo nano /etc/fstab
      
      





Dans ce fichier, commentez (en ajoutant un # au début de la ligne) l'entrée qui commence par:



/swap.img
      
      





Cette ligne va maintenant commencer par:



# / swap.img
      
      





Enregistrez et fermez le fichier. 



Désactivez le swap avec la commande:



sudo swapoff -a
      
      





Extrayez les conteneurs nécessaires avec la commande:



sudo kubeadm config images pull
      
      





Sur le contrĂ´leur, initialisez Kubernetes Ă  l'aide de la commande:



sudo kubeadm init --pod-network-cidr=IPADDRESS/24
      
      





OĂą IPADDRESS est l'adresse IP de votre contrĂ´leur.



Vous serez finalement renvoyĂ© Ă  la commande que vous devez exĂ©cuter sur vos nĹ“uds afin qu'ils puissent se connecter au cluster. Copiez cette commande. 



Avant de pouvoir joindre les nœuds au cluster, vous devez prendre soin de quelques bits supplémentaires dans le cluster.



Sur le contrôleur, créez le répertoire du cluster à l'aide de la commande:



mkdir -p $ HOME / .kube
      
      





Copiez le fichier de configuration dans ce répertoire à l'aide de la commande:



sudo cp -i /etc/kubernetes/admin.conf $ HOME / .kube / config
      
      





Donnez au fichier de configuration les autorisations appropriées avec la commande:



sudo chown $(id -u):$(id -g) $HOME/.kube/config
      
      





Déployez un réseau de conteneurs (dans ce cas, nous utiliserons weave-net) dans le cluster à l'aide de la commande:



kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
      
      





Vous pouvez maintenant exécuter une commande de connexion sur chacun des nœuds pour arrêter le cluster.



Le processus n'est pas aussi simple qu'avant. EspĂ©rons qu'Ă  l'avenir, dĂ©ployer un cluster Kubernetes sera aussi simple que d'utiliser Docker. 



All Articles