Comment surveiller Kubernetes avec le tableau de bord officiel

0
188

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.

Installation du tableau de bord

Installations Kubernetes autogérées ne viennent pas 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ès 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 y accéder en utilisant le proxy kubectl pour mapper le port hôte 8001 à votre cluster :

proxy kubectl

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/Advertisement

La demande à localhost:8001 sera gérée 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 d'appareils sur lesquels kubectl n'est pas disponible. Utilisez 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. Recherchez la ligne avec le type : ClusterIP et remplacez-la par type : NodePort. Enregistrez et fermez le fichier. La modification sera appliquée à votre cluster.

Utilisez ensuite Kubectl pour vérifier le port qui a été attribué :

kubectl –namespace kubernetes-dashboard get service kubernetes-dashboard NOM 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 été donné port 31730. Vous pouvez désormais accéder à l'interface Web en accédant à ce port sur l'adresse IP publique de votre cluster.

À l'aide 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 simple de l'utiliser au lieu d'installer et de maintenir manuellement l'application.

Publicité

Les utilisateurs de MicroK8s peuvent ajouter le plug-in de tableau de bord intégré à activer le tableau de bord avec une seule commande. Le tableau de bord sera lié par défaut à l'adresse IP du cluster.

Exploration du 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 – Il s'agit de 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 voir 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 “+” en haut à droite pour créer une nouvelle ressource. Cela vous permet de télécharger ou de coller un fichier manifeste Kubernetes compatible avec kubectl. L'effet est le même que l'exécution de kubectl apply.

Publicité

Il existe également une implémentation de base d'un créateur de déploiement basé sur un formulaire. Cliquez sur le “Créer à partir du formulaire” onglet, 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 pods – Spécifiez le nombre initial de pods à créer. Kubernetes veillera à ce qu'il y ait autant de réplicas de conteneurs actifs, ce qui contribuera à 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.

En appuyant 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 CPU et de mémoire, ainsi qu'un secret d'extraction d'image facultatif. Ce dernier accepte un extrait de configuration docker.json 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 d'exécuter kubectl apply dans votre terminal.

Surveiller l'utilisation des ressources du nœud

Le tableau de bord fournit une visualisation de la consommation des ressources du nœud. Cliquez sur les “Nœuds” élément 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.

Publicité

Faites défiler la page vers le bas pour voir les graphiques de consommation CPU et mémoire. Les “pods” Le graphique 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, les “Pods” Le tableau énumère tous les pods qui s'exécutent déjà sur le nœud.

Affichage des journaux des pods

Une utilisation courante du tableau de bord consiste à surveiller la sortie des journaux en direct des pods et des tâches. Trouvez 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'icône “Logs” élément du menu.

Cliquez sur l'icône à trois points en haut à droite de la visionneuse de journaux pour activer l'actualisation automatique. Vérification du “actualisation automatique (toutes les 5s)” L'option vous permet de diffuser les journaux en continu. La modification de l'intervalle d'actualisation est décrite ci-dessous.

Les autres options du 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 les “Paramètres” lien en bas de la barre latérale gauche.

Faites glisser les curseurs pour régler l'actualisation automatique intervalles pour la visionneuse de journaux 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.

Publicité

Vous pouvez également modifier le nombre d'éléments affichés sur chaque page du tableau. Augmenter les “éléments par page” si vous en avez marre de parcourir les pages chaque fois que vous consultez vos ressources.

Résumé

Le tableau de bord Kubernetes est un module complémentaire utile qui vous permet surveillez 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 basiques 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 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.