Table des matières[Cacher][Montrer]
- 1. Qu'est-ce que Kubernetes ?
- 2. Qu'entendez-vous par conteneur dans Kubernetes ?
- 3. Quels sont les principaux composants de Kubernetes ?
- 4. Qu'entendez-vous par orchestration dans kubernetes ?
- 5. Qu'est-ce qu'un cluster Kubernetes ?
- 6. Comment le déploiement conteneurisé est-il simplifié par Kubernetes ?
- 7. Quelles distinctions fondamentales existent entre Kubernetes et Docker Swarm ?
- 8. Qu'est-ce qu'un espace de noms dans Kubernetes ?
- 9. Qu'est-ce que le composant maître Kubernetes etcd ?
- 10. Quelles solutions existe-t-il pour la sécurité des API sur Kubernetes ?
- 11. Quelles sont les différences entre les applications déployées sur les hôtes et les conteneurs ?
- 12. Qu'entendez-vous réellement par Minikube ?
- 13. Comment surveiller le cluster Kubernetes ?
- 14. Quelle fonction les nœuds Kubernetes remplissent-ils ?
- 15. Décrivez le hipster en détail.
- 16. Décrivez le fonctionnement du nœud maître Kubernetes.
- 17. Qu'est-ce qui différencie le conteneur du pod ?
- 18. Qu'entendez-vous par équilibreur de charge dans Kubernetes ?
- 19. Quelle fonction le serveur Kube-API remplit-il ?
- 20. Que signifient les ensembles avec état de Kubernetes ?
- 21. Comment examinez-vous les journaux centraux du pod ?
- 22. ClusterIP : qu'est-ce que c'est ?
- 23. Parlez-moi des contrôleurs de réplication ?
- 24. Comment fonctionne le réseau Ingress et qu'est-ce que c'est ?
- 25. Prometheus dans Kubernetes : à quoi ça sert ?
- 26. Qu'est-ce que le service sans tête ?
- 27. Pour exécuter l'architecture Kubernetes localement, de quoi ai-je besoin ?
- 28. Qu'entendez-vous par ensemble avec état ?
- 29. Dans Kubernetes, que signifient les sbires ?
- 30. Quelles fonctions les services exécutent-ils dans les composants Kubernetes ?
- 31. Qu'est-ce que Helm ?
- 32. Expliquer le PVC
- Conclusion
Google a initialement créé Kubernetes, une technologie open source d'orchestration de conteneurs, en 2014. Le déploiement, la mise à l'échelle et l'administration des applications conteneurisées étaient tous destinés à être automatisés.
Kubernetes s'est développé au fil du temps pour devenir la norme de facto de l'industrie pour l'orchestration des conteneurs et est largement utilisé par les entreprises de toutes tailles pour gérer leurs charges de travail dans les conteneurs.
L'importance de Kubernetes dans le monde moderne réside dans sa capacité à offrir une méthode cohérente de gestion des applications conteneurisées à grande échelle, couvrant divers clusters et environnements cloud. De ce fait, les entreprises peuvent gérer, développer et déployer leurs applications rapidement et efficacement.
La maintenance des applications conteneurisées est en outre facilitée par le vaste ensemble de fonctionnalités de Kubernetes, qui comprend l'autoréparation, la mise à l'échelle automatisée et les mises à niveau progressives.
Alors que de plus en plus d'entreprises utilisent la conteneurisation et les microservices pour accélérer leurs procédures de développement et de déploiement d'applications, la portée de Kubernetes devrait continuer à s'étendre à l'avenir.
L'adoption de technologies natives du cloud et la transition générale vers des systèmes de cloud multi-cloud et hybrides dépendront toutes deux fortement de Kubernetes. Comme de plus en plus d'appareils sont connectés à Internet, Kubernetes sera également de plus en plus utilisé dans le cadre de informatique de pointe et IdO.
Je suppose que vous êtes déjà au courant de ces détails car vous lisez cet article sur Kubernetes Interview Questions, qui vous informera des questions d'entretien les plus souvent posées. Commençons.
1. Qu'est-ce que Kubernetes ?
Kubernetes est un framework open-source pour l'orchestration et l'administration des applications conteneurisées. Il permet de déployer, de mettre à l'échelle et de maintenir de manière cohérente et efficace des applications conteneurisées.
Kubernetes offre une méthode unique de gestion des applications conteneurisées à grande échelle et est conçu pour fonctionner sur divers clusters et environnements cloud.
L'autoréparation, la mise à l'échelle automatisée et les mises à niveau progressives ne sont que quelques-unes des fonctionnalités qui facilitent encore plus la gestion des applications conteneurisées.
2. Qu'entendez-vous par conteneur dans Kubernetes ?
Les conteneurs sont une approche portable, légère et autosuffisante pour empaqueter et exécuter des logiciels. L'empaquetage et le déploiement des applications sont effectués de manière cohérente et efficace dans Kubernetes à l'aide de conteneurs.
Afin de se tenir à l'écart des autres conteneurs et de la machine hôte, chaque conteneur n'exécute qu'un seul processus. Les dépendances, les bibliothèques et les fichiers de configuration d'une application sont tous inclus dans l'image du conteneur qui sert de définition d'un conteneur.
Le nombre prévu de répliques d'un conteneur fonctionne toujours grâce à l'utilisation par Kubernetes de l'orchestration de conteneurs pour gérer et mettre à l'échelle les conteneurs. Cela permet aux développeurs de gérer et de déployer facilement leurs applications sur plusieurs clusters et environnements cloud.
3. Quels sont les principaux composants de Kubernetes ?
Voici les principaux composants des kubeneters :
- Le maître Kubernetes : ce composant, qui comprend également le gestionnaire de contrôleur et le planificateur, etcd (un magasin clé-valeur distribué), le serveur d'API et d'autres composants, est en charge de la gestion du cluster dans son ensemble.
- Nœuds : Ce sont les postes de travail sur lesquels les programmes conteneurisés sont exécutés. Le kubelet, qui interagit avec le maître pour maintenir l'état prévu du cluster, est exécuté sur chaque nœud avec un runtime de conteneur (tel que Docker).
- Pods : l'élément le plus petit et le plus basique du modèle d'objet Kubernetes est le pod, qui sert d'hôte pour un ou plusieurs conteneurs.
- Services : les services offrent un point de terminaison cohérent pour les pods et permettent l'équilibrage de charge et la découverte de services.
- Contrôleurs de réplication : ils garantissent que le nombre requis de réplicas de pod fonctionnent toujours.
- Secrets et ConfigMaps : ces ressources sont utilisées pour conserver les données de configuration et les secrets des pods et autres objets du cluster.
4. Qu'entendez-vous par orchestration dans kubernetes ?
Dans Kubernetes, le terme « orchestration » fait référence à l'administration et à la coordination automatisées des conteneurs et des ressources auxquelles ils sont connectés. Cela implique des activités telles que la mise en réseau, l'évolutivité, le déploiement et l'auto-réparation. À l'aide d'objets tels que des pods, des services et des contrôleurs de réplication, Kubernetes orchestre les applications.
Les pods, qui peuvent contenir un ou plusieurs conteneurs, sont les plus petites unités déployables. Gestion des services l'équilibrage de charge et la découverte de services et donner aux pods un point de terminaison solide. Une réplique d'un pod fonctionne toujours avec le nombre de copies requis grâce aux contrôleurs de réplication.
5. Qu'est-ce qu'un cluster Kubernetes ?
Un ensemble de nœuds exécutant des applications conteneurisées dans divers contextes et machines (basés sur le cloud, physiques, virtuels et sur site) constitue un cluster Kubernetes. Il facilite la gestion et la migration simples des applications ainsi que leur création.
6. Comment le déploiement conteneurisé est-il simplifié par Kubernetes ?
Étant donné qu'une application typique fonctionnerait dans un cluster de conteneurs sur de nombreux hôtes, tous ces conteneurs devraient communiquer entre eux.
Ainsi, pour ce faire, un système à grande échelle capable de mettre à l'échelle, d'équilibrer la charge et de surveiller les conteneurs est nécessaire. Vous devez utiliser Kubernetes pour faciliter le déploiement conteneurisé car il est indépendant du cloud et peut fonctionner sur n'importe quel fournisseur public ou privé.
7. Quelles distinctions fondamentales existent entre Kubernetes et Docker Swarm ?
Planifiez et regroupez les conteneurs Docker avec Docker Swarm, un outil natif d'orchestration de conteneurs open source de Docker. Les caractéristiques suivantes distinguent Swarm de Kubernetes :
- Alors que Kubernetes et Docker Swarm manquent tous les deux de capacités de mise à l'échelle automatique, la mise à l'échelle de Docker est cinq fois plus rapide que Kubernetes.
- Kubernetes fournit une interface graphique sous la forme d'un tableau de bord, mais Docker Swarm en manque.
- Comparé à Kubernetes, plus difficile à mettre en place mais offrant la garantie d'un cluster solide, Docker Swarm est plus facile à installer mais ne dispose pas de cluster stable.
- Alors que Kubernetes inclut des fonctionnalités intégrées de journalisation et de surveillance, Docker a besoin d'outils externes comme la pile ELK.
- Les mises à jour continues peuvent être déployées via Docker, mais les restaurations automatiques ne peuvent pas l'être ; Les mises à jour progressives ainsi que les restaurations automatiques peuvent être déployées à l'aide de Kubernetes.
8. Qu'est-ce qu'un espace de noms dans Kubernetes ?
L'espace de noms Kubernetes est utilisé dans un environnement où plusieurs utilisateurs travaillent sur de nombreux projets dans une vaste zone géographique. L'espace de noms répartit les ressources du cluster entre plusieurs utilisateurs.
9. Qu'est-ce que le composant maître Kubernetes etcd ?
Etcd est un élément crucial du serveur maître Kubernetes. De plus, il sert de plaque tournante du cluster Kubernetes, où les éléments sont stockés dans un magasin clé-valeur distribué.
La technologie de réplication est utilisée conjointement avec un algorithme pour préserver les données enregistrées dans etcd entre les serveurs. Lors de la comparaison et de l'échange de données entre les serveurs etcd, la devise optimiste est utilisée pour minimiser les situations de verrouillage et augmenter la vitesse du serveur.
10. Quelles solutions existe-t-il pour la sécurité des API sur Kubernetes ?
La sécurité de l'API peut être effectuée de la manière indiquée ci-dessous :
- Via l'authentification API
- Sélection du mode d'authentification approprié pour le mode d'authentification du serveur API= Node, RBAC
- Suivi des erreurs RBAC
- S'assurer que TLS est utilisé pour protéger le trafic
- Utilisation de l'autorisation-mode=Webhook pour s'assurer que Kubeless protège son API
- Élimination des autorisations par défaut du compte de service
- Utilisation de la version la plus récente de kube
- S'assurer que le tableau de bord kube suit une politique RBAC stricte
- Mettre en œuvre une politique de sécurité du pod pour limiter l'accès au conteneur et protéger le nœud
11. Quelles sont les différences entre les applications déployées sur les hôtes et les conteneurs ?
Un système d'exploitation et une architecture constituent les applications déployées. Le système d'exploitation aura un noyau qui héberge les multiples bibliothèques nécessaires à une application.
Une machine qui exécute des conteneurs de processus est appelée hôte de conteneur. Étant donné que ce type de logiciel est distinct des autres programmes, les applications doivent inclure les bibliothèques nécessaires. Les binaires ne peuvent enfreindre les droits d'aucun autre logiciel puisqu'ils sont séparés du reste du système.
12. Qu'entendez-vous réellement par Minikube ?
Avec Minikube, Kubernetes peut être facilement exécuté localement. Cela permet à une machine virtuelle d'héberger un cluster Kubernetes avec un seul nœud.
13. Comment surveiller le cluster Kubernetes ?
Le fonctionnement et l'état des conteneurs fonctionnant sous Kubernetes peuvent être suivis à l'aide de diverses méthodes. Prometheus, l'un des instruments les plus souvent utilisés, contient un certain nombre de parties, qui sont décomposées dans les sections ci-dessous.
- Le serveur Prometheus collecte et stocke des données de séries chronologiques.
- Il comprend des bibliothèques clientes qui facilitent l'instrumentation du code d'application.
- Il comporte une passerelle push qui peut prendre en charge les emplois temporaires.
- Il existe des exportateurs avec des fonctions spécialisées pour une variété de services de conteneurs, comme StatsD, HAProxy, Graphite, etc.
- De plus, vous recevrez un gestionnaire d'alertes pour gérer les notifications sur divers systèmes de support.
14. Quelle fonction les nœuds Kubernetes remplissent-ils ?
Pour le fonctionnement des pods, Node propose des fonctions cruciales. Les Nods, également connus sous le nom de minions, peuvent fonctionner sur n'importe quel ordinateur réel ou virtuel selon le cluster.
Dans Kubernetes, le nœud est l'ordinateur de travail principal, tandis que les composants maîtres supervisent chaque nœud individuellement.
15. Décrivez le hipster en détail.
Heapster combine les données dans tout le cluster que Kubelet, qui est exécuté sur chaque nœud, génère. Cet outil de gestion de conteneurs est pris en charge de manière native par ce cluster Kubernetes et fonctionne comme un pod comme n'importe quel autre pod du cluster.
Fondamentalement, cela implique de localiser chaque nœud du cluster et d'utiliser un agent Kubernetes sur machine pour interroger les données des nœuds Kubernetes du cluster.
16. Décrivez le fonctionnement du nœud maître Kubernetes.
Le nœud maître élève les nœuds dirigeants et de contrôle des nœuds de travail. Ceci est similaire à un cluster Kubernetes. Les nœuds sont en charge de la gestion du cluster ainsi que de l'API utilisée pour configurer et gérer les ressources de la collection. En raison de l'avantage des pods dédiés, les nœuds maîtres Kubernetes peuvent fonctionner parallèlement à Kubernetes lui-même.
17. Qu'est-ce qui différencie le conteneur du pod ?
En tant qu'unité de réplication, Kubernetes utilise un pod, qui est un groupe de conteneurs. Les conteneurs sont la collection de codes qu'un pod pour une application doit créer. Au sein d'un même pod, les conteneurs peuvent communiquer entre eux.
18. Qu'entendez-vous par équilibreur de charge dans Kubernetes ?
L'une des méthodes d'exposition de service les plus répandues et les plus acceptées est un équilibreur de charge. Selon l'environnement de travail, un équilibreur de charge est soit un équilibreur de charge interne, soit un équilibreur de charge externe.
Alors que l'équilibreur de charge externe achemine le trafic de la charge externe vers les pods principaux, l'équilibreur de charge interne équilibre automatiquement la charge et attribue aux pods la configuration nécessaire.
19. Quelle fonction le serveur Kube-API remplit-il ?
Pour les objets API, ce type vérifie et propose des informations de configuration. Il se compose de contrôleurs de réplication, de services et de pods. De plus, il offre des opérations REST et l'interface du cluster. Tous les autres composants communiquent entre eux via cet état de cluster frontal commun.
20. Que signifient les ensembles avec état de Kubernetes ?
Un objet d'API de charge de travail appelé ensemble avec état est utilisé pour gérer les applications avec état. Il est utilisé pour mettre à l'échelle les ensembles de pods et gérer les déploiements. Dans le stockage sur disque lié à l'ensemble avec état, les informations d'état et autres données résilientes des pods avec état ont été enregistrées et mises à jour.
21. Comment examinez-vous les journaux centraux du pod ?
Pour récupérer les journaux centraux du pod, vous pouvez utiliser l'un des deux styles de journalisation.
- Utilisez un agent de journalisation au niveau du nœud.
- Le conteneur side-car dans le flux
- Utilisez l'agent de journalisation avec le conteneur side-car.
- Exportez directement les journaux du programme
22. ClusterIP : qu'est-ce que c'est ?
Le service Kubernetes par défaut, ClusterIP, offre un service de cluster interne (sans accès externe) auquel les autres applications de votre cluster peuvent accéder.
23. Parlez-moi des contrôleurs de réplication ?
Pour tous les pods de longue durée, les contrôleurs de réplication servent de superviseurs. Il garantit que le nombre requis de pods sont actifs à tout moment et que chaque pod ou groupe de pods a une structure cohérente.
S'il y a plus de pods que le nombre prévu, les pods excédentaires sont résiliés. De plus, le contrôleur remplacera immédiatement tout pod défectueux.
24. Comment fonctionne le réseau Ingress et qu'est-ce que c'est ?
Les utilisateurs peuvent accéder à vos services Kubernetes depuis l'extérieur du cluster Kubernetes grâce à un élément appelé ingress. En établissant des règles qui spécifient quelles connexions entrantes atteignent certains services, les utilisateurs peuvent configurer l'accès.
Cet objet d'API propose les règles de routage nécessaires pour contrôler la façon dont les services du cluster Kubernetes sont accessibles par les visiteurs extérieurs au cluster via HTTPS/HTTP. Grâce à cela, les utilisateurs peuvent établir les règles de routage du trafic rapidement et efficacement sans avoir à créer plusieurs équilibreurs de charge ou à exposer chaque service aux nœuds.
25. Prometheus dans Kubernetes : à quoi ça sert ?
Une boîte à outils open source appelée Prometheus est utilisée pour surveiller et avertir l'application en fonction des métriques. Il offre un schéma de données et un langage de requête, et est capable de fournir des informations et des actions sur les métriques. Il permet l'utilisation du langage à de nombreuses fins instrumentales.
En plus d'Alertmanager et de Grafana, l'opérateur Prometheus propose une surveillance simple des déploiements et des services K8s.
26. Qu'est-ce que le service sans tête ?
Un service sans tête est un service qui utilise une adresse IP mais donne des informations sur les pods connectés plutôt que sur l'équilibrage de charge.
27. Pour exécuter l'architecture Kubernetes localement, de quoi ai-je besoin ?
Pour l'intégration de Kubernetes, plusieurs infrastructures sur site ont subi un remodelage. Une expertise de haut niveau est nécessaire pour intégrer le stockage, les serveurs et la mise en réseau dans un système transparent.
La sélection du matériel de mise en réseau et de stockage approprié est essentielle pour Kubernetes car elle permet l'interaction avec les ressources de stockage, les équilibreurs de charge, etc. L'automatisation des composants de mise en réseau et de stockage est un élément clé de la proposition de valeur de Kubernetes.
28. Qu'entendez-vous par ensemble avec état ?
L'élément d'API de charge de travail connu sous le nom d'ensemble avec état est utilisé pour gérer les applications avec état. Il peut également être utilisé pour mettre à l'échelle les ensembles de pods et gérer les déploiements. Le stockage sur disque, qui est connecté à l'ensemble avec état, contient les informations d'état et d'autres données pour les pods avec état.
29. Dans Kubernetes, que signifient les sbires ?
Dans Kubernetes, un nœud est appelé une machine de travail ; auparavant, il était connu comme un minion. Basé sur un cluster, il peut s'agir d'un ordinateur virtuel ou d'une machine réelle.
Chaque nœud est régi par des composants maîtres Kubernetes et contient les services nécessaires au fonctionnement des pods. Le runtime du conteneur, kubelet et Kube-proxy sont inclus dans les services offerts par le nœud.
30. Quelles fonctions les services exécutent-ils dans les composants Kubernetes ?
Grâce à la fourniture de l'adresse IP virtuelle, un service sert d'abstraction pour les pods. L'adresse IP virtuelle facilite les connexions des utilisateurs aux conteneurs s'exécutant à l'intérieur des pods. C'est un composant qui détermine la manière dont les conteneurs sont disposés dans les pods.
31. Qu'est-ce que Helm ?
Le registre de gestion des packages d'application Helm géré par CNF est disponible pour Kubernetes. Le pré-configuré Cartes de barre peut être téléchargé et déployé dans votre système Kubernetes. L'une des solutions de gestion de packages les plus populaires pour l'environnement Kubernetes est celle-ci. Les équipes DevOps peuvent déployer des applications dans les environnements de production et de développement, les versionner et suivre leur progression à l'aide des graphiques existants.
32. Expliquer le PVC
PVC est l'acronyme de Persistent Volume Claim. C'est le stockage que Kubernetes a demandé pour les pods. La connaissance de l'utilisateur de l'approvisionnement sous-jacent n'est pas nécessaire. L'espace de noms où le pod est formé et où cette revendication doit être faite doit correspondre.
Conclusion
Les questions et réponses de l'entretien Kubernetes sont terminées.
Il y a sans aucun doute plus à apprendre sur Kubernetes, la technologie de pointe qui a rendu possible la gestion et l'exécution de milliers de conteneurs, mais c'est un bon point de départ. Pour obtenir de l'aide pour la préparation des entretiens, voir Série d'interviews de Hashdork.
Soyez sympa! Laissez un commentaire