Inspecter les charges de travail avec état

Ce document explique comment inspecter les charges de travail avec état existantes exécutées dans un cluster Kubernetes Google Distributed Cloud (GDC) sous air gap. Les charges de travail avec état vous permettent d'exécuter votre application avec un stockage de conteneurs persistant. Vous pouvez afficher vos charges de travail avec état à l'aide de la console GDC ou de l'CLI kubectl pour surveiller l'utilisation des ressources et l'état des charges de travail.

Ce document s'adresse aux développeurs du groupe d'opérateurs d'applications, qui sont chargés de gérer les charges de travail des applications pour leur organisation. Pour en savoir plus, consultez Audiences pour la documentation GDC sous air gap.

Avant de commencer

Pour effectuer les tâches décrites dans ce document, vous devez disposer des ressources et des rôles suivants :

  • Pour exécuter des commandes sur un cluster Kubernetes, assurez-vous de disposer des ressources suivantes :

    • Recherchez le nom du cluster Kubernetes ou demandez-le à un membre du groupe des administrateurs de la plate-forme.

    • Connectez-vous et générez le fichier kubeconfig pour le cluster Kubernetes si vous n'en avez pas.

    • Utilisez le chemin kubeconfig du cluster Kubernetes pour remplacer KUBERNETES_CLUSTER_KUBECONFIG dans ces instructions.

  • Pour obtenir les autorisations nécessaires pour afficher toutes les charges de travail déployées sur un cluster partagé, demandez à votre administrateur IAM de l'organisation de vous accorder le rôle Lecteur de charges de travail (workload-viewer) dans l'espace de noms de votre projet.

  • Pour obtenir les autorisations requises pour inspecter les charges de travail avec état dans un cluster partagé, demandez à votre administrateur IAM de l'organisation de vous accorder le rôle Administrateur de l'espace de noms (namespace-admin) dans l'espace de noms de votre projet.

  • Pour obtenir les autorisations requises pour afficher et inspecter les charges de travail avec état dans un cluster standard, demandez à votre administrateur IAM de l'organisation de vous accorder le rôle Développeur de cluster (cluster-developer) dans un cluster standard.

Afficher les charges de travail de conteneurs d'un projet

Pour afficher les charges de travail de conteneur de votre projet, procédez comme suit :

Console

  • Dans le menu de navigation, sélectionnez Kubernetes Engine > Charges de travail.

    Vous pouvez afficher des informations sur vos charges de travail de conteneurs, par exemple :

    • Nom
    • Type
    • Nombre de pods
    • Cluster Kubernetes
    • Date de dernière modification

    Les charges de travail de conteneur sont organisées en fonction du cluster Kubernetes auquel elles appartiennent. Sélectionnez le menu déroulant Cluster pour changer de contexte de cluster.

CLI

  • Exécutez la commande suivante pour lister tous les pods de votre projet :

    kubectl get pods -n PROJECT_NAMESPACE
    

    Le résultat ressemble à ce qui suit :

    NAME                        READY   STATUS    RESTARTS   AGE
    nginx-workload-ah-aa-1228   1/1     Running   0          12h
    nginx-workload-ah-ab-6784   1/1     Running   0          11h
    nginx-workload-ah-ac-0045   1/1     Running   0          12h
    

Inspecter une ressource StatefulSet

Pour demander des informations plus détaillées sur les composants d'une ressource StatefulSet, exécutez des commandes qui ciblent directement l'entité que vous souhaitez inspecter.

Obtenir des informations sur l'objet StatefulSet

Pour obtenir des informations détaillées sur l'objet StatefulSet, exécutez la commande suivante :

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe statefulset STATEFULSET_NAME

Remplacez les éléments suivants :

  • KUBERNETES_CLUSTER_KUBECONFIG : fichier kubeconfig pour le cluster exécutant l'objet StatefulSet.

  • NAMESPACE : espace de noms. Pour les clusters partagés, il doit s'agir d'un espace de noms de projet. Pour les clusters standards, il peut s'agir de n'importe quel espace de noms.

  • STATEFULSET_NAME : nom de l'objet StatefulSet.

Afficher la configuration active au format YAML

Pour afficher la configuration active de la ressource StatefulSet au format YAML, exécutez la commande suivante :

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    get statefulset STATEFULSET_NAME -o yaml

Remplacez les éléments suivants :

  • KUBERNETES_CLUSTER_KUBECONFIG : fichier kubeconfig pour le cluster exécutant l'objet StatefulSet.

  • NAMESPACE : espace de noms. Pour les clusters partagés, il doit s'agir d'un espace de noms de projet. Pour les clusters standards, il peut s'agir de n'importe quel espace de noms.

  • STATEFULSET_NAME : nom de l'objet StatefulSet.

Répertorier les pods

Pour lister les objets Pod créés par StatefulSet, exécutez la commande suivante :

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    get pods -l app=APP_NAME

Dans cette commande, l'indicateur -l liste tous les objets Pod libellés avec APP_NAME.

Remplacez les éléments suivants :

  • KUBERNETES_CLUSTER_KUBECONFIG : fichier kubeconfig pour le cluster exécutant l'objet StatefulSet.

  • NAMESPACE : espace de noms. Pour les clusters partagés, il doit s'agir d'un espace de noms de projet. Pour les clusters standards, il peut s'agir de n'importe quel espace de noms.

  • APP_NAME : nom de l'application avec état gérée par l'objet StatefulSet.

Obtenir des informations spécifiques sur un pod

Pour obtenir des informations sur un Pod spécifique du cluster, exécutez la commande suivante :

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe pod POD_NAME

Remplacez les éléments suivants :

  • KUBERNETES_CLUSTER_KUBECONFIG : fichier kubeconfig du cluster exécutant le pod.

  • NAMESPACE : espace de noms. Pour les clusters partagés, il doit s'agir d'un espace de noms de projet. Pour les clusters standards, il peut s'agir de n'importe quel espace de noms.

  • POD_NAME : nom du pod géré par l'objet StatefulSet.

Lister les PVC

Pour lister les objets PersistentVolumeClaim (PVC) dans le cluster, exécutez la commande suivante :

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    get pvc

Remplacez les éléments suivants :

  • KUBERNETES_CLUSTER_KUBECONFIG : fichier kubeconfig du cluster exécutant les PVC.

  • NAMESPACE : espace de noms. Pour les clusters partagés, il doit s'agir d'un espace de noms de projet. Pour les clusters standards, il peut s'agir de n'importe quel espace de noms.

Obtenir des informations spécifiques sur un PVC

Pour obtenir des informations sur un PersistentVolumeClaim (PVC) spécifique dans le cluster, exécutez la commande suivante :

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe pvc PVC_NAME

Remplacez les éléments suivants :

  • KUBERNETES_CLUSTER_KUBECONFIG : fichier kubeconfig du cluster exécutant le PVC.

  • NAMESPACE : espace de noms. Pour les clusters partagés, il doit s'agir d'un espace de noms de projet. Pour les clusters standards, il peut s'agir de n'importe quel espace de noms.

  • PVC_NAME : nom de la PVC configurée pour l'objet StatefulSet.

Obtenir des informations sur les PV

Pour obtenir des informations sur un PersistentVolume (PV) spécifique dans le cluster, exécutez la commande suivante :

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe pv PV_NAME

Remplacez les éléments suivants :

  • KUBERNETES_CLUSTER_KUBECONFIG : fichier kubeconfig du cluster exécutant le PV.

  • NAMESPACE : espace de noms. Pour les clusters partagés, il doit s'agir d'un espace de noms de projet. Pour les clusters standards, il peut s'agir de n'importe quel espace de noms.

  • PV_NAME : nom du PV configuré pour l'objet StatefulSet.

Étapes suivantes