Inspecter les charges de travail sans état

Cette page explique comment inspecter les charges de travail sans état existantes exécutées dans un cluster Kubernetes Google Distributed Cloud (GDC) isolé. Les charges de travail sans état vous permettent d'exécuter le déploiement de votre application sans avoir à stocker de données ni d'état d'application. Vous pouvez afficher vos charges de travail sans état avec la console GDC ou l'CLI kubectl pour surveiller l'utilisation des ressources et l'état des charges de travail.

Cette page s'adresse aux développeurs du groupe des 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 la documentation sur les audiences pour GDC en mode air-gapped.

Avant de commencer

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

  1. Recherchez le nom du cluster Kubernetes ou demandez-le à votre administrateur de plate-forme.

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

  3. Utilisez le chemin d'accès kubeconfig du cluster Kubernetes pour remplacer KUBERNETES_CLUSTER_KUBECONFIG dans ces instructions.

Pour obtenir les autorisations requises pour afficher toutes les charges de travail déployées dans un projet, 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 sans état, demandez à votre administrateur IAM de l'organisation de vous accorder le rôle d'administrateur de l'espace de noms (namespace-admin) dans l'espace de noms de votre projet.

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 le déploiement

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

Obtenir des informations sur l'objet Deployment

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

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe deployment DEPLOYMENT_NAME

Remplacez les éléments suivants :

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

  • NAMESPACE : espace de noms du projet.

  • DEPLOYMENT_NAME : nom de l'objet Deployment.

Afficher la configuration active au format YAML

Pour afficher le fichier manifeste d'un objet Deployment, exécutez la commande suivante :

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    get deployments DEPLOYMENT_NAME -o yaml

Cette commande affiche la configuration active de l'objet Deployment au format YAML.

Répertorier les pods

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

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    get pods -l KEY=VALUE

Dans cette commande, l'indicateur -l liste tous les objets Pod avec le libellé de paire clé/valeur spécifié dans le cluster spécifié.

Remplacez les éléments suivants :

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

  • NAMESPACE : espace de noms du projet.

  • KEY : clé de la paire clé/valeur du libellé défini dans le déploiement. Par exemple, si le champ .template.metadata.labels est configuré avec le libellé app: myapp, la clé est app.

  • VALUE : valeur de la paire clé-valeur du libellé défini dans le déploiement. Par exemple, si le champ .template.metadata.labels est configuré avec le libellé app: myapp, la valeur est my-app.

Par exemple, si vous avez attribué l'étiquette app: my-app à l'objet Deployment, vous devez exécuter la commande suivante pour afficher les objets Pod portant cette étiquette :

kubectl --kubeconfig /tmp/kubeconfig.yaml -n my-namespace \
    get pods -l app=my-app

Obtenir des informations spécifiques sur un pod

Pour obtenir des informations sur un objet Pod spécifique, 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 déploiement.

  • NAMESPACE : espace de noms du projet.

  • POD_NAME : nom du pod géré par le déploiement.