Ce document explique comment inspecter les charges de travail avec état existantes exécutées dans un cluster Kubernetes Google Distributed Cloud (GDC) air-gapped. 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 la 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 d'application 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 demander les autorisations nécessaires et préparer votre environnement.
Demander des rôles IAM
Vous devez disposer de rôles spécifiques pour obtenir les autorisations nécessaires pour afficher et inspecter les charges de travail avec état. Les rôles dont vous avez besoin dépendent de l'environnement dans lequel vous travaillez : un cluster partagé au niveau de l'organisation ou un cluster standard au niveau du projet. Pour en savoir plus, consultez Configurations de clusters Kubernetes.
Rôles de cluster partagés
Demandez à votre administrateur de projet IAM de vous accorder les rôles suivants dans l'espace de noms de votre projet en fonction de la tâche à effectuer :
- Lecteur de charges de travail (
workload-viewer) : permet d'afficher toutes les charges de travail déployées sur un cluster partagé. - Administrateur d'espace de noms (
namespace-admin) : créez, supprimez, modifiez ou affichez des charges de travail dans un espace de noms de projet de cluster partagé.
Ces rôles sont liés à l'espace de noms de votre projet.
Rôles de cluster standards
Pour créer, supprimer, modifier ou afficher des charges de travail dans un cluster standard, demandez à votre administrateur de projet IAM de vous accorder le rôle Développeur de cluster (cluster-developer). Ce rôle est lié à l'espace de noms de votre projet.
Préparer votre environnement
Pour exécuter des commandes sur un cluster Kubernetes à l'aide de l'API, assurez-vous de disposer des ressources suivantes :
Recherchez le nom du cluster Kubernetes ou demandez-le à un membre du groupe d'administrateurs de la plate-forme.
Connectez-vous et générez le fichier kubeconfig pour le cluster Kubernetes.
Utilisez le chemin d'accès kubeconfig du cluster Kubernetes pour remplacer
KUBERNETES_CLUSTER_KUBECONFIGdans ces instructions.
Afficher les charges de travail de conteneur 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 les détails de vos charges de travail de conteneur, 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.
kubectl
Exécutez la commande suivante pour lister tous les pods de votre projet :
kubectl get pods -n PROJECT_NAMESPACELe 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 du cluster exécutant l'objetStatefulSet.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'objetStatefulSet.
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 du cluster exécutant l'objetStatefulSet.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'objetStatefulSet.
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'option -l liste tous les objets Pod associés au libellé APP_NAME.
Remplacez les éléments suivants :
KUBERNETES_CLUSTER_KUBECONFIG: fichier kubeconfig du cluster exécutant l'objetStatefulSet.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'objetStatefulSet.
Obtenir des informations sur un pod spécifique
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'objetStatefulSet.
Répertorier les PVC
Pour lister les objets PersistentVolumeClaim (PVC) du 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'objetStatefulSet.
Obtenir des informations sur les PV
Pour obtenir des informations sur un PersistentVolume (PV) spécifique du 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'objetStatefulSet.
Étapes suivantes
- Mettre à jour des charges de travail avec état
- Effectuer le scaling des charges de travail avec état
- Gérer des pools de nœuds