Con Google Kubernetes Engine (GKE), puoi ricevere indicazioni prescrittive su come ottimizzare i cluster.
GKE monitora i cluster e, se sono presenti potenziali ottimizzazioni, le indicazioni vengono fornite tramite Recommender, un Cloud de Confiance by S3NS servizio che genera insight e consigli per l'utilizzo delle risorse su Cloud de Confiance by S3NS. Per GKE, i motori per 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 consiglio spiega come ottimizzare l'utilizzo del cluster.
GKE fornisce queste informazioni nella Cloud de Confiance console e puoi trovarle anche con Google Cloud CLI e l'API Recommender. GKE fornisce motori per suggerimenti per argomenti quali:
- Ritiri: riduci l'esposizione a funzionalità o API Kubernetes ritirate.
- Operazioni e connettività: risolvi i problemi relativi alla connettività del piano di controllo e dei nodi e all'utilizzo degli indirizzi IP.
- Ottimizzazione dei costi: implementa configurazioni e pratiche ottimizzate per i costi. Ad esempio, identifica i cluster GKE inattivi, i cluster GKE con provisioning eccessivo e i carichi di lavoro con provisioning eccessivo.
- Scalabilità: implementa pratiche di miglioramento dell'affidabilità, come lo scale up dei cluster GKE e dei carichi di lavoro con provisioning insufficiente.
- Richieste e limiti delle risorse: imposta richieste e limiti delle risorse per evitare l'interruzione improvvisa dei pod in caso di pressione sulle risorse dei nodi e migliorare l'accuratezza dell'allocazione dei costi.
- Agones: isola il controller Agones nel cluster.
- Interruzioni: garantisci la continuità e la recuperabilità dei carichi di lavoro durante la manutenzione.
- Webhook: garantisci la stabilità del piano di controllo quando utilizzi i webhook.
- **Protezione dei dati**:assicurati che i carichi di lavoro siano protetti da eventi di interruzione.
- Credenziali delcluster: ruota le credenziali del cluster per evitare interruzioni.
- Canali dirilascio: registra i cluster in un canale di rilascio.
- Periodi di manutenzione: scegli un periodo di tempo ricorrente in cui viene eseguita la manutenzione del cluster GKE.
- Versioni supportate: assicurati che i cluster eseguano una versione supportata che rispetti anche i criteri di disallineamento delle versioni di GKE. Per i dettagli, consulta le sezioni Aggiornamenti automatici alla fine del supporto e Criteri di disallineamento delle versioni di GKE nella pagina a cui viene fatto riferimento.
- Autorizzazioni account di servizio del nodo: assicurati che i service account dei nodi dispongano delle autorizzazioni critiche necessarie per le normali operazioni di GKE.
- CRD: garantisci operazioni di cluster stabili correggendo le CRD configurate in modo errato con un bundle CA non valido.
- Utilizzo di etcd: assicurati che il database etcd disponga di spazio di archiviazione sufficiente per evitare l'instabilità del cluster.
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
- Se vuoi 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
gcloud components updatecomando. 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 gli insight e i consigli di Kubernetes, con i seguenti ruoli di base o ruoli predefiniti:
Visualizza insight e consigli con uno dei seguenti ruoli:
Visualizza e aggiorna lo stato di insight e consigli (ad esempio, ignora un consiglio):
Visualizzare insight e consigli
Puoi visualizzare insight e consigli con Google Cloud CLI, nella Cloud de Confiance console o con l'API Recommender.
Console
Quando visualizzi i consigli nella console, hai due opzioni. Puoi utilizzare il prospetto di riepilogo nella parte superiore della visualizzazione per vedere i risultati aggregati per i consigli relativi a integrità, upgrade e ottimizzazione dei costi in tutti i cluster del progetto.
In alternativa, puoi visualizzare un elenco di consigli per cluster.
Per visualizzare i consigli utilizzando il prospetto di riepilogo:
Vai alla pagina Google Kubernetes Engine nella Cloud de Confiance console:
Per visualizzare il numero di cluster interessati dai singoli consigli, fai clic su Visualizza consigli nella categoria che vuoi visualizzare: Integrità, Upgrade o Costo. Nel riquadro della barra laterale visualizzato, un elenco di consigli indica il numero di cluster interessati da ogni consiglio.
Per visualizzare ulteriori informazioni, inclusi i nomi dei cluster interessati, fai clic sul nome del consiglio.
Per visualizzare ulteriori dettagli per ogni cluster interessato, fai di nuovo clic sul consiglio.
Per visualizzare i consigli per cluster:
Vai alla pagina Google Kubernetes Engine nella Cloud de Confiance console:
Controlla la colonna Notifiche per cluster specifici per trovare insight e consigli.
Per visualizzare ulteriori informazioni, fai clic sull'insight. Nel riquadro della barra laterale visualizzato, puoi vedere i dettagli di questo insight, inclusi eventuali consigli associati.
gcloud
In genere, a un insight corrisponde un consiglio. Gli insight vengono
recuperati con gcloud recommender insights
e i consigli vengono recuperati con gcloud recommender recommendations.
Visualizza l'elenco degli insight per i cluster di una zona specifica (per i cluster zonali) 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' Cloud de Confiance by S3NS ID progetto del progetto in cui si trovano i cluster.LOCATION: la regione o la zona esatta del cluster. Per i cluster zonali, 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 esempioDEPRECATION_K8S_1_23_CERTIFICATE. Questo limita l'output agli insight di un sottotipo specificato. Questo flag è facoltativo.
In alternativa, se hai già un ID insight, puoi visualizzare i dettagli dell'insight eseguendo il seguente comando:
gcloud recommender insights describe INSIGHT \ --insight-type=google.container.DiagnosisInsight \ --location=LOCATION \ --project=PROJECT_ID \ --format=FORMATSostituisci
INSIGHTcon il valore dell'ID insight, specificato alla fine dell'URL dal camponamedell'insight.L'output include ulteriori dettagli sul comportamento rilevato da GKE con il tuo cluster.
Visualizza l'elenco dei consigli per i cluster di una zona specifica (per i cluster zonali) 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
SUBTYPEcon un sottotipo di motore per suggerimenti, ad esempioDEPRECATION_K8S_1_23_CERTIFICATE. Questo limita l'output ai consigli di un sottotipo specificato. Questo flag è facoltativo.In alternativa, se hai già un ID consiglio, puoi visualizzare il consiglio eseguendo il seguente comando:
gcloud recommender recommendations describe RECOMMENDATION_ID \ --recommender=google.container.DiagnosisRecommender \ --location=LOCATION \ --project=PROJECT_ID \ --format=FORMATSostituisci
RECOMMENDATION_IDcon il valore salvato diassociatedRecommendations.recommendationdall'output del comando nel passaggio 1.L'output fornisce indicazioni sull'azione 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 consigli con la risorsa REST: projects.locations.recommenders.recommendations.
Visualizza l'elenco degli insight per i cluster di una zona specifica (per i cluster zonali) 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%20SUBTYPESostituisci quanto segue:
PROJECT_ID: l' Cloud de Confiance by S3NS ID progetto del progetto in cui si trovano i cluster.LOCATION: la regione o la zona esatta del cluster. Per i cluster zonali, 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 esempioDEPRECATION_K8S_1_23_CERTIFICATE. Questo limita l'output agli insight di un sottotipo specificato. Questo flag è facoltativo.
In alternativa, se hai già un ID insight, puoi visualizzare i dettagli dell'insight effettuando la seguente richiesta:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.container.DiagnosisInsight/insights/INSIGHTSostituisci
INSIGHTcon il valore dell'ID insight, specificato alla fine dell'URL dal camponamedell'insight.Il corpo della risposta include i dettagli sul comportamento rilevato da GKE con il tuo cluster.
Visualizza l'elenco dei consigli per i cluster di una zona specifica (per i cluster zonali) 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%20SUBTYPESostituisci
SUBTYPEcon un sottotipo di motore per suggerimenti, ad esempio,DEPRECATION_K8S_1_23_CERTIFICATE. Questo limita l'output ai consigli di un sottotipo specificato. Questo flag è facoltativo.In alternativa, se hai già un ID consiglio, puoi visualizzare il consiglio effettuando la seguente richiesta:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.container.DiagnosisRecommender/recommendations/RECOMMENDATION_IDSostituisci
RECOMMENDATION_IDcon il valore salvato diassociatedRecommendations.recommendationdal corpo della risposta nel passaggio 1.Il corpo della risposta fornisce indicazioni sull'azione che potresti dover intraprendere per ottimizzare l'utilizzo di GKE da parte del cluster.
Esportare insight e consigli in BigQuery
Puoi utilizzare BigQuery per esportare e analizzare insight e consigli per l'intera organizzazione. Per saperne di più, consulta Esportare i consigli in BigQuery.
Ignorare o ripristinare i consigli
Se non vuoi più visualizzare un consiglio per un cluster nella Cloud de Confiance console, ignoralo. Ad esempio, potresti farlo se hai valutato il consiglio e hai deciso di non implementarlo.
Se ignori il consiglio, non viene visualizzato per nessun utente che visualizza il cluster nella console. Dopo aver ignorato il consiglio, non viene visualizzato di nuovo anche se GKE rileva lo stesso comportamento.
Quando ignori un consiglio, lo nascondi solo per tutti gli utenti nella console. Il consiglio rimane rilevabile con Google Cloud CLI e l'API Recommender.
Ignorare un consiglio
Per ignorare il consiglio, segui le istruzioni per visualizzare insight e consigli nella Cloud de Confiance console per aprire il riquadro della barra laterale, che contiene ulteriori dettagli. In questo riquadro, fai clic sul pulsante Ignora.
Ignorare i consigli utilizzando Google Cloud CLI
Per ignorare un consiglio utilizzando gcloud CLI, devi individuare il "valore etag" del consiglio attivo e poi contrassegnarlo come ignorato.
Elenca i consigli attivi: per trovare il consiglio che vuoi ignorare, elenca i consigli attivi per il tuo cluster. Per escludere i consigli già ignorati o riusciti o non riusciti, 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 del progetto in cui si trovano i cluster. Cloud de Confiance by S3NSLOCATION: la regione o la zona esatta del cluster. Per i cluster zonali, devi fornire la zona esatta (ad es.us-central1-c). Per i cluster regionali, devi fornire la regione esatta (ad es.us-central1).
Recupera l'etag: trova
RECOMMENDATION_IDnell'output precedente e descrivilo per recuperarne lo stato attuale e l'etag:gcloud recommender recommendations describe RECOMMENDATION_ID \ --recommender=RECOMMENDER_ID \ --project=PROJECT_ID \ --location=LOCATIONSostituisci quanto segue:
RECOMMENDATION_ID: l'ID del consiglio che vuoi ignorare.
Prendi nota del valore
etagnell'output (ad esempio,"a770e444b0088a35").Contrassegna come ignorato: esegui il comando
mark-dismissed. L'API Recommender richiede l'etagesatto per evitare condizioni di race.gcloud recommender recommendations mark-dismissed RECOMMENDATION_ID \ --recommender=RECOMMENDER_ID \ --project=PROJECT_ID \ --location=LOCATION \ --etag='"ETAG_VALUE"'Sostituisci quanto segue:
ETAG_VALUE: il valoreetagrestituito dal comando describe.
Ripristinare un consiglio ignorato
Puoi ripristinare un consiglio ignorato seguendo le istruzioni per ripristinare un consiglio.
Passaggi successivi
- Scopri di più sui motori per suggerimenti