GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer un cluster Kubernetes sur CentOS 7

Présentation

Petits environnements virtuels, appelés conteneurs , sont devenus indispensables pour développer et gérer des applications.

Travailler sur des applications dans un conteneur isolé n'affecte pas le système d'exploitation hôte. Les conteneurs sont plus efficaces que les machines virtuelles car ils n'ont pas besoin de leur système d'exploitation.

Kubernetes est une plate-forme open source qui vous aide à déployer, mettre à l'échelle et gérer des ressources sur plusieurs conteneurs.

Suivez ce tutoriel et découvrez comment installer Kubernetes sur un système CentOS 7.

Prérequis

  • Plusieurs serveurs Linux exécutant CentOS 7 (1 nœud maître, plusieurs nœuds de travail)
  • Un compte utilisateur sur chaque système avec sudo ou privilèges root
  • Le miam gestionnaire de paquets, inclus par défaut
  • Ligne de commande/fenêtre de terminal

Étapes d'installation de Kubernetes sur CentOS 7

Pour utiliser Kubernetes, vous devez installer un moteur de conteneurisation . Actuellement, la solution de conteneur la plus populaire est Docker . Docker doit être installé sur CentOS, les deux sur le nœud maître et les nœuds de travail.

Étape 1 :Configurer le référentiel Kubernetes

Les packages Kubernetes ne sont pas disponibles dans les référentiels CentOS 7 officiels. Cette étape doit être effectuée sur le nœud maître et sur chaque nœud de travail que vous prévoyez d'utiliser pour la configuration de votre conteneur. Entrez la commande suivante pour récupérer les référentiels Kubernetes.

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF

Étape 2 :Installez kubelet , kubeadm , et kubectl

Ces 3 packages de base sont nécessaires pour pouvoir utiliser Kubernetes. Installez le(s) package(s) suivant(s) sur chaque nœud :

sudo yum install -y kubelet kubeadm kubectl
systemctl enable kubelet
systemctl start kubelet

Vous avez maintenant installé avec succès Kubernetes, y compris ses outils et ses packages de base.

Avant de déployer un cluster, assurez-vous de définir les noms d'hôte, de configurer le pare-feu et les paramètres du noyau.

Étape 3 :Définir le nom d'hôte sur les nœuds

Pour donner un nom d'hôte unique à chacun de vos nœuds, utilisez cette commande :

sudo hostnamectl set-hostname master-node

ou

sudo hostnamectl set-hostname worker-node1

Dans cet exemple, le nœud maître est maintenant nommé nœud-maître, tandis qu'un nœud travailleur est nommé nœud-travailleur1.

Créez une entrée d'hôte ou un enregistrement DNS pour résoudre le nom d'hôte de tous les nœuds :

sudo vi /etc/hosts

Avec l'entrée :

192.168.1.10 master.phoenixnap.com master-node
192.168.1.20 node1. phoenixnap.com node1 worker-node

Étape 4 :Configurer le pare-feu

Les nœuds, les conteneurs et les pods doivent pouvoir communiquer à travers le cluster pour exécuter leurs fonctions. Firewalld est activé dans CentOS par défaut sur le front-end. Ajoutez les ports suivants en saisissant les commandes répertoriées.

Sur le nœud maître, entrez :

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 --permanent --add-port=10255/tcp
sudo firewall-cmd --reload

Chaque fois qu'un port est ajouté, le système confirme avec un message de "succès".

Saisissez les commandes suivantes sur chaque noeud worker :

sudo firewall-cmd --permanent --add-port=10251/tcp
sudo firewall-cmd --permanent --add-port=10255/tcp
firewall-cmd --reload

Étape 5 :Mettre à jour les paramètres Iptables

Définissez le net.bridge.bridge-nf-call-iptables à '1' dans votre fichier de configuration sysctl. Cela garantit que les paquets sont correctement traités par les tables IP lors du filtrage et du transfert de port.

cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

Étape 6 :Désactiver SELinux

Les conteneurs doivent accéder au système de fichiers hôte. SELinux doit être réglé sur le mode permissif, ce qui désactive efficacement ses fonctions de sécurité.

Utilisez les commandes suivantes pour désactiver SELinux :

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

Étape 7 :Désactiver SWAP

Enfin, nous devons désactiver SWAP pour permettre au kubelet de fonctionner correctement :

sudo sed -i '/swap/d' /etc/fstab
sudo swapoff -a

Comment déployer un cluster Kubernetes

Étape 1 :Créer un cluster avec kubeadm

Initialisez un cluster en exécutant la commande suivante :

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

Le processus peut prendre plusieurs minutes en fonction de la vitesse du réseau. Une fois cette commande terminée, elle affiche un message de jointure kubeadm. Notez l'entrée et utilisez-la pour joindre ultérieurement les nœuds de travail au cluster.

Étape 2 :Gérer le cluster en tant qu'utilisateur standard

Pour commencer à utiliser le cluster, vous devez l'exécuter en tant qu'utilisateur normal en tapant :

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

Étape 3 :Configurer le réseau de pods

Un réseau de pods permet aux nœuds du cluster de communiquer. Il existe plusieurs options de mise en réseau Kubernetes disponibles. Utilisez la commande suivante pour installer la flanelle Module complémentaire de réseau de pod :

sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Si vous décidez d'utiliser la flanelle, modifiez vos règles de pare-feu pour autoriser le trafic pour le port par défaut de la flanelle 8285 .

Étape 4 :Vérifier l'état du cluster

Vérifiez l'état des nœuds en saisissant la commande suivante sur le serveur maître :

sudo kubectl get nodes

Une fois qu'un réseau de pods a été installé, vous pouvez confirmer qu'il fonctionne en vérifiant que le pod CoreDNS est en cours d'exécution en tapant :

sudo kubectl get pods --all-namespaces

Étape 5 :Joindre le nœud de travail au cluster

Comme indiqué à l'Étape 1 , vous pouvez utiliser la jointure kubeadm join commande sur chaque nœud de travail pour le connecter au cluster.

kubeadm join --discovery-token cfgrty.1234567890jyrfgd --discovery-token-ca-cert-hash sha256:1234..cdef 1.2.3.4:6443

Remplacez les codes par ceux de votre serveur maître. Répétez cette action pour chaque noeud worker de votre cluster.


Cent OS
  1. Comment installer Vagrant sur CentOS 7

  2. Comment installer Gitea sur CentOS 8

  3. Comment installer Memcached sur CentOS 8

  4. Comment installer Nginx sur CentOS 7

  5. Comment installer ownCloud sur CentOS 8

Comment installer un cluster Kubernetes Docker sur CentOS 7

Comment installer Zoom sur CentOS 8

Comment installer Nethogs sur CentOS

Comment installer Yourls dans CentOS 8

Comment installer Kubernetes sur CentOS 8

Comment installer le cluster Kubernetes sur CentOS 8