Maison  >  Article  >  Opération et maintenance  >  Comment utiliser l'orchestration de conteneurs Kubernetes dans les systèmes Linux

Comment utiliser l'orchestration de conteneurs Kubernetes dans les systèmes Linux

王林
王林original
2023-06-18 12:14:321411parcourir

Avec l'essor des applications cloud natives, Kubernetes est devenu le standard de facto pour l'orchestration de conteneurs. Étant donné que Kubernetes est open source et peut s'exécuter sur diverses distributions Linux, il est très courant d'utiliser l'orchestration de conteneurs Kubernetes dans les systèmes Linux. Cet article explique comment installer et configurer Kubernetes dans un système Linux, et comment utiliser Kubernetes pour l'orchestration de conteneurs.

  1. Installation de Kubernetes

L'installation de Kubernetes dans un système Linux nécessite généralement les étapes suivantes :

1.1 Installer Docker

Étant donné que Kubernetes utilise Docker comme environnement d'exécution de conteneur, vous devez d'abord installer Docker. Dans le système Ubuntu, vous pouvez utiliser la commande suivante pour installer Docker :

sudo apt-get update
sudo apt-get install docker.io

Dans le système CentOS, vous pouvez utiliser la commande suivante pour installer Docker :

sudo yum install docker
sudo systemctl start docker
sudo systemctl enable docker

1.2 Installer Kubernetes

Dans le système Ubuntu, vous pouvez utiliser la commande suivante pour installer Kubernetes :

sudo apt-get update && sudo apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl

Dans les systèmes CentOS, vous pouvez utiliser la commande suivante pour installer Kubernetes :

sudo yum install -y epel-release
sudo yum update -y
sudo yum install -y kubelet kubeadm kubectl
sudo systemctl enable kubelet && sudo systemctl start kubelet
  1. Configurer Kubernetes

2.1 Initialiser le nœud maître

Dans un cluster Kubernetes, le nœud maître est responsable de la gestion de l'ensemble grappe. Pour initialiser le nœud maître, vous devez exécuter la commande suivante :

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

Cette commande installera les composants nécessaires et générera une commande pour rejoindre le nœud. Les dernières lignes de la sortie de la commande d'exécution contiendront la commande pour rejoindre le nœud, telle que :

kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef 
    --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef

Veuillez noter que la sortie de cette commande doit être unique et applicable uniquement à ce nœud maître.

2.2 Rejoindre le nœud Worker

Pour ajouter un nœud Worker au cluster Kubernetes, vous devez exécuter la sortie de la commande join node à l'étape précédente. Par exemple :

sudo kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef 
    --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef

L'exécution de cette commande installera les composants nécessaires et ajoutera le nœud Worker au cluster.

2.3 Installer le plug-in réseau

Kubernetes nécessite un plug-in réseau pour fournir une mise en réseau aux pods. Les plug-ins réseau couramment utilisés incluent Flannel et Calico. Ici, nous choisissons d'installer Flannel. Pour installer Flannel, vous pouvez exécuter la commande suivante :

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
  1. Container Orchestration with Kubernetes

Maintenant, nous avons installé et configuré avec succès Kubernetes sur notre système Linux. Nous expliquerons ensuite comment utiliser Kubernetes pour l'orchestration de conteneurs.

3.1 Créer un déploiement

Dans Kubernetes, le déploiement est une abstraction pour la création et la gestion de pods. Pour créer un déploiement, utilisez la commande kubectl. Par exemple, pour créer un déploiement nommé nginx, vous pouvez exécuter la commande suivante :

kubectl create deployment nginx --image=nginx

Cette commande déploiera un conteneur nommé nginx, en utilisant l'image nginx sur Docker Hub.

3.2 Modifier le déploiement

Pour modifier un déploiement, vous pouvez utiliser la commande kubectl edit déployer. Par exemple, pour modifier le nombre de répliques du déploiement nginx à 3, vous pouvez exécuter la commande suivante :

kubectl edit deployment nginx

Cela ouvrira un éditeur dans lequel vous pourrez modifier le fichier yaml. Modifiez la valeur du champ Réplicas à 3, puis enregistrez et quittez l'éditeur.

3.3 Exposition du service

Dans Kubernetes, le service est une abstraction utilisée pour exposer le point de terminaison réseau d'un pod. Pour exposer le service de déploiement, vous pouvez utiliser la commande kubectl expose. Par exemple, pour exposer le service de déploiement nginx, vous pouvez exécuter la commande suivante :

kubectl expose deployment nginx --port=80 --type=NodePort

Cette commande créera un service nommé nginx et l'exposera au port 80 de tous les nœuds du cluster.

3.4 Extension du déploiement

Pour étendre le déploiement, vous pouvez utiliser la commande kubectl scale. Par exemple, pour augmenter le nombre de répliques d'un déploiement nginx à 5, vous pouvez exécuter la commande suivante :

kubectl scale deployment nginx --replicas=5

3.5 Statut de gestion

Pour afficher l'état du déploiement, utilisez la commande kubectl. Par exemple, pour afficher tous les déploiements et leur statut, vous pouvez exécuter la commande suivante :

kubectl get deployments

Cette commande affichera le nom, la quantité requise, la quantité disponible et l'état de tous les déploiements du cluster.

Résumé

Grâce à cet article, nous avons appris comment installer et configurer Kubernetes dans un système Linux, et utiliser Kubernetes pour l'orchestration de conteneurs. Ces compétences sont indispensables pour tout développeur et administrateur système souhaitant entrer dans le monde du cloud natif.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn