Top 20 des questions et réponses d'entretien Kubernetes que vous devez savoir en 2022
Publié: 2021-01-04Kubernetes est l'un des outils d'orchestration de conteneurs les plus recherchés sur le marché actuel. Open source par Google en 2014, ce système est devenu l'un des favoris d'entreprises telles que SoundCloud, SAP, The New York Times, eBay, Huawei et bien d'autres.
Mais il n'y a que quelques experts qualifiés pour répondre à la vaste demande de professionnels certifiés Kubernetes. De plus, les procédures actuelles de sélection des emplois accordent une immense valeur aux concepts techniques. Il est donc toujours conseillé de préparer à l'avance vos réponses aux questions d'entretien Kubernetes .
L'idée de base derrière Kubernetes est d'abstraire les ressources informatiques sous-jacentes. Il éloigne les machines, le stockage et les réseaux de leurs implémentations physiques. Nul doute que l'élan derrière la plateforme est à la hausse. Kubernetes est appelé le système d'exploitation du cloud. En savoir plus sur Kubernetes et sa mise en réseau.
Si vous envisagez de poursuivre une carrière dans ce domaine, passez en revue les questions d'entretien Kubernetes ci-dessous. Faites le premier pas et familiarisez-vous avec les fondamentaux !
Questions et réponses de l'entretien Kubernetes 2022
1. Définissez Kubernetes.
Kubernetes est bien plus qu'une plateforme de conteneurisation. Il automatise les tâches de déploiement, de mise à l'échelle et d'équilibrage de charge des applications. De plus, cet outil de gestion multi-conteneurs fonctionne bien avec la plupart des fournisseurs de cloud et bénéficie des contributions d'une communauté open source experte. Kubernetes est écrit dans les langages de programmation Go.

2. Énumérez quelques fonctionnalités clés de Kubernetes.
- Planification automatisée - Planificateur avancé pour lancer des conteneurs sur des nœuds de cluster.
- Auto-guérison – Peut reprogrammer, remplacer et redémarrer les conteneurs qui sont morts.
- Déploiements et restaurations automatisés – Prend en charge les déploiements et les restaurations.
- Mise à l'échelle horizontale - Capacités de mise à l'échelle des applications vers le haut ou vers le bas selon les besoins.
- Énumérez les différences entre Kubernetes et Docker Swarms.
Docker Swarm est un outil de création de conteneurs pour la gestion de leur cycle de vie. Kubernetes est plus étendu que Docker Swarm car il est destiné à orchestrer des clusters et à coordonner des clusters de nœuds à grande échelle. Même si Kubernetes est hautement évolutif, Docker Swarm est environ cinq fois plus rapide à mettre à l'échelle que Kubernetes. De plus, Docker Swarm effectue un équilibrage de charge automatique du trafic entre différents conteneurs, pour lequel une intervention manuelle est nécessaire dans Kubernetes.
Mais, Kubernetes a d'autres capacités. Il dispose d'outils de journalisation et de surveillance intégrés ainsi que d'un mécanisme de restauration automatique. Docker Swarm ne peut pas effectuer de restaurations automatiques ni de mise à l'échelle automatique comme Kubernetes.
4. En quoi le déploiement d'applications sur des hôtes diffère-t-il du déploiement sur des conteneurs ?
Lorsque vous déployez une application sur des hôtes, le noyau du système d'exploitation permet d'y installer de nombreuses bibliothèques. Toutes les applications partagent les différentes bibliothèques présentes sur ce système d'exploitation. Cependant, l'architecture de déploiement d'applications sur des conteneurs est un peu différente.
Dans l'architecture conteneurisée, le noyau est la seule chose commune entre les applications. Les autres applications ne peuvent pas empiéter sur les bibliothèques et les binaires nécessaires à une application. Ainsi, ils existent isolément du reste du système. Par exemple, si une application particulière nécessite Python, seule cette application y aura accès.
5. Qu'entendez-vous par orchestration de conteneurs ? Pourquoi en avez-vous besoin?
Supposons qu'il existe 4 à 5 microservices pour une application. Désormais, ces microservices seraient dans des conteneurs individuels. Ainsi, l'orchestration des conteneurs serait nécessaire pour permettre aux services de communiquer entre eux et de travailler ensemble pour répondre aux besoins du serveur. Le processus est comme un orchestre musical où différents instruments sont joués en harmonie pour composer une composition.
6. Qu'est-ce que Kubelet ?
Kubelet est un service d'agent qui exécute des pods. Un pod n'est rien d'autre qu'un groupe de conteneurs déployés sur le même hôte ou ayant des ressources communes, comme une adresse IP unique, des volumes, etc. Le kubelet fonctionne sur les descriptions de ces conteneurs fournies dans le PodSpec. Son objectif principal est de s'exécuter sur chaque nœud, de s'assurer que les conteneurs sont sains et en cours d'exécution, et de permettre en outre la communication entre les nœuds maître et travailleur.
Lire : Questions et réponses de l'entrevue Full Stack
7. Quel est le rôle des clusters dans Kubernetes ?
Kubernetes vous permet d'appliquer la gestion d'état requise en alimentant les services de cluster d'une configuration spécifique. Ensuite, ces services de cluster exécutent cette configuration dans l'infrastructure. Les étapes suivantes sont impliquées dans le processus :
- Le fichier de déploiement contient toutes les configurations à alimenter dans les services du cluster.
- Le fichier de déploiement est introduit dans l'API.
- Désormais, les services du cluster planifient les pods dans l'environnement
- Les services de cluster garantissent également que le bon nombre de pods s'exécutent
Ainsi, le cluster Kubernetes est essentiellement composé de l'API, des nœuds de travail et du processus Kubelet des nœuds.
8. À quoi sert Kubectl ?
Kubectl est un outil de contrôle des clusters Kubernetes. En fait, "ctl" signifie contrôle. Il s'agit d'une interface de ligne de commande qui vous permet de transmettre des commandes au cluster et de gérer le composant Kubernetes.
9. Définissez Google Container Engine.
Google Container Engine (GKE) est une plate-forme de gestion qui prend en charge les conteneurs et les clusters Docker qui s'exécutent dans les services de cloud public de Google. C'est un moteur open source basé sur Kubernetes.
10. Expliquez l'utilisation des nœuds dans Kubernetes.

Un nœud fournit les services nécessaires pour exécuter des pods. Aussi connus sous le nom de minions, les nœuds peuvent s'exécuter sur une machine physique ou virtuelle en fonction du cluster. Dans Kubernetes, un nœud est la machine de travail principale et les composants maîtres gèrent chaque nœud du système.
Maintenant que vous êtes à jour sur les bases, examinons quelques questions et réponses d'entretien Kubernetes supplémentaires pour plus de clarté.
11. Quels sont les deux principaux composants de l'architecture Kubernetes ?
Le nœud maître et le nœud travailleur constituent l'architecture Kubernetes. Les deux composants contiennent plusieurs services intégrés. Par exemple, le composant maître contient kube-controller-manager, kube-scheduler, etcd et kube-apiserver. Le nœud de travail a des services tels que l'exécution du conteneur, kubelet et kube-proxy exécutés sur chaque nœud.
Lire : Réagissez aux questions et réponses de l'entretien
12. Définissez kube-apiserver et kube-scheduler.
Kube-apiserver est le frontal du panneau de contrôle du nœud maser qui expose toutes les API des composants. Il établit la communication entre les nœuds Kubernetes et les composants maîtres. Le kube-scheduler gère la charge de travail des noeuds worker. Il garde une trace de l'utilisation des ressources pour s'assurer que la planification est effectuée sur des nœuds appropriés.
13. Expliquez brièvement le rôle du gestionnaire de contrôleur Kubernetes.
Dans Kubernetes, divers processus s'exécutent sur le nœud maître et sont compilés ensemble sous la forme du Kubernetes Controller Manager. C'est un démon qui embarque des contrôleurs, dont les suivants :
- Contrôleur de nœud : gère l'état, c'est-à-dire la création, la mise à jour et la suppression de nœuds
- Contrôleur de réplication : gère les pods pour chaque objet de réplication
- Compte de service et contrôleur de jetons : concernés par les comptes par défaut et les jetons d'accès à l'API pour les nouveaux espaces de noms
- Contrôleur de point de terminaison : s'occupe des objets de point de terminaison (pods et services)
- Que fait un gestionnaire de contrôleur de cloud ?
Un Cloud Controller Manager (CCM) est un démon qui permet d'intégrer des boucles de contrôle spécifiques au cloud. Il extrait le code fournisseur spécifique au cloud du code principal de Kubernetes. Il permet également de gérer la communication avec les services cloud sous-jacents. Sa conception est basée sur le mécanisme de plugin, ce qui signifie que les fournisseurs de cloud intègrent leur code au CCM à l'aide de plugins.
15. Quel est le rôle d'un load balancer ?
Un équilibreur de charge fournit un moyen standard de répartir le trafic réseau entre différents services backend, maximisant ainsi l'évolutivité. Selon l'environnement de travail, il peut y avoir deux types d'équilibreur de charge : interne ou externe.
L'équilibreur de charge interne peut automatiquement équilibrer la charge et allouer la configuration requise aux pods. D'autre part, l'équilibreur de charge externe guide le trafic de charge externe vers les pods backend. Dans Kubernetes, les deux méthodes d'équilibrage de charge fonctionnent via la fonctionnalité kube-proxy.
16. Comment pouvez-vous exécuter Kubernetes localement ?
Vous pouvez exécuter Kubernetes localement à l'aide de l'outil Minikube. Il exécute un cluster à nœud unique dans une machine virtuelle sur votre ordinateur portable. Ainsi, il constitue un moyen efficace pour les utilisateurs qui débutent et souhaitent essayer Kubernetes.
17. Qu'est-ce que Heapster ?
Heapster est un outil de surveillance des performances et de collecte de métriques pris en charge de manière native sur le cluster Kubernetes. Il s'exécute comme n'importe quel autre pod du cluster, découvrant tous les nœuds et interrogeant les informations des nœuds Kubernetes. Cet outil de gestion de conteneurs fonctionne via un agent sur machine.
18. Qu'est-ce que l'ETCD dans Kubernetes ?
Etcd est un magasin pour la configuration, l'état et les métadonnées des clusters Kubernetes. Il est écrit en langage de programmation Go et représente l'état du cluster à un instant donné. Ce magasin de données sert de colonne vertébrale aux systèmes distribués.
19. Qu'entendez-vous par surveillance des ressources de conteneur ?

Du point de vue de l'utilisateur, il est essentiel de comprendre l'utilisation des ressources à différentes couches et niveaux d'abstraction, comme les pods de conteneur, les services et l'ensemble du cluster. Chaque niveau peut être surveillé à l'aide de divers outils, à savoir :
- Grafana
- tas
- InfluxDB
- CAdvisor
- Prométhée
- Comment pouvez-vous garantir la sécurité de votre environnement lorsque vous utilisez Kubernetes ?
Vous pouvez suivre et mettre en œuvre les mesures de sécurité suivantes lors de l'utilisation de Kubernetes :
- Restreindre l'accès ETCD
- Limiter l'accès direct aux nœuds
- Définir le quota de ressources
- Tout doit être connecté sur l'environnement de production
- Utiliser des images du référentiel autorisé
- Créer des règles et des politiques strictes pour les ressources
- Effectuez une analyse continue de la sécurité et des vulnérabilités
- Appliquer régulièrement les mises à jour de sécurité
Obtenez un cours de développement de logiciels dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.
Emballer
Dans cet article, nous avons couvert les questions essentielles de l'entretien Kubernetes pour vous aider à concrétiser vos objectifs de carrière. Alors, relevez le défi de l'apprentissage, et n'oubliez pas de réviser !
Si vous souhaitez apprendre et maîtriser Kubernetes, DevOps, etc., consultez le programme Executive PG de IIIT-B & upGrad dans le programme de développement de logiciels Full Stack.
