‫Pour votre première grappe, peut-être même vos premières grappes,
‫vous n'aurez pas à vous inquiéter de ce concept
‫d'espaces de noms et de contextes.
‫Mais vous devez être conscient de son
‫existence au cas où vous en auriez besoin.
‫Les espaces de noms sont essentiellement des clusters virtuels, ou des
‫vues virtuelles, au sein d'un cluster unique.
‫Il filtre non seulement la vue de la commande afin que vous
‫ne voyiez que certaines choses lorsque vous tapez
‫des commandes, mais il peut également, avec les plug-ins de stratégie
‫réseau appropriés, contrôler la mise en réseau.
‫C’est un peu différent de Swarm, où Swarm
‫créait dès le départ différents réseaux superposés et que
‫tout était essentiellement privé.
‫Dans Kubernetes, la mise en réseau et le contrôle des applications et
‫de leur confidentialité, de ce qu’elles peuvent voir et accéder,
‫et de ce qui est contrôlé physiquement dépendent vraiment de votre
‫plug-in de réseau.
‫Les espaces de noms en eux-mêmes ne sont pas liés aux espaces
‫de noms Docker, dont vous avez peut-être entendu parler, qui font
‫vraiment partie du sous-système Linux, et c'est en quelque sorte
‫le fonctionnement des conteneurs. Cela n'a rien à voir avec ça.
‫C'est simplement Kubernetes qui dit, bon, il se peut que
‫beaucoup de choses se passent dans votre cluster, et je
‫vous donne l'opportunité de créer de petits
‫mini-clusters dans lesquels vous placeriez l'espace de noms
‫dans un contexte. changer votre contexte.
‫Vous pouvez changer ce que vous voyez.
‫Ensuite, l'espace de noms est constitué de différents segments
‫permettant de filtrer les commandes, ainsi que potentiellement la
‫mise en réseau. Sur mon système, ici sur mon bureau,
‫je ne vois que kubectl obtenir des espaces de noms et cette
‫commande me montre 4. C'est en quelque sorte
‫la solution standard que vous allez voir.
‫Par défaut, vous avez travaillé jusqu'à présent.
‫C'est fait pour l'espace de noms par défaut
‫de vos applications. La seule chose que vous
‫voyez vraiment lorsque vous avez tout
‫obtenu, c'est le point de terminaison de l'API Kubernetes lui-même, à droite.
‫Jusqu'à ce que nous commencions à ajouter des applications, nous
‫n'y voyions vraiment rien. Il y a
‫techniquement tout ça en arrière-plan, non. C'est ce que le kubectl obtient tous -
‫tous les espaces de noms.
‫Vous pouvez voir tous les conteneurs d'API et
‫tout ce qui ne fonctionne pas dans Kubernetes
‫lui-même avec cette commande. Si je regarde tous les espaces de noms
‫à la fois, j'obtiens tout, y compris les éléments système.
‫Ceci est une vue de ce à quoi cela
‫ressemblerait sur minikube, qui place tout dans ses propres pods pour exécuter
‫le cluster lui-même.
‫Il se passe beaucoup de choses là-bas.
‫La réalisation est que lorsque vous utilisez normalement
‫Kubernetes, la ligne de commande se concentre sur l'espace de nom
‫par défaut, par défaut.
‫Vous ne verrez que vos applications là-bas, à part le
‫point de terminaison de l'API.
‫C'est une bonne chose, non. Cela masque la complexité
‫de ce qui se passe à l'arrière-plan dans
‫votre commande quotidienne, car vous n'avez pas vraiment besoin
‫de voir ces informations, sauf si vous devez les mettre à niveau, les modifier
‫ou en cas de problème. Le contexte entre en
‫jeu pour définir votre vue lorsque vous exécutez des commandes.
‫Le kubectl fait beaucoup de choses, non.
‫Il peut se connecter à différents clusters.
‫Cela peut changer l'authentification, ou l'utilisateur, que vous
‫utilisez pour parler au cluster, dont nous n'avons pas
‫parlé, ou à l'espace de noms.
‫Donc, il y a ces trois parties, vraiment, d'un contexte.
‫Il s’agit du cluster, de l’authentification ou de l’utilisateur,
‫puis de l’espace de noms à afficher.
‫Tout ce qui est défini, par défaut, dans un
‫fichier à l'intérieur du fichier. Répertoire kube de votre
‫répertoire personnel.
‫Il y a un fichier dans celui-ci appelé
‫config, et ce sera essentiellement un fichier YAML de toutes les trois parties.
‫Vous pouvez y avoir plusieurs entrées et vous pouvez le modifier
‫comme vous le souhaitez.
‫Vous pouvez avoir plusieurs grappes et tant que vous avez les
‫certificats pour leur parler, la bonne authentification, vous pouvez mettre
‫tout cela dans ce fichier, et c'est quelque chose que vous
‫voulez garder secret. Ce n'est pas
‫quelque chose que vous voulez vraiment partager, car
‫vos clés d'authentification vous permettent généralement de
‫communiquer avec un cluster. Si vous
‫utilisez la commande kubectl config avec la sous-commande get contexts, c'est
‫pluriel, vous pouvez voir la sortie
‫de ce fichier. Au lieu de le
‫jeter à l'état brut, vous pouvez réellement voir
‫une petite liste de ce qu'il contient.
‫Dans mon cas, mon Docker Desktop standard est installé
‫sur mon ordinateur local. Cette entrée est là deux
‫fois pour les dernières éditions de Docker Desktop car elles ont changé de
‫nom afin de garder les deux à des fins de compatibilité.
‫Ensuite, j'ai un minikube local et une
‫instance distante de micro K8 fonctionnant sur
‫un serveur Ubuntu.
‫Donc, vous pouvez imaginer que si je gérais
‫beaucoup d'autres serveurs, je ne voulais pas nécessairement toujours utiliser
‫SSH sur ces machines. Je veux vraiment juste m'asseoir sur ma machine locale
‫et parler à cette API distante.
‫Vous pouvez utiliser la commande kubectl config avec n’importe
‫laquelle des options définies. Vous voulez
‫vraiment vérifier l'aide là-bas. Cependant, il existe des options définies pour
‫définir les valeurs par défaut pour chacun d'entre eux, de
‫sorte que vous pouvez potentiellement changer l'utilisateur pour qu'il
‫utilise une authentification différente. Donc, peut-être que vous avez
‫des droits divins au lieu d'un sous-ensemble des commandes que
‫Kubernetes pourrait exécuter. Ou peut-être que vous allez changer
‫le cluster auquel vous parlez.
‫Il existe même des plugins en ligne de commande
‫si vous regardez sur Google pour
‫vous permettre de voir dans votre shell quel contexte vous utilisez.
‫C'est très pratique lorsque vous vous retrouvez à gérer toute
‫une série de grappes. Vous voulez savoir, hé à
‫qui est-ce que je parle en ce moment? Vous pouvez réellement configurer cela, un
‫peu comme si les invites d’obtention vous indiquaient la branche dans
‫laquelle vous vous trouvez. Celles-ci vous indiqueront, dans votre invite,
‫quel contexte vous avez.