GNU/Linux >> Tutoriels Linux >  >> AlmaLinux

Installer le cluster Kubernetes à l'aide de Kubeadm dans RHEL, CentOS, AlmaLinux, Rocky Linux

Dans cet article, nous allons en savoir plus sur l'installation du cluster Kubernetes à l'aide de Kubeadm dans RHEL 8, et ses clones comme AlmaLinux 8, CentOS 8 et Rocky Linux 8.

Avant de vous lancer, vous devez avoir une compréhension de base des concepts et de l'architecture de Kubernetes . Dans cet article, nous allons démontrer un cluster à deux nœuds.

Pour procéder à l'installation, nous avons besoin des exigences de base mentionnées ci-dessous.

  • Minimum 2 hôtes.
  • 2 processeurs.
  • 2 Go de mémoire physique (RAM).
  • 20 Go d'espace disque.
  • Connexion Internet pour télécharger les packages.

1. Configurer le nom d'hôte et l'adresse IP

Définissez le nom d'hôte et configurez les hôtes dans Master et Workers. Le fichier hosts du système d'exploitation est utilisé pour convertir les noms d'hôte ou les noms de domaine en adresses IP.

Ici, nous allons avoir deux hôtes :

  • Ostechmaster - Maître
  • Ostechworker - Ouvrier

Utilisez la commande ci-dessous pour définir le nom d'hôte, un redémarrage est nécessaire après la définition du nom d'hôte.

# hostnamectl set-hostname ostechmaster

Modifier /etc/hosts fichier :

# vi /etc/hosts

Ajoutez le nom d'hôte et l'adresse IP du serveur et du client dans le /etc/hosts fichier :

Faites un test ping pour vous assurer de la connectivité :

[[email protected] ~]# ping ostechworkerPING ostechworker (172.31.5.141) 56(84) bytes of data.64 bytes from ostechworker (172.31.5.141):icmp_seq=1 ttl=64 time=0.472 ms64 bytes from ostechworker (172.31.5.141):icmp_seq=2 ttl=64 time=0.492 ms64 bytes de ostechworker (172.31.5.141):icmp_seq=3 ttl=64 time=1.43 ms64 bytes de ostechworker (172.31.5.141):icmp_seq=4 ttl=64 temps=0.425 ms

2. Désactiver SElinux

Désactivez SElinux dans Master et Workers, afin que tous les conteneurs puissent accéder facilement au système de fichiers hôte si SElinux est désactivé.
Faire 'SELINUX=disabled ' dans le fichier de configuration /etc/selinux/config en utilisant l'éditeur vi. Un redémarrage est nécessaire pour refléter le changement de SElinux.

[[email protected] ~]# vi /etc/selinux/config

Assurez-vous de l'état de SElinux à l'aide de la commande ci-dessous.

[[email protected] ~]# sestatusStatut SELinux :désactivé

3. Désactiver l'échange dans Master et Worker

Swap doit être désactivé sur tous les hôtes Kubernetes (maître et travailleurs). Il s'agit de la méthode de déploiement préférée de la communauté Kubernetes. Le service kubelet ne démarrera pas sur le maître et les nœuds de calcul si l'échange n'est pas désactivé.

Exécutez la commande ci-dessous pour désactiver SWAP :

[[email protected] ~]# swapoff -a &&sed -i '/swap/d' /etc/fstab

4. Autoriser les ports requis dans le pare-feu

Pour que les composants Kubernetes interagissent entre eux, certains ports essentiels doivent être disponibles. Vous trouverez ci-dessous les ports à ouvrir pour bénéficier de la connectivité entre les composants Kubernetes.

Plan de contrôle/Serveur maître :

Protocole Direction Plage de ports Objectif Utilisé par
TCP Entrant 6443 Serveur d'API Kubernetes Tous
TCP Entrant 2379-2380 API client du serveur etcd kube-apiserver, etcd
TCP Entrant 10250 API Kubelet Soi, plan de contrôle
TCP Entrant 10259 kube-scheduler Moi
TCP Entrant 10257 kube-controller-manager Moi

Nœuds de travail :

Protocole Direction Plage de ports Objectif Utilisé par
TCP Entrant 10250 API Kubelet Soi, plan de contrôle
TCP Entrant 30000-32767 Services NodePort Tous

Pour autoriser les ports requis via le pare-feu, exécutez les commandes suivantes.

Nœud maître :

[[email protected] ~]# firewall-cmd --permanent --add-port=6443/tcp
[[email protected] ~]# firewall-cmd --permanent --add-port=2379-2380/tcp
[[email protected] ~]# firewall-cmd --permanent --add-port=10250/tcp
[[email protected] ~]# firewall-cmd --permanent --add-port=10251/tcp
[[email protected] ~]# firewall-cmd --permanent --add-port=10259/tcp
[[email protected] ~]# firewall-cmd --permanent --add-port=10257/tcp
[[email protected] ~]# firewall-cmd --reload

Nœud de travail :

[[email protected] ~]# firewall-cmd --permanent --add-port=10250/tcp
[[email protected] ~]# firewall-cmd --permanent --add-port=30000-32767/tcp
[[email protected] ~]# firewall-cmd --reload

Nous désactivons le pare-feu dans Master et Worker car c'est à des fins de démonstration. Cependant, il n'est pas recommandé pour les pratiques de production en temps réel.

Utilisez les commandes ci-dessous pour arrêter et désactiver le pare-feu.

[[email protected] ~]# systemctl stop firewalld
[[email protected] ~]# systemctl désactiver le pare-feu

5. Installer Docker

Docker permet de "construire" plus facilement des conteneurs, alors que Kubernetes permet de les "gérer" en temps réel. Pour empaqueter et expédier le logiciel, utilisez Docker. Pour lancer et faire évoluer votre application, utilisez Kubernetes.

Ajoutez un référentiel docker dans toutes les machines du cluster.

Créez le fichier nommé docker.repo sous /etc/yum.repos.d/ répertoire :

[[email protected] ~]# vi /etc/yum.repos.d/docker.repo

Ajoutez-y les lignes suivantes :

[docker]baseurl=https://download.docker.com/linux/centos/8/x86_64/stable/gpgcheck=0

Appuyez sur la touche ESC et tapez :wq pour enregistrer le fichier et le fermer.

Installez docker dans les nœuds maître et travailleur :

# yum -y install docker-ce

Une fois installé, activez et démarrez le Docker sur les deux nœuds :

# systemctl enable docker
# systemctl start docker

Vérifiez et assurez-vous que Docker est en cours d'exécution sur les deux machines.

# menu fixe d'état systemctl

6. Installer Kubernetes

Ajoutez le référentiel Kubernetes dans Master et Worker.

Créez le fichier kubernetes.repo dans Master et worker sous /etc/yum.repos.d/ répertoire :

# vi /etc/yum.repos.d/kubernetes.repo

Ajoutez les lignes suivantes :

[kubernetes]name=Kubernetesbaseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=https://packages.cloud.google.com/ yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg

Appuyez sur ESC et tapez :wq pour enregistrer le fichier et le fermer.

Installez kubeadm, kubelet, kubectl dans les nœuds maître et travailleur à l'aide de la commande ci-dessous :

# yum install -y kubelet kubeadm kubectl --disableexcludes=Kubernetes

Activer et démarrer le kubelet service dans les deux machines :

# systemctl enable kubelet
# systemctl start kubelet

Vérifiez l'état du service Kubelet et assurez-vous qu'il fonctionne correctement sur les deux machines.

# kubelet d'état systemctl

7. Initialiser le Kubernetes

Utilisez la commande ci-dessous pour initialiser Kubernetes dans le serveur maître

[[email protected] ~]# kubeadm init

Vous obtiendrez la sortie ci-dessous indiquant que le plan de contrôle Kubernetes a été initialisé avec succès. Et certaines étapes seront mentionnées pour commencer à utiliser le cluster, suivez cela.

Copiez et enregistrez également le 'kubeadm join' commande à partir de la sortie, elle sera utilisée pour joindre le nœud de travail dans le cluster.

Exemple de résultat :

Votre plan de contrôle Kubernetes a été initialisé avec succès ! Pour commencer à utiliser votre cluster, vous devez exécuter ce qui suit en tant qu'utilisateur normal :mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id - u):$(id -g) $HOME/.kube/configAlternativement, si vous êtes l'utilisateur root, vous pouvez exécuter : export KUBECONFIG=/etc/kubernetes/admin.conf Vous devez maintenant déployer un réseau de pods sur le cluster. Exécutez "kubectl apply -f [podnetwork].yaml" avec l'une des options répertoriées sur :https://kubernetes.io/docs/concepts/cluster-administration/addons/Then Vous pouvez rejoindre n'importe quel nombre de nœuds de travailleurs en exécutant ce qui suit sur chacun comme racine: kubeadm rejoignez 172.31.10.29:6443 --Token 220TVJ.051BKEYJ5TG6V55R \ --DISCOVERY-TOKKE-CA-CER-HASH SHA256:434C49C7969256A7FAE38880B340202CDDDDDDDDDDDDDDDDDDDDDDIC31 fort> 

Puisque nous procédons avec root utilisateur, exécutez la commande ci-dessous dans le serveur maître comme mentionné dans la sortie ci-dessus.

[[email protected] ~]# export KUBECONFIG=/etc/kubernetes/admin.conf

8. Configurer le réseau POD

Un réseau Kubernetes Pod est un réseau de composants interconnectés dans Kubernetes. Ce concept de réseau peut être mis en œuvre de plusieurs manières différentes. Dans notre démonstration, nous allons utiliser 'Weave Net' .

Exécutez les commandes ci-dessous dans le serveur maître pour configurer le réseau POD.

[[email protected] ~]# export kubever=$(kubectl version | base64 | tr -d '\n')
[[email protected] ~]# kubectl apply -f https://cloud.weave.works/k8s/net?k8s-version=$kubever

Exemple de résultat :

serviceaccount/weave-net createdclusterrole.rbac.authorization.k8s.io/weave-net createdclusterrolebinding.rbac.authorization.k8s.io/weave-net createdrole.rbac.authorization.k8s.io/weave-net createdrolebinding.rbac .authorization.k8s.io/weave-net créédaemonset.apps/weave-net créé[[email protected] ~]#

9. Rejoignez le nœud de travail

Exécutez le 'kubeadm join ' pour joindre le noeud worker dans le cluster. C'est la commande que nous avons copiée de 'kubeadm init ' sortie.

[[email protected] ~]# kubeadm join 172.31.10.29:6443 --token 220tvj.051bkeyj5tg6v55r --discovery-token-ca-cert-hash sha256:434c49c7969256a7fae3880b340202cadd4fd6e29d3d381ab3  

Vous pouvez vérifier le nœud dans le serveur maître à l'aide de la commande ci-dessous

# kubectl get nodes

Exemple de résultat :

NOM STATUT RÔLES ÂGE VERSIONostechmaster Ready control-plane,master 32m v1.23.1ostechworker Ready  30m v1.23.1

Conclusion

Dans cet article, nous avons vu les étapes détaillées pour installer et configurer Kubernetes Cluster à l'aide de Kubeadm. Reportez-vous à notre précédente série kubernetes articles pour avoir une compréhension détaillée de l'architecture et des concepts de Kubernetes. Nous verrons les opérations Kubernetes dans les prochains articles.

Lire la suite :

  • Comment créer et gérer des pods Kubernetes sous Linux

Ressource :

  • https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/

AlmaLinux
  1. AlmaLinux contre Rocky Linux

  2. Comment installer le cluster Kubernetes sur Rocky Linux 8

  3. Comment installer PostgreSQL sur CentOS 8 / Rocky Linux 8 / RHEL 8

  4. Comment installer Java sur Rocky Linux 8 / CentOS 8 / RHEL 8

  5. Comment installer Erlang sur Rocky Linux/Alma Linux/CentOS 8

Comment installer MongoDB dans RHEL, CentOS, Rocky et AlmaLinux

Comment installer MusicBrainz Picard sur RHEL | CentOS | Rocheux Linux

Installer Dig sur AlmaLinux 8 / Rocky Linux

Comment installer GIMP sur AlmaLinux 8 / Rocky Linux 8

Comment installer Git sur Almalinux ou Rocky Linux 8

Installer LXC (conteneurs Linux) dans RHEL, Rocky et AlmaLinux