Ottimizzare l'utilizzo di GKE con approfondimenti e suggerimenti

Con Google Kubernetes Engine (GKE), puoi ricevere indicazioni prescrittive su come ottimizzare i tuoi cluster.

GKE monitora i tuoi cluster e, se esistono potenziali ottimizzazioni, fornisce indicazioni tramite Recommender, un servizio Google Cloud che genera insight e suggerimenti per l'utilizzo delle risorse su Google Cloud. Per GKE, i motori per i suggerimenti forniscono due tipi di informazioni:

  • Un insight spiega che GKE ha rilevato che l'utilizzo del cluster può essere ottimizzato in qualche modo.
  • Un suggerimento spiega come ottimizzare l'utilizzo del cluster.

GKE fornisce queste informazioni nella console Google Cloud e puoi trovarle anche con Google Cloud CLI e l'API Recommender. GKE fornisce motori per suggerimenti per argomenti tra cui:

Prima di iniziare

Prima di iniziare, assicurati di aver eseguito le seguenti attività:

  • Abilita l'API Google Kubernetes Engine.
  • Abilita l'API Google Kubernetes Engine
  • Per utilizzare Google Cloud CLI per questa attività, installala e poi inizializza gcloud CLI. Se hai già installato gcloud CLI, scarica l'ultima versione eseguendo il comando gcloud components update. Le versioni precedenti di gcloud CLI potrebbero non supportare l'esecuzione dei comandi in questo documento.

Ruoli obbligatori

Assicurati di disporre delle autorizzazioni necessarie per i suggerimenti e gli insight di Kubernetes, con i seguenti ruoli di base o ruoli predefiniti:

Visualizza approfondimenti e consigli

Puoi visualizzare insight e suggerimenti con Google Cloud CLI, nella consoleGoogle Cloud o con l'API Recommender.

Console

Quando visualizzi i suggerimenti nella console, hai due opzioni. Puoi utilizzare il prospetto generale nella parte superiore della visualizzazione per vedere i risultati aggregati dei suggerimenti per l'integrità, l'upgrade e l'ottimizzazione dei costi in tutti i cluster del progetto.

In alternativa, puoi visualizzare un elenco di suggerimenti per cluster.

Per visualizzare i suggerimenti utilizzando lo scorecard, segui questi passaggi:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud :

    Vai a Google Kubernetes Engine

  2. Per visualizzare il numero di cluster interessati dai singoli suggerimenti, fai clic su Visualizza suggerimenti nella categoria che vuoi visualizzare: Integrità, Upgrade o Costo. Nel riquadro della barra laterale visualizzato, un elenco di suggerimenti indica quanti cluster sono interessati da ciascun suggerimento.

  3. Per visualizzare ulteriori informazioni, inclusi i nomi dei cluster interessati, fai clic sul nome del suggerimento.

  4. Per visualizzare ulteriori dettagli per ogni cluster interessato, fai di nuovo clic sul suggerimento.

Per visualizzare i suggerimenti per cluster, segui questi passaggi:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud :

    Vai a Google Kubernetes Engine

  2. Controlla la colonna Notifiche per cluster specifici per trovare insight e suggerimenti.

  3. Per visualizzare ulteriori informazioni, fai clic sull'insight. Nel riquadro della barra laterale visualizzato, puoi vedere i dettagli di questo insight, inclusi eventuali suggerimenti associati.

gcloud

In genere, a un insight corrisponde un suggerimento. Gli insight vengono recuperati con gcloud recommender insights e i suggerimenti con gcloud recommender recommendations.

  1. Visualizza l'elenco degli insight per i cluster di una zona specifica (per i cluster di zona) o di una regione specifica (per i cluster regionali):

    gcloud recommender insights list \
        --insight-type=google.container.DiagnosisInsight \
        --location=LOCATION \
        --project=PROJECT_ID \
        --format=FORMAT \
        --filter="insightSubtype:SUBTYPE"
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto Google Cloud per il progetto in cui si trovano i cluster.
    • LOCATION: la regione o la zona esatta del cluster. Per i cluster di zona, devi fornire la zona esatta (ad es. us-central1-c). Per i cluster regionali, devi fornire la regione esatta (ad es. us-central1).
    • FORMAT: modifica il formato di output in YAML. Questo flag è facoltativo.
    • SUBTYPE: un sottotipo di insight, ad esempio DEPRECATION_K8S_1_23_CERTIFICATE. In questo modo, l'output viene limitato agli insight di un sottotipo specificato. Questo flag è facoltativo.

    In alternativa, se hai già un ID insight, puoi visualizzare i dettagli dell'insight eseguendo questo comando:

    gcloud recommender insights describe INSIGHT \
        --insight-type=google.container.DiagnosisInsight \
        --location=LOCATION \
        --project=PROJECT_ID \
        --format=FORMAT
    

    Sostituisci INSIGHT con il valore dell'ID insight, specificato alla fine dell'URL dal campo name per l'insight.

    L'output include ulteriori dettagli sul comportamento rilevato da GKE nel cluster.

  2. Visualizza l'elenco dei suggerimenti per i cluster di una zona specifica (per i cluster di zona) o di una regione specifica (per i cluster regionali):

    gcloud recommender recommendations list \
        --recommender=google.container.DiagnosisRecommender \
        --location=LOCATION \
        --project=PROJECT_ID \
        --format=FORMAT \
        --filter="recommenderSubtype:SUBTYPE"
    

    Sostituisci SUBTYPE con un sottotipo di motore per suggerimenti, ad esempio DEPRECATION_K8S_1_23_CERTIFICATE. In questo modo, l'output viene limitato ai suggerimenti di un sottotipo specificato. Questo flag è facoltativo.

    In alternativa, se hai già un ID suggerimento, puoi visualizzarlo eseguendo questo comando:

    gcloud recommender recommendations describe RECOMMENDATION_ID \
        --recommender=google.container.DiagnosisRecommender \
        --location=LOCATION \
        --project=PROJECT_ID \
        --format=FORMAT
    

    Sostituisci RECOMMENDATION_ID con il valore salvato di associatedRecommendations.recommendation dall'output comando nel passaggio 1.

    L'output fornisce indicazioni sulle azioni che potresti dover intraprendere per ottimizzare l'utilizzo di GKE da parte del cluster.

API

A ogni insight corrisponde un consiglio. Gli insight vengono recuperati con la risorsa REST: projects.locations.insightTypes.insights e i suggerimenti con la risorsa REST: projects.locations.recommenders.recommendations.

  1. Visualizza l'elenco degli insight per i cluster di una zona specifica (per i cluster di zona) o di una regione specifica (per i cluster regionali):

    GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.container.DiagnosisInsight/insights?filter=insightSubtype%20%3D%20SUBTYPE
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto Google Cloud per il progetto in cui si trovano i cluster.
    • LOCATION: la regione o la zona esatta del cluster. Per i cluster di zona, devi fornire la zona esatta (ad es. us-central1-c). Per i cluster regionali, devi fornire la regione esatta (ad es. us-central1).
    • SUBTYPE: un sottotipo di insight, ad esempio DEPRECATION_K8S_1_23_CERTIFICATE. In questo modo, l'output viene limitato agli insight di un sottotipo specificato. Questo flag è facoltativo.

    In alternativa, se hai già un ID insight, puoi visualizzare i dettagli sull'insight effettuando la seguente richiesta:

    GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.container.DiagnosisInsight/insights/INSIGHT
    

    Sostituisci INSIGHT con il valore dell'ID insight, specificato alla fine dell'URL dal campo name per l'insight.

    Il corpo della risposta include i dettagli sul comportamento rilevato da GKE nel tuo cluster.

  2. Visualizza l'elenco dei suggerimenti per i cluster di una zona specifica (per i cluster di zona) o di una regione specifica (per i cluster regionali):

    GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.container.DiagnosisRecommender/recommendations?filter=recommenderSubtype%20%3D%20SUBTYPE
    

    Sostituisci SUBTYPE con un sottotipo di motore per suggerimenti, ad esempio DEPRECATION_K8S_1_23_CERTIFICATE. In questo modo, l'output viene limitato ai suggerimenti di un sottotipo specificato. Questo flag è facoltativo.

    In alternativa, se hai già un ID suggerimento, puoi visualizzare il suggerimento effettuando la seguente richiesta:

    GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.container.DiagnosisRecommender/recommendations/RECOMMENDATION_ID
    

    Sostituisci RECOMMENDATION_ID con il valore salvato di associatedRecommendations.recommendation dal corpo della risposta nel passaggio 1.

    Il corpo della risposta fornisce indicazioni sulle azioni che potresti dover intraprendere per ottimizzare l'utilizzo di GKE da parte del tuo cluster.

Esportazione di insight e suggerimenti in BigQuery

Puoi utilizzare BigQuery per esportare e analizzare insight e suggerimenti per l'intera organizzazione. Per saperne di più, consulta Esporta i suggerimenti in BigQuery.

Ignora o ripristina i consigli

Se non vuoi più visualizzare un suggerimento per un cluster nella consoleGoogle Cloud , ignoralo. Ad esempio, potresti farlo se hai valutato il suggerimento e hai deciso di non implementarlo.

Se ignori il suggerimento, questo non viene visualizzato per nessun utente che visualizza il cluster nella console. Dopo aver ignorato il suggerimento, questo non viene più visualizzato anche se GKE rileva lo stesso comportamento.

Quando ignori un suggerimento, lo nascondi solo per tutti gli utenti nella console. Il suggerimento rimane rilevabile con Google Cloud CLI e l'API Recommender.

Ignora un suggerimento

Per ignorare il suggerimento, segui le istruzioni per visualizzare insight e suggerimenti nella consoleGoogle Cloud per aprire il riquadro della barra laterale, che contiene ulteriori dettagli. In questo riquadro, fai clic sul pulsante Ignora.

Ignora i suggerimenti utilizzando Google Cloud CLI

Per ignorare un suggerimento utilizzando gcloud CLI, devi individuare il "valore etag" del suggerimento attivo e contrassegnarlo come ignorato.

  1. Elenca i suggerimenti attivi: per trovare il suggerimento che vuoi ignorare, elenca i suggerimenti attivi per il tuo cluster. Per escludere i suggerimenti già ignorati o che hanno avuto esito positivo o negativo, utilizza il flag --filter:

    gcloud recommender recommendations list \
        --recommender=RECOMMENDER_ID \
        --project=PROJECT_ID \
        --location=LOCATION \
        --filter="stateInfo.state=ACTIVE"
    

    Sostituisci quanto segue:

    • RECOMMENDER_ID: l'ID del motore per suggerimenti.
    • PROJECT_ID: l'ID progetto Google Cloud per il progetto in cui si trovano i cluster.
    • LOCATION: la regione o la zona esatta del cluster. Per i cluster a livello di zona, devi fornire la zona esatta (ad esempio us-central1-c). Per i cluster a livello di regione, devi fornire la regione esatta (ad esempio us-central1).
  2. Recupera l'etag: trova RECOMMENDATION_ID dall'output precedente e descrivilo per recuperare lo stato attuale e etag:

    gcloud recommender recommendations describe RECOMMENDATION_ID \
        --recommender=RECOMMENDER_ID \
        --project=PROJECT_ID \
        --location=LOCATION
    

    Sostituisci quanto segue:

    • RECOMMENDATION_ID: l'ID del suggerimento che vuoi ignorare.

    Prendi nota del valore etag nell'output (ad esempio, "a770e444b0088a35").

  3. Contrassegna come ignorato: esegui il comando mark-dismissed. L'API Recommender richiede l'esatto etag per evitare race condition.

    gcloud recommender recommendations mark-dismissed RECOMMENDATION_ID \
        --recommender=RECOMMENDER_ID \
        --project=PROJECT_ID \
        --location=LOCATION \
        --etag='"ETAG_VALUE"'
    

    Sostituisci quanto segue:

    • ETAG_VALUE: il valore etag restituito dal comando describe.

Ripristina un suggerimento ignorato

Puoi ripristinare un suggerimento ignorato seguendo le istruzioni per ripristinare un suggerimento.

Passaggi successivi