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.