Ispeziona i carichi di lavoro stateful

Questo documento spiega come ispezionare i carichi di lavoro stateful esistenti in esecuzione in un cluster Kubernetes air-gap di Google Distributed Cloud (GDC). I carichi di lavoro stateful ti consentono di eseguire l'applicazione con uno spazio di archiviazione dei container permanente. Puoi visualizzare i tuoi workload stateful con la console GDC o la CLI kubectl per monitorare l'utilizzo delle risorse e l'integrità dei workload.

Questo documento è destinato agli sviluppatori del gruppo di operatori di applicazioni, che sono responsabili della gestione dei workload delle applicazioni per la loro organizzazione. Per saperne di più, consulta la documentazione relativa ai segmenti di pubblico per GDC con air gap.

Prima di iniziare

Per completare le attività descritte in questo documento, devi richiedere le autorizzazioni necessarie e preparare l'ambiente.

Richiedi ruoli IAM

Devi disporre di ruoli specifici per ottenere le autorizzazioni necessarie per visualizzare e ispezionare i workload stateful. I ruoli necessari dipendono dal fatto che tu stia lavorando all'interno di un cluster condiviso con ambito organizzazione o di un cluster standard con ambito progetto. Per saperne di più, consulta Configurazioni del cluster Kubernetes.

Ruoli cluster condivisi

Chiedi all'amministratore IAM del progetto di concederti i seguenti ruoli nello spazio dei nomi del progetto in base all'attività da svolgere:

  • Visualizzatore carichi di lavoro (workload-viewer): visualizza tutti i carichi di lavoro di cui è stato eseguito il deployment in un cluster condiviso.
  • Amministratore spazio dei nomi (namespace-admin): crea, elimina, modifica o visualizza i workload in uno spazio dei nomi del progetto del cluster condiviso.

Questi ruoli sono associati allo spazio dei nomi del progetto.

Ruoli cluster standard

Per creare, eliminare, modificare o visualizzare i carichi di lavoro in un cluster standard, chiedi all'amministratore IAM del progetto di concederti il ruolo Sviluppatore cluster (cluster-developer). Questo ruolo è associato allo spazio dei nomi del progetto.

prepara l'ambiente

Per eseguire comandi su un cluster Kubernetes utilizzando l'API, assicurati di disporre delle seguenti risorse:

  • Individua il nome del cluster Kubernetes o chiedi a un membro del gruppo di amministratori della piattaforma qual è il nome del cluster.

  • Accedi e genera il file kubeconfig per il cluster Kubernetes.

  • Utilizza il percorso kubeconfig del cluster Kubernetes per sostituire KUBERNETES_CLUSTER_KUBECONFIG in queste istruzioni.

Visualizzare i carichi di lavoro con container di un progetto

Per visualizzare i carichi di lavoro dei container del progetto:

Console

  • Nel menu di navigazione, seleziona Kubernetes Engine > Workload.

    Puoi visualizzare i dettagli dei carichi di lavoro con container, ad esempio:

    • Nome
    • Tipo
    • Numero di pod
    • Cluster Kubernetes
    • Data ultima modifica

    I carichi di lavoro dei container sono organizzati in base al cluster Kubernetes a cui appartengono. Seleziona il menu a discesa Cluster per cambiare il contesto del cluster.

kubectl

  • Esegui questo comando per elencare tutti i pod nel tuo progetto:

    kubectl get pods -n PROJECT_NAMESPACE
    

    L'output è simile al seguente:

    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
    

Controllare una risorsa StatefulSet

Per richiedere informazioni più dettagliate sui componenti di una risorsa StatefulSet, esegui comandi che hanno come target diretto l'entità che vuoi esaminare.

Recupera le informazioni sull'oggetto StatefulSet

Per ottenere informazioni dettagliate sull'oggetto StatefulSet, esegui:

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

Sostituisci quanto segue:

  • KUBERNETES_CLUSTER_KUBECONFIG: il file kubeconfig per il cluster che esegue l'oggetto StatefulSet.

  • NAMESPACE: lo spazio dei nomi. Per i cluster condivisi, questo deve essere uno spazio dei nomi del progetto. Per i cluster standard, può essere qualsiasi spazio dei nomi.

  • STATEFULSET_NAME: il nome dell'oggetto StatefulSet.

Visualizza la configurazione live in formato YAML

Per visualizzare la configurazione attiva della risorsa StatefulSet in formato YAML, esegui:

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

Sostituisci quanto segue:

  • KUBERNETES_CLUSTER_KUBECONFIG: il file kubeconfig per il cluster che esegue l'oggetto StatefulSet.

  • NAMESPACE: lo spazio dei nomi. Per i cluster condivisi, questo deve essere uno spazio dei nomi del progetto. Per i cluster standard, può essere qualsiasi spazio dei nomi.

  • STATEFULSET_NAME: il nome dell'oggetto StatefulSet.

Elenca pod

Per elencare gli oggetti Pod creati da StatefulSet, esegui:

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

In questo comando, il flag -l elenca tutti gli oggetti Pod etichettati con APP_NAME.

Sostituisci quanto segue:

  • KUBERNETES_CLUSTER_KUBECONFIG: il file kubeconfig per il cluster che esegue l'oggetto StatefulSet.

  • NAMESPACE: lo spazio dei nomi. Per i cluster condivisi, questo deve essere uno spazio dei nomi del progetto. Per i cluster standard, può essere qualsiasi spazio dei nomi.

  • APP_NAME: il nome dell'applicazione stateful gestita dall'oggetto StatefulSet.

Ottenere informazioni specifiche sul pod

Per visualizzare informazioni su un Pod specifico nel cluster, esegui:

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

Sostituisci quanto segue:

  • KUBERNETES_CLUSTER_KUBECONFIG: il file kubeconfig per il cluster che esegue il pod.

  • NAMESPACE: lo spazio dei nomi. Per i cluster condivisi, questo deve essere uno spazio dei nomi del progetto. Per i cluster standard, può essere qualsiasi spazio dei nomi.

  • POD_NAME: il nome del pod gestito dall'oggetto StatefulSet.

Elenca i PVC

Per elencare gli oggetti PersistentVolumeClaim (PVC) nel cluster, esegui:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    get pvc

Sostituisci quanto segue:

  • KUBERNETES_CLUSTER_KUBECONFIG: il file kubeconfig del cluster che esegue i PVC.

  • NAMESPACE: lo spazio dei nomi. Per i cluster condivisi, questo deve essere uno spazio dei nomi del progetto. Per i cluster standard, può essere qualsiasi spazio dei nomi.

Ottenere informazioni specifiche sul PVC

Per ottenere informazioni su un PersistentVolumeClaim (PVC) specifico nel cluster, esegui:

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

Sostituisci quanto segue:

  • KUBERNETES_CLUSTER_KUBECONFIG: il file kubeconfig per il cluster che esegue il PVC.

  • NAMESPACE: lo spazio dei nomi. Per i cluster condivisi, questo deve essere uno spazio dei nomi del progetto. Per i cluster standard, può essere qualsiasi spazio dei nomi.

  • PVC_NAME: il nome del PVC configurato per l'oggetto StatefulSet.

Ottenere informazioni sul PV

Per ottenere informazioni su un PersistentVolume (PV) specifico nel cluster, esegui:

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

Sostituisci quanto segue:

  • KUBERNETES_CLUSTER_KUBECONFIG: il file kubeconfig per il cluster che esegue il PV.

  • NAMESPACE: lo spazio dei nomi. Per i cluster condivisi, questo deve essere uno spazio dei nomi del progetto. Per i cluster standard, può essere qualsiasi spazio dei nomi.

  • PV_NAME: il nome del PV configurato per l'oggetto StatefulSet.

Passaggi successivi