Ispeziona i carichi di lavoro stateless

Questo documento spiega come ispezionare i workload stateless esistenti in esecuzione in un cluster Kubernetes Google Distributed Cloud (GDC) con air gap. I workload stateless ti consentono di eseguire il deployment dell'applicazione senza dover archiviare i dati o lo stato dell'applicazione. Puoi visualizzare i workload stateless con la console GDC o l'interfaccia a riga di comando kubectl per monitorare l'utilizzo delle risorse e l'integrità del workload.

Questo documento è rivolto 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

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

Ruoli cluster condivisi

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

  • Workload Viewer (workload-viewer): visualizza tutti i workload di cui è stato eseguito il deployment in un cluster condiviso.
  • Namespace Admin (namespace-admin): crea, elimina, modifica o visualizza i workload in uno spazio dei nomi di un progetto di cluster condiviso.

Questi ruoli sono associati allo spazio dei nomi del progetto.

Ruoli cluster standard

Per creare, eliminare, modificare o visualizzare i workload 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.

Visualizza i workload dei container di un progetto

Per visualizzare i workload dei container del tuo progetto, completa i seguenti passaggi:

Console

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

    Puoi visualizzare i dettagli dei tuoi workload containerizzati, ad esempio:

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

    I workload 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
    

Ispeziona il deployment

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

Recupera le informazioni sull'oggetto Deployment

Per ottenere informazioni dettagliate sull'oggetto Deployment, esegui:

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

Sostituisci quanto segue:

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

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

  • DEPLOYMENT_NAME: il nome dell'oggetto Deployment.

Visualizza la configurazione attiva in formato YAML

Per visualizzare il manifest di un oggetto Deployment, esegui:

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

Questo comando visualizza la configurazione attiva dell'oggetto Deployment in formato YAML.

Elenca pod

Per elencare gli oggetti Pod creati dal deployment, esegui:

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

In questo comando, il flag -l elenca tutti gli oggetti Pod con l'etichetta della coppia chiave-valore specificata nel cluster specificato.

Sostituisci quanto segue:

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

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

  • KEY: la chiave per l'etichetta della coppia chiave-valore impostata nel deployment. Ad esempio, se nel campo .template.metadata.labels è configurata l'etichetta app: myapp, la chiave è app.

  • VALUE: il valore dell'etichetta della coppia chiave-valore impostata nel deployment. Ad esempio, se nel campo .template.metadata.labels è configurata l'etichetta app: myapp, il valore è my-app.

Ad esempio, se hai etichettato l'oggetto Deployment app: my-app, esegui il seguente comando per visualizzare gli oggetti Pod con quell'etichetta:

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

Ottieni informazioni specifiche sui pod

Per visualizzare le informazioni su un oggetto Pod specifico, 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 deployment.

  • NAMESPACE: lo spazio dei nomi. Per i cluster condivisi, 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 dal deployment.

Passaggi successivi