Comment installer Kubernetes sur Ubuntu 18.04 Bionic Beaver Linux

Comment installer Kubernetes sur Ubuntu 18.04 Bionic Beaver Linux

Objectif

L'objectif est d'installer Kubernetes sur Ubuntu 18.04 Bionic Beaver Linux

Système d'exploitation et versions logicielles

  • Système opérateur: - Ubuntu 18.04 Bionic Beaver Linux
  • Logiciel: - Kubernetes v1.dix.0

Exigences

Accès privilégié à votre système Ubuntu comme root ou via Sudo La commande est requise.

Scénario

Dans ce guide, nous configurerons le cluster Kubernetes le plus simple possible composé de deux nœuds. Le premier nœud avec nom d'hôte kubernetes-master agira comme le nœud maître.

Le deuxième nœud avec nom d'hôte kubernetes-master Rangue également Ubuntu 18.04 sera un nœud esclave en train de rejoindre le cluster Kuberneets. Une fois que nous aurons le cluster Kubernetes en cours d'exécution en tant que preuve de concept, nous déploierons un conteneur de serveur Nginx.

Conventions

  • # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
  • $ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Autres versions de ce tutoriel

Ubuntu 20.04 (Focal Fossa)

Instructions

Installer Docker

La première étape consiste à installer Docker sur chaque nœud. Cela comprend à la fois les nœuds maître et esclaves. Exécutez la commande Linux suivante pour installer Docker sur tous vos nœuds Kubernetes:

$ sudo apt install docker.Io 

Une fois le Docker installé, assurez-vous qu'il est permis de démarrer après le redémarrage:

$ sudo systemctl activer docker 

Installer Kubernetes

À ce stade, nous sommes prêts à installer Kubernetes. Encore une fois, nous devons installer Kubernetes sur tous les nœuds. Exécutez la commande ci-dessous sur tous les nœuds (Master & Slave) pour installer Kubernetes:

Commençons par ajouter la clé de signature de Kubernetes:

$ curl -s https: // packages.nuage.Google.com / apt / doc / apt-key.GPG | sudo apt-key ajouter 

Ensuite, ajoutez le référentiel Kubernetes et installez Kubernetes:

NOTE: Au moment de la rédaction, seul Ubuntu 16.04 Le référentiel Xenial Kubernetes est disponible. Remplacez l'informatique xenial avec bionique nom de code une fois l'Ubuntu 18.04 Le référentiel de Kubernetes devient disponible.

$ sudo apt-add-repository "deb http: // apt.kubernetes.IO / Kubernetes-Xenial Main "$ sudo apt install kubeadm 

Kubernetes refusera de fonctionner si votre système utilise la mémoire d'échange, donc nous devons désactiver la mémoire d'échange sur tous vos nœuds (maître et esclave):

$ sudo swapoff -a 


Ensuite, assurez-vous que tous vos nœuds ont un nom d'hôte unique. Ainsi, si vous ne l'avez pas encore fait définir le nom d'hôte sur vos nœuds. Dans notre scénario, nous définirons le nœud maître avec le kubernetes-master nom d'hôte:

$ sudo hostnamectl set-hostname kubernetes-master 

et le nœud esclave avec le kubernetes-master nom d'hôte:

$ sudo hostnamectl set-hostname kubernetes-slave 

Enfin, il convient de mentionner que tous vos nœuds devraient avoir une heure et une date précises, sinon vous rencontrerez des problèmes avec des certificats TLS invalides.

Initialiser Kubernetes Master Server

Maintenant, nous sommes prêts à initialiser le nœud maître Kubernetes. Pour ce faire, exécutez la commande Linux suivante sur votre nœud maître:

kubernetes-master: ~ $ sudo kubeadm init --pod-network-cidr = 10.244.0.0/16 
Kubernetes sur Ubuntu 18.04 Le nœud maître est maintenant initialisé.

Prenez note de l'ensemble kubeadm join Commande en bas de la sortie d'initialisation du nœud maître Kubernetes ci-dessus, car vous utiliserez cette commande plus tard lorsque vous rejoignerez le cluster Kubernetes avec vos nœuds esclaves.

Ensuite, comme la sortie d'initialisation du nœud maître de Kubernetes l'a suggéré exécuter les commandes ci-dessous en tant qu'utilisateur ordinaire pour commencer à utiliser le cluster Kubernetes:

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

Déployer un réseau de pod

La prochaine étape consiste à déployer un réseau de pod. Le réseau POD est utilisé pour la communication entre les nœuds dans le cluster Kubernetes. Pour cela, nous utiliserons le réseau Flannel Pod:

kubernetes-master: ~ $ kubectl appliquer -f https: // brut.githubusercontent.com / coreos / flannel / maître / documentation / kube-flannel.YML 

Selon votre environnement, il peut prendre quelques secondes ou une minute pour faire monter l'ensemble du réseau de flanelle. Utilisez le kubectl commande pour confirmer que tout est en place:

kubernetes-master: ~ $ kubectl get pods - all-namespaces 
Réseau de pod en flanelle déployé. En cas de succès, vous devriez voir votre sortie similaire à celle ci-dessus.

Rejoignez le cluster de Kubernetes

Tout devrait maintenant être prêt pour que notre (s) nœud (s) rejoigne le cluster Kubernetes. Utilisez le kubeadm join Commande récupérée plus tôt à partir de la sortie d'initialisation du nœud maître de Kubernetes pour rejoindre votre cluster Kubernetes:

Kubernetes-Slave: ~ $ sudo kubeadm join 10.1.1.9: 6443 - QDJNPD-TOKIN.5GLU39UXR92XARSJ - Discovery-Token-CA-CERT-HASH SHA256: ED0684156C718CAF425CEAE6C85A56C05F7B49037CDE3A2F1FD57430A4F58F89 
Le nœud esclave a réussi à rejoindre notre cluster Kubernetes.

Sur votre nœud maître Kubernetes, confirmez que le nœud Kubernetes-Slave fait maintenant partie de notre cluster Kubernetes:

kubernetes-master: ~ $ kubectl obtenir des nœuds 
Liste de tous les nœuds Kubernetes rejoints.

Déploiement d'un service sur le cluster Kubernetes

Comme preuve de concept, nous allons maintenant déployer un serveur Nginx dans notre nouveau cluster Kubernetes. Maintenant, exécutez les deux commandes suivantes sur votre nœud maître:

kubernetes-master: ~ $ kubectl run --image = nginx nginx-server --port = 80 --env = "domain = cluster" kubernetes-master: ~ $ kubectl exposition déploiement nginx-server --port = 80 --name = nginx-http 

Vous devriez maintenant voir un nouveau conteneur Nginx Docker déployé sur votre nœud esclave:

Kubernetes-Slave: ~ $ sudo docker ps 
Le nouveau conteneur Docker Nginx est opérationnel sur le nœud esclave de Kubernetes.

Pour confirmer que notre nouveau service Nginx est en cours d'exécution tous les services disponibles sur votre nœud maître et utilisez le boucle Commande pour effectuer une demande HTTP sur votre cluster IP:

kubernetes-master: ~ $ kubectl get svc kubernetes-master: ~ $ curl -i 10.101.230.239 
Service Nginx sur Ubuntu 18.04 Kubernetes Cluster

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Comment installer Kubernetes sur Ubuntu 20.04 Focal Fossa Linux
  • Comment installer Kubernetes sur Ubuntu 22.04 Jammy Jellyfish…
  • Comment créer un cluster Kubernetes
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Choses à installer sur Ubuntu 22.04
  • Choses à faire après l'installation d'Ubuntu 22.04 Jammy Jellyfish…
  • Ubuntu 20.04 Guide
  • Ubuntu 22.04 Guide
  • Ubuntu 20.04 astuces et choses que vous ne savez peut-être pas