GNU/Linux >> Tutoriels Linux >  >> Rocky Linux

Comment installer le cluster Kubernetes sur Rocky Linux 8

Bonjour les techniciens, comme nous le savons, Kubernetes (k8s) est un système d'orchestration de conteneurs gratuit et open-source. Il est utilisé pour automatiser le déploiement et la gestion des applications conteneurisées. Dans ce guide, nous expliquerons étape par étape comment installer le cluster kubernetes sur Rocky Linux 8 avec kubeadm.

Configuration minimale requise pour Kubernetes

  • 2 processeurs virtuels ou plus
  • 2 Go de RAM ou plus
  • Échange désactivé
  • Au moins une carte réseau
  • Connexion Internet stable
  • Un utilisateur régulier avec des privilèges sudo.

Pour la démonstration, j'utilise les systèmes suivants

  • Une fois le nœud maître/plan de contrôle (2 Go de RAM, 2 vCPU, 1 carte réseau, système d'exploitation minimal Rocky Linux 8)
  • Deux nœuds de travail (2 Go de RAM, 2 vCPU, 1 carte réseau, système d'exploitation minimal Rocky Linux 8)
  • Nom d'hôte du nœud maître – nœud de contrôle (192.168.1.240)
  • Nom d'hôte des nœuds de travail – worker-node1(192.168.1.241), worker-node2(192.168.1.242)

Sans plus tarder, plongeons dans les étapes d'installation de Kubernetes.

Remarque :Ces étapes s'appliquent également à RHEL 8 et au système d'exploitation AlmaLinux.

Étape 1) Définir le nom d'hôte et mettre à jour le fichier d'hôtes

Utilisez la commande hostnamectl pour définir le nom d'hôte sur le nœud de contrôle et le nœud de travail.

Exécuter sous la commande sur le nœud de contrôle

$ sudo hostnamectl set-hostname "control-node"$ exec bash

Exécutez la commande suivante sur le nœud de travail 1

$ sudo hostnamectl set-hostname "worker-node1"$ exec bash

Nœud de travail 2

$ sudo hostnamectl set-hostname "worker-node2"$ exec bash

Ajoutez les entrées suivantes dans le fichier /etc/hosts sur les nœuds de contrôle et de travail respectivement.

192.168.1.240   control-node192.168.1.241   worker-node1192.168.1.242   worker-node2

Étape 2) Désactivez Swap et définissez SELinux en mode permissif

Désactivez le swap, afin que kubelet puisse fonctionner correctement. Exécutez les commandes ci-dessous sur tous les nœuds pour le désactiver,

$ sudo swapoff -a$ sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

Exécutez sous la commande sed sur tous les nœuds pour définir SELinux en mode permissif

$ sudo setenforce 0$ sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

Étape 3) Configurer les règles de pare-feu sur les nœuds maître et travailleur

Sur le plan de contrôle, les ports suivants doivent être autorisés dans le pare-feu.

Pour autoriser les ports ci-dessus dans le plan de contrôle, exécutez

$ sudo firewall-cmd --permanent --add-port=6443/tcp$ sudo firewall-cmd --permanent --add-port=2379-2380/tcp$ sudo firewall-cmd --permanent --add -port=10250/tcp$ sudo firewall-cmd --permanent --add-port=10251/tcp$ sudo firewall-cmd --permanent --add-port=10252/tcp$ sudo firewall-cmd --reload$ sudo modprobe br_netfilter$ sudo sh -c "echo '1'> /proc/sys/net/bridge/bridge-nf-call-iptables"$ sudo sh -c "echo '1'> /proc/sys/net/ipv4/ ip_forward"

Sur les nœuds de travail, les ports suivants doivent être autorisés dans le pare-feu

$ sudo firewall-cmd --permanent --add-port=10250/tcp$ sudo firewall-cmd --permanent --add-port=30000-32767/tcp                                                 $ sudo firewall-cmd --reload$ sudo modprobe br_netfilter$ sudo sh -c "echo '1'> /proc/sys/net/bridge/bridge-nf-call-iptables"$ sudo sh -c "echo '1'> /proc/sys/net/ipv4/ip_forward "

Étape 4) Installer Docker sur les nœuds maître et travailleur

Installez Docker sur les nœuds maître et travailleur. Ici, docker fournira le temps d'exécution du conteneur (CRI). Pour installer le dernier menu fixe, nous devons d'abord activer son référentiel en exécutant les commandes suivantes.

$ sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

Maintenant, exécutez la commande ci-dessous dnf sur tous les nœuds pour installer docker-ce (docker community edition)

$ sudo dnf install docker-ce -y

Sortie

Une fois docker et ses dépendances installés, démarrez et activez son service en exécutant les commandes suivantes

$ sudo systemctl start docker$ sudo systemctl enable docker

Étape 5) Installez kubelet, Kubeadm et kubectl

Kubeadm est l'utilitaire à travers lequel nous allons installer le cluster Kubernetes. Kubectl est l'utilitaire de ligne de commande utilisé pour interagir avec le cluster Kubernetes. Kubelet est le composant qui exécutera tous les nœuds et effectuera des tâches telles que le démarrage et l'arrêt des pods ou des conteneurs.

Pour installer kubelet, Kubeadm et kubectl sur tous les nœuds, nous devons d'abord activer le référentiel Kubernetes.

Exécutez les commandes ci-dessous sur les nœuds maître et travailleur.

$ chat < 

Après avoir installé les packages ci-dessus, activez le service kubelet sur tous les nœuds (nœuds de contrôle et de travail), exécutez

$ sudo systemctl enable --now kubelet

Étape 6) Installer le cluster Kubernetes avec Kubeadm

Lors de l'installation du cluster Kubernetes, nous devons nous assurer que le groupe de contrôle du temps d'exécution du conteneur (CRI) correspond au groupe de contrôle de kubelet. Typiquement, dans Docker, cgroup est cgroupfs, nous devons donc demander à Kubeadm d'utiliser cgroupfs comme groupe de kubelet. Cela peut être fait en passant un yaml dans la commande Kubeadm,

Créez le fichier kubeadm-config.yaml sur le plan de contrôle avec le contenu suivant

$ vi kubeadm-config.yaml# kubeadm-config.yamlkind :ClusterConfigurationapiVersion :kubeadm.k8s.io/v1beta3kubernetesVersion : v1.23.4--kind :KubeletConfigurationapiVersion :kubelet.config.k8s.io/v1beta1cgroupDriver :cgroupfs

Remarque :Remplacez la version de Kubernetes selon votre configuration.

Maintenant, nous sommes tous prêts à installer (ou initialiser le cluster), exécutez sous la commande Kubeadm à partir du nœud de contrôle,

$ sudo kubeadm init --config kubeadm-config.yaml

La sortie de la commande ci-dessus ressemblerait à celle ci-dessous,

La sortie ci-dessus confirme que le cluster a été initialisé avec succès.

Exécutez les commandes suivantes pour permettre à l'utilisateur normal d'interagir avec le cluster, ces commandes sont déjà présentes dans la sortie.

$ mkdir -p $HOME/.kube$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config$ sudo chown $(id -u):$(id -g) $HOME /.kube/config$ kubectl obtenir les nœuds

Pour rendre les nœuds prêts et activer le service DNS de cluster (coredns), installez le module complémentaire de réseau de pods (CNI - Container Network Interface). Les pods commenceront à communiquer entre eux une fois que le module complémentaire de réseau de pods sera installé. Dans ce guide, j'installe calico en tant que module complémentaire réseau. Exécutez sous la commande kubectl à partir du plan de contrôle.

$ kubectl apply -f https://docs.projectcalico.org/v3.22/manifests/calico.yaml

Sortie

Après l'installation réussie du module complémentaire de réseau calico, le nœud de contrôle et les pods dans l'espace de noms du système kube seront respectivement prêts et disponibles.

Maintenant, la prochaine étape consiste à joindre les nœuds de travail au cluster.

Étape 7) Joindre les nœuds de travail au cluster

Après l'initialisation réussie du cluster Kubernetes, la commande permettant de joindre n'importe quel nœud de travail au cluster s'affiche dans la sortie. Donc, copiez cette commande et collez-la sur les nœuds de travail. Donc, dans mon cas, la commande est,

$ sudo kubeadm join 192.168.1.240:6443 --token jecxxg.ac3d3rpd4a7xbxx4 --discovery-token-ca-cert-hash sha256:1e4fbed060aafc564df75bc776c18f6787ab91685859e74d43449dcf5a5 

Exécutez les commandes ci-dessus sur les deux nœuds de travail.

Vérifiez l'état des deux nœuds de travail à partir du plan de contrôle, exécutez

 [[[[e-mail protégé] ~] $ kubectl Obtenez des nœudsName Statut Status Status Status Status Statut Plan de contrôle de l'AgeControl-Nœud Ready Plan, Master 49m V1.23.4worker-Node1 Ready  5m18s v1.23.4 Travail-Node2 Prêt  3M57S V1 .23.4[[email protected] ~]$

Génial, la sortie ci-dessus confirme que les nœuds de travail ont rejoint le cluster. C'est tout de ce guide, j'espère que vous avez trouvé ce guide informatif. Veuillez partager vos questions et vos commentaires dans la section des commentaires ci-dessous.


No
Rocky Linux
  1. Comment installer MariaDB 10.6 sur Rocky Linux 8

  2. Comment installer Docker sur Rocky Linux 8

  3. Comment installer Cockpit sur Rocky Linux 8

  4. Comment installer GitLab sur Rocky Linux 8

  5. Comment installer MariaDB sur Rocky Linux 8

Comment installer Joomla sur Rocky Linux 8

Comment installer Fail2ban sur Rocky Linux 8

Comment installer ImageMagick sur Rocky Linux 8

Comment installer Spotify sur Rocky Linux 8

Comment installer Grafana sur Rocky Linux 8

Comment installer Netdata sur Rocky Linux 8