Ispeziona i carichi di lavoro stateless

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

Questo documento è rivolto agli sviluppatori del gruppo di operatori di applicazioni, responsabili della gestione dei carichi di lavoro delle applicazioni per la propria organizzazione. Per saperne di più, consulta la sezione Pubblico della documentazione air-gapped di GDC.

Prima di iniziare

Per completare le attività descritte in questo documento, devi disporre delle seguenti risorse e dei seguenti ruoli:

  • Per eseguire comandi su un cluster Kubernetes, 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 se non ne hai uno.

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

  • Per ottenere le autorizzazioni necessarie per visualizzare tutti i carichi di lavoro di cui è stato eseguito il deployment in un cluster condiviso, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Visualizzatore carichi di lavoro (workload-viewer) nello spazio dei nomi del progetto.

  • Per ottenere le autorizzazioni necessarie per esaminare i carichi di lavoro stateless in un cluster condiviso, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore dello spazio dei nomi (namespace-admin) nello spazio dei nomi del progetto.

  • Per ottenere le autorizzazioni necessarie per visualizzare ed esaminare i carichi di lavoro stateless in un cluster standard, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Sviluppatore cluster (cluster-developer) in un cluster standard.

Visualizzare i carichi di lavoro dei container di un progetto

Per visualizzare i carichi di lavoro dei container del progetto, completa i seguenti passaggi:

Console

  • Nel menu di navigazione, seleziona Kubernetes Engine > Carichi di lavoro.

    Puoi visualizzare i dettagli dei carichi di lavoro dei 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.

CLI

  • Esegui il comando seguente per elencare tutti i pod nel 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
    

Esaminare il deployment

Per richiedere informazioni più dettagliate sui componenti di una risorsa Deployment, esegui comandi che prendono di mira direttamente l'entità che vuoi esaminare.

Ottenere 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.

Visualizzare la configurazione live 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 live dell'oggetto Deployment in formato YAML.

Elencare i 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 il campo .template.metadata.labels ha l'etichetta app: myapp configurata, la chiave è app.

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

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

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

Ottenere informazioni specifiche sui pod

Per ottenere 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