Kubernetes

Configurer un cluster Kubernetes sur DigitalOcean

Configurer un cluster Kubernetes sur DigitalOcean

Kubernetes est l'une des rares technologies avec lesquelles les gens ont du mal non pas parce qu'elle est compliquée et difficile à comprendre, mais parce qu'elle est conçue pour fonctionner sur du matériel de qualité serveur et ne peut pas être facilement simulée sur un ordinateur domestique typique aussi facilement. Heureusement, il existe une variété de plates-formes hébergées dans le cloud qui fournissent une infrastructure abordable pour expérimenter et comprendre des technologies telles que Kubernetes.Au préalable, je vous encourage à parcourir nos articles sur l'architecture de Kubernetes et sur les nœuds et les pods, les briques d'un cluster Kubernetes.Bien qu'il existe de nombreuses solutions hébergées pour Kubernetes, nous allons tout déployer à partir de zéro sur DigitalOcean qui est une solution d'hébergement cloud destinée aux développeurs en particulier.

Une instance VPS sur cette plate-forme est connue sous le nom de droplet. Pour exécuter Kubernetes, vous avez besoin d'au moins 2 Go de RAM et nous utiliserons les gouttelettes d'options à 20 $/mois pour cette démo. Ils facturent également à l'heure, donc si vous expérimentez pendant quelques heures, puis détruisez toutes les gouttelettes, vous ne paierez pas plus de quelques dollars.

Maintenant, nous avons deux machines, une étiquetée maître et une autre va être le nœud de travail. Commençons donc par configurer le maître.


Configuration du nœud maître

Pour configurer le nœud maître, connectez-vous en SSH à l'aide de l'adresse IP publique ou utilisez la console fournie par DigitalOcean pour accéder au terminal en tant qu'utilisateur root.

Les premières commandes sont les commandes de base :

$ apt update && apt upgrade -y

Ensuite, nous récupérons les clés gpg requises et les ajoutons à notre liste de référentiels distants de confiance.

$ curl -s https://paquets.nuage.Google.com/apt/doc/apt-key.gpg | apt-key ajouter -
$ chat < /etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
FEO
$ apt mise à jour

Exécuter la mise à jour apt pour la deuxième fois mettra le système à niveau avec le référentiel officiel de Kubernetes. Maintenant, nous installons les packages requis.

$ apt installer le docker.io
#Docker est requis pour la conteneurisation des applications.
$ apt installer kubelet kubeadm kubectl kubernetes-cni

La dernière commande installe quelques packages dont chacun est important pour différentes raisons :

  1. Kubeadm : amorce et initialise Kubernetes sur un nœud. Il peut être utilisé pour attribuer à un droplet le rôle de nœud maître ou de nœud de travail.
  2. Kubelet: Il s'agit d'un processus d'arrière-plan qui communique avec le nœud maître et effectue les actions demandées par celui-ci.
  3. Kubectl: C'est l'outil de ligne de commande qui permet aux développeurs et au personnel d'exploitation d'interagir avec et de contrôler le cluster Kubernetes.
  4. Kubernetes-cni: Il s'agit de l'interface de mise en réseau de conteneurs requise pour les communications internes entre les pods et la communication externe également.

Maintenant que nous avons tous les packages requis installés, il est temps pour nous d'initialiser le nœud maître. Exécutez ce qui suit :

$ kubeadm init --pod-network-cidr=10.244.0.0/16 --
apiserver-advertise-address $DROPLET_IP_ADDRESS

Assurez-vous de remplacer la dernière variable $DROPLET_IP_ADDRESS par l'IP publique de votre nœud maître. Si tout fonctionnait bien, voici votre sortie :

Assurez-vous de copier la dernière ligne « kubeadm join -token… » car elle contient les informations d'identification de sécurité nécessaires dont un nœud de travail aurait besoin pour rejoindre le cluster.

Chaque nœud maître a un serveur API en cours d'exécution, que la commande ci-dessus exposera au réseau de pods et également à l'interface de ligne de commande, kubectl, ainsi qu'à une interface utilisateur Web en option.

Noter: Vous pouvez utiliser l'adresse IP publique de votre droplet pour kubeadm init commande, mais si vous souhaitez isoler votre nœud maître du reste du monde, vous pouvez utiliser la fonction IP privée de DigitalOcean qui sera utilisée par différents pods sur différents nœuds pour se parler. Vous pouvez ensuite exposer uniquement les services front-end, lorsque votre projet se concrétise.

D'accord, une dernière étape avant de voir le rapport de santé sur notre nœud maître. Vous pouvez exécuter :

$ mkdir -p $HOME/.kube
$ cp /etc/kubernetes/admin.conf $ACCUEIL/.kube
$ chown $(id -u):$(id -g) $HOME/admin.conf
$ kubectl créer -f
https://brut.githubusercontent.com/coreos/flanel/master/Documentation/kube-flanel.yml --namespace=kube-system

Flannel est installé dans la dernière commande qui fournit la fonctionnalité de mise en réseau de couche 3 nécessaire pour les conteneurs.
Maintenant, nous pouvons courir,

$ kubectl obtenir des nœuds
$ kubectl get pods -all-namespaces

Ce qui nous montrerait l'état de tous les nœuds et de tous les pods de ce cluster, qui n'en est actuellement qu'un. Il est donc temps pour nous de configurer le deuxième droplet et de le convertir en nœud de travail Kubernetes.


Configuration des minions ou des nœuds de travail

Beaucoup de configuration de minion va être une répétition de ce que nous avons fait ci-dessus, c'est à partir de kubeadm commander que la route va commencer à diverger.

Donc pour configurer votre nœud de travail en répétant toutes les commandes jusqu'à et y compris l'installation des packages,

$ apt installer kubelet kubeadm kubectl kubernetes-cni

Ensuite, pour initialiser le droplet en tant que nœud kubernetes, exécutez la commande qui a été générée sur le nœud maître, à la fin dekubeadm init.

$ kubeadm join --token 3c37b5.08ed6cdf2e4a14c9
159.89.25.245:6443 --discovery-token-ca-cert-hash
sha256:52f99432eb33bb23ff86f62255ecbb

Veuillez noter que le contenu suivant votre indicateur de jeton, l'adresse IP et la somme de contrôle sha256 seront tous très différents dans votre cas. C'est ça! Vous avez un nouveau nœud en tant que membre du cluster Kubernetes. Vous pouvez le confirmer en répertoriant les nœuds et les pods qui s'exécutent sur ce cluster.


Conclusion

Il est maintenant temps pour vous de déployer votre dockerisé application dans ce cluster et n'hésitez pas à faire tourner plus de gouttelettes et à utiliser le kubeadm rejoindre pour ajouter de nouveaux membres à votre cluster Kubernetes.

Comment afficher la superposition OSD dans les applications et jeux Linux en plein écran
Jouer à des jeux en plein écran ou utiliser des applications en mode plein écran sans distraction peut vous couper des informations système pertinente...
Top 5 des cartes de capture de jeu
Nous avons tous vu et aimé des gameplays en streaming sur YouTube. PewDiePie, Jakesepticye et Markiplier ne sont que quelques-uns des meilleurs joueur...
Comment développer un jeu sur Linux
Il y a dix ans, peu d'utilisateurs de Linux prédisaient que leur système d'exploitation préféré serait un jour une plate-forme de jeu populaire pour l...