Aide-mémoire Kubernetes : architecture, composants, feuille de commande
Publié: 2020-12-15Kubernetes est devenu un élément essentiel des industries et change le monde de la technologie. Janet Kuo, coprésidente de KubeCon, a abordé les fonctionnalités de Kubernetes et son importance dans les temps à venir. Elle parle des extensions et des solutions Kubernetes qui vont changer le monde .
Cette feuille de triche fournira une référence aux professionnels travaillant dans la mise en œuvre de Kubernetes. Il contient tous les détails nécessaires pour aider les débutants qui découvrent Kubernetes. La feuille de triche Kubernetes est un moyen rapide et pratique de se référer à tous les concepts et commandes essentiels de Kubernetes.
Table des matières
À propos de Kubernetes
Une plate-forme open source pour le déploiement automatique et la mise à l'échelle des conteneurs sur les clusters d'hôtes afin de fournir une infrastructure centrée sur les conteneurs est connue sous le nom de Kubernetes (également connu sous le nom de "Kube" ou k8s). Il permet une gestion simple et efficace de différents hôtes exécutant des conteneurs Linux en les regroupant.
Kubernetes est une plate-forme conçue pour gérer complètement le cycle de vie des applications et des services conteneurisés. Un utilisateur de Kubernetes peut définir la manière dont une application doit s'exécuter et interagir avec différentes applications.
Les utilisateurs peuvent basculer le trafic entre différentes versions d'applications, effectuer des mises à jour, augmenter et réduire les services, etc. avec Kubernetes. Il offre aux utilisateurs un degré élevé de flexibilité, de fiabilité et de puissance dans la gestion des applications.
Certaines des principales fonctionnalités de Kubernetes sont :

- Maximisez les ressources en faisant une meilleure utilisation du matériel.
- Un orchestrateur de conteneurs sur plusieurs hôtes.
- Automatisez le processus de déploiement et les mises à jour.
- Capable d'exécuter un conteneur Linux.
- La mise à l'échelle automatique aide à lancer des conteneurs sur des nœuds de cluster.
- Mise à l'échelle vers le haut et vers le bas selon les besoins.
- Auto-guérison en remplaçant, replanifiant et redémarrant les conteneurs morts.
- Annulations et déploiements automatisés.
- Équilibrage de charge et découverte de service.
- Redémarrage automatique, placement automatique et réplication automatique, etc.
Lire : Algorithme d'apprentissage en profondeur
Architecture de Kubernetes
L'architecture de Kubernetes se compose de couches : des couches supérieures et inférieures. La complexité de l'abstraction de la couche supérieure se retrouve dans les couches inférieures. Les machines physiques ou virtuelles individuelles sont regroupées dans un cluster. Un réseau partagé est utilisé pour la communication entre chaque serveur. Ainsi, tout comme les autres plates-formes distribuées, Kubernetes a un maître (au moins) et plusieurs nœuds de calcul.
- Le maître de Kubernetes planifie les déploiements, expose l'API et gère l'ensemble du cluster Kubernetes.
- Le nœud exécute un environnement d'exécution de conteneur, un agent pour communiquer avec le maître et d'autres composants de surveillance, la journalisation, etc.
Composants de l'architecture Kubernetes
Examinons le but et les composants du maître et des nœuds dans l'architecture Kubernetes.
Maître
Le maître maintient l'état souhaité du cluster. Puisqu'il gère l'ensemble du cluster, il est appelé maître. Il contient:
- Serveur d' API : serveur d'API Kubernetes
- Planificateur : utilisé pour la planification des pods dans les nœuds de travail
- Contrôleur : gère la réplication des pods
- Etcd : Un service de métadonnées
Nœuds
Il contient les services nécessaires qui sont importants pour l'exécution des pods. Le maître gère les nœuds. Il est aussi appelé minion. Il contient:
- Pod : groupe de conteneurs
- Docker : technologie basée sur des conteneurs, espace utilisateur du système d'exploitation.
- Kubelet : agents de conteneur chargés de maintenir l'ensemble des pods.
- Kube-proxy : achemine le trafic entrant dans un nœud à partir du service
Maintenant, comprenons les commandes importantes de Kubernetes.
Commandes Kubectl
Kubectl est l'outil de ligne de commande pour Kubernetes. Les commandes Kubectl de base peuvent être divisées en :
- Introspection des pods et des conteneurs
- Introspection des clusters
- Débogage
- Commandes rapides
- Objets
Introspection des pods et des conteneurs
Fonctionnalité | Commander |
Pour décrire les noms de pod | Kubectl describe pod<nom> |
Pour répertorier tous les pods actuels | Kubectl obtient des pods |
Pour répertorier tous les contrôleurs de réplication | Kubectl obtenir rc |
Pour afficher le nom du contrôleur de réplication | Kubectl describe rc <nom> |
Pour répertorier les contrôleurs de réplication dans un espace de noms | Kubectl get rc –namespace="espace de noms" |
Pour afficher un nom de service | Kubectl describe svc<nom> |
Pour les services de référencement | Kubectl obtenir cvc |
Pour surveiller les nœuds en continu. | Kubectl get nodes -w |
Pour supprimer un pod | Kubectl delete pod<nom> |
Introspection des clusters
Fonctionnalité | Commander |
Pour obtenir des informations relatives à la version | Version Kubectl |
Pour obtenir les détails de la configuration | Vue de configuration de Kubectl |
Pour obtenir des informations relatives au cluster | Informations sur le cluster Kubectl |
Pour obtenir des informations sur un nœud | Kubectl describe node<node> |
Commandes de débogage

Fonctionnalité | Commander |
Pour afficher les métriques d'un pod | Module supérieur Kubectl |
Pour afficher les métriques d'un nœud | Nœud supérieur Kubectl |
Pour regarder les logs Kubelet | Regarder -n 2 cat/var/log/kublet.log |
Pour obtenir les journaux du service pour le conteneur | Kubectl logs -f<name>>[-c< $container>] |
Pour l'exécution de la commande sur service en sélectionnant un conteneur | Kubectl exec<service><commands>[-c< $container>] |
Commandes rapides
Les commandes rapides ci-dessous sont souvent utilisées et donc très utiles.

Fonctionnalité | Commander |
Pour lancer un pod avec un nom et une image. | Kubectl run<nom> — image=<nom-image> |
Pour créer un service décrit dans <manifest.yaml> | Kubectl create -f <manifest.yaml> |
Pour mettre à l'échelle le compteur de réplication afin de compter le nombre d'instances. | Échelle Kubectl –replicas=<nombre>rc<nom> |
Pour mapper le port externe sur le port de réplication interne. | Exposer rc<nom> –port=<externe>–target-port=<interne> |
Pour arrêter tous les pods dans <n> | Kubectl drain<n>– delete-local-data–force–ignore-daemonset |
Pour créer un espace de noms. | Kubectl crée un espace de noms <espace de noms> |
Pour autoriser le nœud maître à exécuter des pods. | Kubectltaintnodes –all-node-role.kuernetes.io/master- |
Objets
Certains des objets familiers utilisés dans Kubernetes sont les suivants :
Liste des objets communs | |
Tous | Révisions du contrôleur |
cm=conf gmaps | Liaisons de rôle de cluster |
Cronjobs | cs=états des composants |
Deploy=déploiements | limites = limites des plages |
ev= événements | hpa = mise à l'échelle automatique des pods horizontaux |
travaux | ds= ensembles de démons |
Non = nœuds | ns= espaces de noms |
po= gousses | Préréglage du module |
Psp= politiques de sécurité du pod | Pv= volumes persistants |
quota= quotas de ressources | rs= jeux de réplicas |
les rôles | rc= contrôleurs de réplication |
sc= classes de stockage | pdb= budgets de distribution des pods |
rôles de cluster | secrets |
crd=définition de ressource personnalisée | Modèles de modules |
csr= demandes de signature de certificat | sa= comptes de service |
Netpol - politiques de réseau | Liaisons de rôle |
ing = entrée | pvc= revendications de volume persistant |
ep=points finaux | sts= ensembles avec état |
Lire aussi : Régularisation dans le Deep Learning
Aide-mémoire de la commande Kubernetes
Toutes les informations de base sur Kubernetes, son architecture et ses commandes sont présentées dans la feuille de triche Kubernetes ci-dessous :
Si vous souhaitez en savoir plus sur les techniques d'apprentissage en profondeur, l'apprentissage automatique, consultez le diplôme PG en apprentissage automatique et IA de IIIT-B et upGrad, conçu pour les professionnels en activité et offrant plus de 450 heures de formation rigoureuse, plus de 30 études de cas et affectations, statut IIIT-B Alumni, 5+ projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.
Qu'est-ce que Kubernetes ?
Kubernetes est une plate-forme open source permettant d'automatiser le déploiement, la mise à l'échelle et la gestion des conteneurs. Un conteneur est un package logiciel prêt à l'emploi qui contient tout ce qui est nécessaire pour exécuter l'application : code, environnement d'exécution, application et bibliothèques système. Les conteneurs sont comme des unités logiques d'application, et lorsque Kubernetes les regroupe, il devient facile de gérer et de découvrir les conteneurs. Ces conteneurs sont déployés et mis à l'échelle sur les hôtes pour fournir une infrastructure centrée sur les conteneurs. En bref, il s'agit d'une plate-forme qui gère l'ensemble du cycle de vie des applications conteneurisées.
Quels sont les principaux composants de l'architecture Kubernetes ?
Il existe deux composants principaux dans l'architecture Kubernetes : le nœud maître et le nœud de travail. Un nœud est la principale machine de travail qui est importante pour exécuter un groupe de clusters appelés pods. L'ensemble du cluster est géré par le nœud maître, tandis que le nœud travailleur exécute les tâches assignées par le nœud maître. Ces nœuds contiennent de nombreux composants intégrés. Le nœud maître contient le serveur d'API Kubernetes, le planificateur Kubernetes, le contrôleur Kubernetes et etc. Le nœud de travail a un pod, un docker, un kubelet et un kube-proxy.
Que font kubelet et kube-proxy ?
Kubelet, qui est présent dans chaque nœud, garantit que les conteneurs fonctionnent bien dans un pod. Pour ce faire, il prend un ensemble de PodSpecs fourni principalement via apiserver et vérifie les conteneurs présents dans ces PodSpecs. Un PodSpec est un objet YAML ou JSON qui décrit un pod. Kubernetes Network Proxy, également connu sous le nom de kube-proxy, gère les règles de réseau sur les nœuds. La communication entre les sessions réseau à l'intérieur ou à l'extérieur du cluster et les pods est possible via ces règles de réseau. Kube-proxy transfère le trafic si la couche de filtrage des paquets du système d'exploitation n'est pas disponible.