Comment surveiller Kubernetes avec le tableau de bord officiel –
Le tableau de bord Kubernetes est une application officielle qui vous permet d’inspecter et de modifier vos ressources via une interface graphique Web. Le déploiement d’une instance de tableau de bord dans votre cluster vous permet de visualiser l’activité sans exécuter de séquences de commandes de terminal complexes.
Sommaire
Installation du tableau de bord
Les installations Kubernetes autogérées ne sont pas fournies avec le tableau de bord inclus par défaut. Vous devez utiliser kubectl apply
avec le fichier manifeste hébergé publiquement du tableau de bord pour déployer une instance dans votre cluster :
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml
Cela configurera le tableau de bord avec les paramètres par défaut recommandés.
Accéder au tableau de bord
L’installation de base n’expose pas le tableau de bord publiquement, ce qui permet de maintenir la sécurité du cluster. Vous pouvez accéder en utilisant kubectl proxy
pour mapper le port hôte 8001
à votre cluster :
kubectl proxy
Vous devriez maintenant pouvoir charger le tableau de bord dans votre navigateur en visitant cette URL :
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
La demande de localhost:8001
sera géré par le proxy Kubectl et transmis à votre cluster. Le cluster répondra avec l’interface utilisateur du tableau de bord.
Exposer publiquement le tableau de bord
Vous pouvez exposer publiquement le tableau de bord si vous avez besoin d’un accès HTTP direct à partir des appareils où kubectl
n’est pas disponible. Utilisation kubectl
pour modifier la ressource de service du tableau de bord :
kubectl --namespace kubernetes-dashboard edit service kubernetes-dashboard
Cela ouvrira le manifeste YAML de la ressource dans votre éditeur de texte par défaut. Trouvez la ligne avec type: ClusterIP
et le changer en type:NodePort
. Enregistrez et fermez le fichier. La modification sera appliquée à votre cluster.
Ensuite, utilisez Kubectl pour vérifier le port qui a été attribué :
kubectl --namespace kubernetes-dashboard get service kubernetes-dashboard
NAME TYPE CLUSTER-IP PORT(S) AGE kubernetes-dashboard NodePort 10.100.110.101 443:31730/TCP 1m
Dans cet exemple, le tableau de bord a reçu le port 31730
. Vous pouvez désormais accéder à l’interface Web en accédant à ce port sur l’adresse IP publique de votre cluster.
Utilisation du tableau de bord avec des clusters gérés
De nombreux fournisseurs Kubernetes gérés activent le tableau de bord par défaut ou fournissent une méthode d’installation en un clic. Lorsqu’une telle option est disponible, il est plus facile de l’utiliser au lieu d’installer et de maintenir manuellement l’application.
Les utilisateurs de MicroK8s peuvent ajouter le dashboard
plugin pour activer le tableau de bord avec une seule commande. Le tableau de bord sera lié au cluster ClusterIP
par défaut.
Explorer le tableau de bord
L’écran d’accueil du tableau de bord affiche un aperçu de l’activité de votre cluster. Les camemberts colorés en haut vous donnent une vue d’ensemble de l’état de vos ressources. Ceux-ci vous permettent de visualiser rapidement si une action est requise :
- Vert clair – Ce sont des ressources actives saines telles que l’exécution de pods.
- Vert foncé – Il s’agit de ressources saines mais arrêtées, y compris les pods inactifs et les tâches Cron planifiées qui sont terminées et terminées.
- Jaune – Les tranches de jaune indiquent que vous avez des ressources dans un état transitoire, comme un pod qui démarre et attend que son image de conteneur soit extraite.
- rouge – Une tranche de tarte rouge signifie qu’une ressource défaillante s’est arrêtée en raison d’une erreur.
Sous les camemberts, des tableaux affichent une répartition pour chaque type de ressource de votre cluster. Faites défiler vers le bas pour afficher les tâches Cron, les déploiements, les pods, les ensembles de réplicas, les services, les volumes et d’autres ressources intégrées.
Vous pouvez accéder à une section spécifique à l’aide de la barre latérale gauche. Cliquer sur un type de ressource affichera son tableau sur un écran dédié, vous permettant de vous concentrer sur les informations dont vous avez besoin.
Sélection d’un espace de noms
Le tableau de bord affiche par défaut toutes les ressources correspondantes dans votre cluster. Utilisez la liste déroulante en haut à gauche pour étendre les résultats à un espace de noms spécifique, vous permettant d’exclure les composants du système. Le filtre s’applique à tous les écrans jusqu’à ce que vous le changiez à nouveau.
Une autre façon de restreindre ce que vous voyez est d’utiliser la barre de recherche en haut de l’écran. Cela vous permet de trouver des ressources correspondantes dans tous les types de ressources, en affichant un écran de résultats utilisant le même format multi-tables que l’écran d’accueil.
Création de ressources
Cliquez sur le bouton « + » en haut à droite pour créer une nouvelle ressource. Cela vous permet de télécharger ou de coller un kubectl
-fichier manifeste Kubernetes compatible. L’effet est le même que la course kubectl apply
.
Il existe également une implémentation de base d’un créateur de déploiement basé sur un formulaire. Cliquez sur l’onglet « Créer à partir du formulaire », puis remplissez les champs pour lancer un nouvel ensemble de pods dans votre cluster.
- Nom de l’application – Donnez un nom à votre nouveau déploiement.
- Image du conteneur – L’image Docker à extraire pour vos nouveaux conteneurs. Celui-ci doit être accessible à votre cluster.
- Nombre de dosettes – Spécifiez le nombre initial de Pods à créer. Kubernetes s’assurera qu’il y a autant de réplicas de conteneurs actifs, contribuant ainsi à garantir la disponibilité.
- Service – Ce champ vous permet d’exposer vos conteneurs via un service interne ou externe. Choisir « interne » n’autorisera l’accès qu’à partir de votre cluster. Sélectionnez le type de service, puis remplissez le port à partir duquel accepter le trafic et le port de conteneur vers lequel mapper.
Appuyer sur « Afficher les options avancées » affiche plusieurs champs supplémentaires qui vous permettent de configurer des étiquettes, des variables d’environnement, des contraintes de processeur et de mémoire, ainsi qu’un secret d’extraction d’image facultatif. Ce dernier accepte un docker.json
extrait de configuration fournissant des informations d’identification pour le registre Docker à partir duquel vous extrayez.
Cliquez sur le bouton « Déployer » pour commencer le déploiement dans votre cluster. Modifiez manuellement les ressources créées par la suite si vous avez besoin de plus d’options que celles fournies par le formulaire.
Les ressources sont modifiées en cliquant sur l’icône à trois points sur le côté droit de n’importe quelle ligne du tableau. Choisissez « Modifier » dans le menu pour lancer une fenêtre contextuelle avec la représentation YAML du manifeste actuel de la ressource. Apportez les modifications dont vous avez besoin, puis appuyez sur « Mettre à jour » pour appliquer vos modifications. C’est la même chose que courir kubectl apply
dans votre terminal.
Surveillance de l’utilisation des ressources du nœud
Le tableau de bord fournit une visualisation de la consommation des ressources du nœud. Cliquez sur l’élément « Nœuds » dans la barre latérale gauche, puis sélectionnez un nœud dans le tableau. L’écran suivant fournit des informations détaillées sur le nœud, y compris son système d’exploitation, la version de Kubelet et l’adresse IP interne.
Faites défiler la page vers le bas pour voir les graphiques de la consommation du processeur et de la mémoire. Le graphique « Pods » vous permet de voir combien de pods pourraient être programmés sur le nœud en fonction de son allocation actuelle. Plus bas sur la page, le tableau « Pods » énumère tous les pods déjà en cours d’exécution sur le nœud.
Affichage des journaux de pod
Une utilisation courante du tableau de bord consiste à surveiller la sortie des journaux en direct des pods et des tâches. Recherchez l’élément que vous devez inspecter dans l’une des tables de ressources du tableau de bord. Cliquez sur l’icône à trois points la plus à droite, puis sélectionnez l’élément « Journaux » dans le menu.
Cliquez sur l’icône à trois points en haut à droite de la visionneuse de journaux pour activer l’actualisation automatique. Cocher l’option « actualisation automatique (toutes les 5 s) » vous permet de diffuser les journaux en continu. La modification de l’intervalle de rafraîchissement est décrite ci-dessous.
Les autres options de menu vous permettent de personnaliser l’affichage du journal en réduisant la taille de la police, en choisissant un mode de couleur et en sélectionnant si les horodatages sont affichés. L’activation de cette dernière option est utile lorsque la sortie du journal du conteneur n’inclut pas ses propres horodatages.
Paramètres du tableau de bord
L’application est livrée avec une poignée de paramètres globaux qui vous permettent de modifier sa réactivité. Ceux-ci se trouvent via le lien « Paramètres » en bas de la barre latérale gauche.
Faites glisser les curseurs pour ajuster les intervalles d’actualisation automatique pour la visionneuse de journal et les tables de ressources. La réduction de ces valeurs vous donne une vue en direct des données, mais peut réduire les performances sur les connexions réseau lentes.
Vous pouvez également modifier le nombre d’éléments affichés sur chaque page du tableau. Augmentez les « éléments par page » si vous en avez assez de cliquer sur les pages chaque fois que vous consultez vos ressources.
Sommaire
Le tableau de bord Kubernetes est un module complémentaire utile qui vous permet de surveiller l’activité de votre cluster à partir de votre navigateur Web. Il peut également répondre aux exigences de base en matière d’édition de ressources, mais vous devrez toujours travailler avec des fichiers texte manifeste la plupart du temps. Le formulaire de création de ressources ne convient qu’aux cas d’utilisation les plus élémentaires et ne fonctionne pas du tout avec les éléments existants.
L’activation du tableau de bord est facultative et ne sera pas nécessairement utile dans tous les scénarios. Si vous êtes à l’aise avec le terminal, si vous êtes soucieux de la sécurité ou si vous essayez de minimiser la consommation de ressources en arrière-plan, vous ne perdrez rien en vous en tenant aux outils CLI familiers.
Le déploiement du tableau de bord devrait être une procédure simple lorsque vous en avez besoin, que vous recherchiez une surveillance à distance ou un moyen plus simple de surveiller plusieurs clusters sans jongler avec les contextes Kubectl.