Comment installer un cluster Kubernetes sur Centos 7

Comment installer un cluster Kubernetes sur Centos 7

Donné par Google à la communauté OpenSource, Kubernetes est maintenant devenu l'outil de gestion des conteneurs de choix. Il peut gérer et orchestrer non seulement les temps de course docker, mais aussi les conteneurs et Rkt temps de course.

Un typique Kubernetes Le cluster aurait généralement un nœud maître et plusieurs nodes de travail ou de serviteurs. Les nodes de travail sont ensuite gérées à partir du nœud maître, garantissant ainsi que le cluster est géré à partir d'un point central.

Il est également important de mentionner que vous pouvez également déployer un cluster Kubernetes à un nœud qui est généralement recommandé pour des charges de travail très légères et non produites. Pour cela, vous pouvez utiliser Minikube, qui est un outil qui exécute un cluster Kubernetes à un nœud dans une machine virtuelle sur votre nœud.

Lecture recommandée: Comment installer un cluster Kubernetes sur Centos 8

Pour ce tutoriel, nous parcourons un multi-nœuds Kubernetes Installation de cluster sur Centos 7 Linux. Ce tutoriel est basé sur la ligne de commande, vous aurez donc besoin d'accéder à votre fenêtre de terminal.

Conditions préalables

  1. Plusieurs serveurs en cours d'exécution Centos 7 (1 nœud maître, 2 nœuds de travailleur). Il est recommandé que votre Nœud maître ont au moins 2 CPU, bien que ce ne soit pas une exigence stricte.
  2. Connectivité Internet sur tous vos nœuds. Nous allons chercher Kubernetes et docker packages du référentiel. De même, vous devrez vous assurer que le gestionnaire de packages YUM est installé par défaut et peut récupérer les packages à distance.
  3. Vous aurez également besoin d'accéder à un compte avec sudo ou privilèges racine. Dans ce tutoriel, j'utiliserai mon compte racine.

Notre cluster à 3 nœuds ressemblera à ceci:

Diagramme de cluster Kubernetes

Installation du cluster Kubernetes sur le nœud maître

Pour Kubernetes Pour travailler, vous aurez besoin d'un moteur de contenerisation. Pour cette installation, nous utiliserons docker car c'est le plus populaire.

Les étapes suivantes fonctionneront sur le Maître-nœud.

Étape 1: Préparez le nom d'hôte, le pare-feu et le selinux

Sur votre nœud maître, définissez le nom d'hôte et si vous n'avez pas de serveur DNS, mettez également à jour votre / etc / hôtes déposer.

# hostNamectl set-hostname-node # Cat <> / etc / hosts 10.128.0.27 maître-nœud 10.128.0.29 Node-1 Worker-node-1 10.128.0.30 Node-2 Worker-node-2 EOF 

Vous pouvez ping travailleur-node-1 et travailleur-node-2 pour tester si votre hôte mis à jour est bien en utilisant la commande ping.

# ping 10.128.0.29 # ping 10.128.0.30 

Ensuite, désactiver Selinux et mettez à jour vos règles de pare-feu.

# setenForce 0 # sed -i --suposlo-symLinks's / selinux = application / selinux = handicap / g '/ etc / sysconfig / selinux # redémarrage 

Définissez les règles du pare-feu suivant sur les ports. Assurez-vous que chaque commande de pare-feu-CMD renvoie un succès.

# Firewall-CMD --permanent --add-port = 6443 / TCP # Firewall-CMD --permanent --add-port = 2379-2380 / TCP # Firewall-CMD --permanent --add-port = 10250 / TCP # Firewall-CMD --permanent --add-port = 10251 / TCP # Firewall-CMD --permanent --add-port = 10252 / TCP # Firewall-CMD --permanent --Add-Port = 10255 / TCP # Firewall. -cmd -reload # modprobe br_netfilter # echo '1'> / proc / sys / net / pont / pont-nf-call-iptables 

Étape 2: Configuration du repo Kubernetes

Vous devrez ajouter Kubernetes référentiels manuellement car ils ne sont pas installés par défaut sur Centos 7.

chat < /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 3: Installez Kubeadm et Docker

Avec le package Repo maintenant prêt, vous pouvez aller de l'avant et installer kubeadm et docker paquets.

# yum install kubeadm docker -y 

Lorsque l'installation se termine avec succès, activez et démarrez les deux services.

# SystemCTL Activer Kublet # SystemCTL Démarrer Kublet # SystemCTL Activer Docker # SystemCTl Start Docker 

Étape 4: Initialiser Kubernetes Master et Configuration de l'utilisateur par défaut

Maintenant, nous sommes prêts à initialiser le maître de Kubernetes, mais avant cela, vous devez désactiver l'échange pour exécuter "Kubeadm init" commande.

# swapoff -a 

L'initialisation du maître de Kubernetes est un processus entièrement automatisé qui est géré par le «Kubeadm init«Commande que vous exécuterez.

# kubeadm init 
Initialiser le maître de Kubernetes

Vous voudrez peut-être copier la dernière ligne et l'enregistrer quelque part car vous devrez l'exécuter sur le nœuds de travailleur.

kubeadm join 10.128.0.27: 6443 - Nu06LU-Token.XRSUX0SS0IXTNMS5 \ --DISCOVERY-TOKING-CA-CERT-HASH SHA256: F996EA3564E6A07FDEA2997A1CF8CAEDDAFD6D4360D606DBC82314688425CD41 

Conseil: Parfois, cette commande pourrait se plaindre du arguments (args) passé, alors modifiez-le pour éviter toute erreur. Donc, vous supprimerez le '\' personnage accompagnant le --jeton Et votre commande finale ressemblera à ceci.

kubeadm join 10.128.0.27: 6443 - Nu06LU-Token.XRSUX0SS0IXTNMS5 - Discovery-Token-CA-CERT-HASH SHA256: F996EA3564E6A07FDEA2997A1CF8CAEDDAFD6D4360D606DBC82314688425CD41 

Ayant initialisé Kubernetes avec succès, vous devrez permettre à votre utilisateur de commencer à utiliser le cluster. Dans notre cas, nous voulons exécuter cette installation comme racine Utilisateur, donc nous allons aller de l'avant et exécuter ces commandes comme racine. Vous pouvez passer à un utilisateur compatible ADO que vous préférez et exécuter ce qui précède en utilisant Sudo.

Utiliser racine, courir:

# mkdir -p $ home /.kube # cp -i / etc / kubernetes / admin.Conf $ home /.kube / config # chown $ (id -u): $ (id -g) $ home /.kube / config 

Pour utiliser un utilisateur compatible Sudo, courir:

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

Maintenant, vérifiez si le kubectl La commande est activée.

# kubectl obtenir des nœuds 
Vérifier l'état des nœuds

À ce stade, vous remarquerez également que le statut du maître-nœud est 'Pas prêt'. C'est parce que nous n'avons pas encore déployé le réseau de poche au cluster.

Le réseau de poche est le réseau de superposition pour le cluster, qui est déployé au-dessus du réseau de nœuds actuel. Il est conçu pour permettre la connectivité à travers le pod.

Étape 5: Configurez votre réseau de pod

Le déploiement du cluster de réseau est un processus très flexible en fonction de vos besoins et il existe de nombreuses options disponibles. Puisque nous voulons garder notre installation aussi simple que possible, nous utiliserons Tire Plugin qui ne nécessite aucune configuration ou code supplémentaire et il fournit une adresse IP par pod, ce qui est idéal pour nous. Si vous souhaitez voir plus d'options, veuillez vérifier ici.

Ces commandes seront importantes pour obtenir la configuration du réseau POD.

# Export Kubever = $ (version kubectl | Base64 | tr -d '\ n') # kubectl applique -f "https: // cloud.tisser.œuvres / k8s / net?K8S-Version = $ kubever " 
Configuration du réseau POD

Maintenant si vous vérifiez l'état de votre maître-nœud, ça devrait être 'Prêt'.

# kubectl obtenir des nœuds 
Vérifier l'état des nœuds maîtres

Ensuite, nous ajoutons le nœuds de travailleur au cluster.

Configuration des nœuds de travail pour rejoindre le cluster Kubernetes

Les étapes suivantes fonctionneront sur le nœuds de travailleur. Ces étapes doivent être exécutées sur chaque nœud de travailleur Lorsque vous rejoignez le Kubernetes grappe.

Étape 1: Préparez le nom d'hôte, le pare-feu et le selinux

Sur ton travailleur-node-1 et travailleur-node-2, Définissez le nom d'hôte et au cas où vous n'avez pas de serveur DNS, puis mettez également à jour vos nœuds maître et travailleur / etc / hôtes déposer.

# hostNamectl set-hostname 'node-1' # chat <> / etc / hosts 10.128.0.27 maître-nœud 10.128.0.29 Node-1 Worker-node-1 10.128.0.30 Node-2 Worker-node-2 EOF 

Vous pouvez ping maître-nœud pour tester si votre hôte mis à jour est bien.

Ensuite, désactiver Selinux et mettez à jour vos règles de pare-feu.

# setenForce 0 # sed -i - soupçon de SymLinks / selinux = application / selinux = désactivé / g '/ etc / sysconfig / selinux 

Définissez les règles du pare-feu suivant sur les ports. Assurez-vous que toutes les commandes de pare-feu-CMD, renvoyez le succès.

# Firewall-CMD --permanent --add-port = 6783 / TCP # Firewall-CMD --permanent --add-port = 10250 / TCP # Firewall-CMD --permanent --add-port = 10255 / TCP # Firewallall -CMD --permanent --add-port = 30000-32767 / TCP # Firewall-CMD - Reload # Echo '1'> / Proc / Sys / Net / Bridge / Bridge-NF-Call-iptables 

Étape 2: Configuration du repo Kubernetes

Vous devrez ajouter Kubernetes les référentiels manuellement car ils ne sont pas préinstallés Centos 7.

chat < /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 3: Installez Kubeadm et Docker

Avec le package Repo maintenant prêt, vous pouvez aller de l'avant et installer kubeadm et docker paquets.

# yum install kubeadm docker -y 

Démarrer et activer les deux services.

# SystemCTL Activer docker # systemctl start docker # systemctl activer kublet # systemctl start kubelet 

Étape 4: Rejoignez le nœud des travailleurs au cluster Kubernetes

Nous avons maintenant besoin du jeton qui kubeadm initié, pour rejoindre le cluster. Vous pouvez le copier et le coller à votre nœud-1 et nœud-2 Si tu l'avais copié quelque part.

# kubeadm join 10.128.0.27: 6443 - Nu06LU-Token.XRSUX0SS0IXTNMS5 - Discovery-Token-CA-CERT-HASH SHA256: F996EA3564E6A07FDEA2997A1CF8CAEDDAFD6D4360D606DBC82314688425CD41 
Rejoignez les nœuds au cluster Kubernets

Comme suggéré sur la dernière ligne, retournez à votre maître-nœud et vérifiez si Node de travailleur-1 et Node de travailleur-2 ont rejoint le cluster en utilisant la commande suivante.

# kubectl obtenir des nœuds 
Vérifiez l'état de tous les nœuds dans le cluster de Kubernetes

Si toutes les étapes fonctionnent avec succès, alors, vous devriez voir nœud-1 et nœud-2 en statut prêt sur le maître-nœud.

Lecture recommandée: Comment déployer Nginx sur un cluster Kubernetes

À ce stade, nous avons réussi à terminer une installation d'un Kubernetes se regrouper Centos 7 Et nous avons réussi à embarquer deux nodes de travailleur. Vous pouvez maintenant commencer à créer vos pods et à déployer vos services.