Questa pagina mostra come visualizzare approfondimenti e consigli sulle ritiri di Kubernetes per i cluster Google Kubernetes Engine (GKE). Per saperne di più su come gestire le ritiri di Kubernetes con GKE, consulta Ritiri di GKE.
Che cosa sono gli approfondimenti e i consigli sul ritiro?
Quando GKE rileva che un cluster utilizza una funzionalità o un'API Kubernetes deprecata e che verrà rimossa in una versione secondaria imminente, si verifica quanto segue:
- L'upgrade automatico alla versione secondaria imminente è in pausa. Per saperne di più su come funziona, vedi Cosa succede quando GKE mette in pausa gli upgrade automatici.
- Vengono generati insight e suggerimenti per valutare e attenuare l'esposizione del cluster al ritiro.
Gli insight e i suggerimenti sul ritiro sono disponibili nel Motore per suggerimenti, un servizio che fornisce insight e suggerimenti per l'utilizzo delle risorse su Google Cloud. Per saperne di più sul funzionamento del motore per suggerimenti con GKE, consulta Ottimizzare l'utilizzo di GKE con insight e suggerimenti.
Per l'argomento relativo ai ritiri con il motore per suggerimenti:
- Un insight spiega che il cluster utilizza una funzionalità o un'API che è deprecata e verrà rimossa in una versione secondaria imminente.
- Un consiglio fornisce indicazioni su cosa fare per ridurre l'esposizione del cluster al ritiro.
Ad esempio, un insight potrebbe spiegare che il cluster utilizza un'API beta che è deprecata e verrà rimossa nella versione secondaria successiva. Il suggerimento spiega che devi eseguire la migrazione dei carichi di lavoro dalle API beta alle API v1. Ogni suggerimento include un riferimento a una guida alla migrazione per la funzionalità o l'API deprecata. Questa guida alla migrazione è disponibile anche nella tabella corrispondente per i ritiri di Kubernetes.
Quando GKE genera una coppia di insight e suggerimenti, copre l'utilizzo di qualsiasi API o funzionalità Kubernetes deprecata in un determinato sottotipo di approfondimento per un cluster nel tuo progetto. Ad esempio, se uno user agent chiama una delle API gestite dal sottotipo DEPRECATION_K8S_1_22_V1BETA1_API
, vengono visualizzati un insight e un suggerimento che ti consigliano di eseguire la migrazione di questo cluster dall'utilizzo di queste API. Se anche un altro cluster utilizza queste API, GKE genera un altro approfondimento e un altro suggerimento.
Utilizzo di API e funzionalità Kubernetes deprecate rilevate da GKE
Ritiro | Rimosso nella versione GKE | Sottotipo di insight |
---|---|---|
Certificati TLS firmati con algoritmo SHA-1 | 1,29 | DEPRECATION_K8S_SHA_1_CERTIFICATE |
API deprecate per Kubernetes 1.29 | 1,29 | DEPRECATION_K8S_1_29_API |
API deprecate per Kubernetes 1.27 | 1,27 | DEPRECATION_K8S_1_27_API |
API deprecate per Kubernetes 1.26 | 1,26 | DEPRECATION_K8S_1_26_API |
API deprecate per Kubernetes 1.25 | 1,25 | DEPRECATION_K8S_1_25_API |
PodSecurityPolicy | 1,25 | DEPRECATION_K8S_1_25_PODSECURITYPOLICY |
Immagini dei nodi basate su Docker | 1,24 | DEPRECATION_K8S_1_24_DOCKERSHIM |
Campo Nome comune X.509 nei certificati webhook | 1,23 | DEPRECATION_K8S_1_23_CERTIFICATE |
API Kubernetes 1.22 deprecate,
API Kubernetes Ingress beta rimosse in GKE 1.23 |
1,22, 1,23 | DEPRECATION_K8S_1_22_V1BETA1_API |
Ricorda che, per i prossimi deprecazioni, devi valutare in modo indipendente l'esposizione dell'ambiente del tuo cluster e mitigare eventuali problemi.
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à, installa e initialize gcloud CLI. Se hai già installato gcloud CLI, scarica la versione più recente eseguendo
gcloud components update
.
Ruoli obbligatori
Assicurati di disporre delle autorizzazioni necessarie per gli insight e i suggerimenti di Kubernetes, con i seguenti ruoli di base o ruoli predefiniti:
Visualizza approfondimenti e suggerimenti con uno dei seguenti ruoli:
Visualizza e aggiorna lo stato degli approfondimenti e dei consigli (ad esempio, ignora un consiglio):
Visualizza approfondimenti e consigli
Puoi visualizzare insight e suggerimenti con Google Cloud CLI, nella console Google Cloud o con l'API Recommender.
Console
Vai alla pagina Google Kubernetes Engine nella console Google Cloud:
Controlla la colonna Notifiche per cluster specifici al fine di trovare insight.
Fai clic sull'approfondimento per saperne di più. Nel riquadro della barra laterale visualizzata puoi vedere i dettagli di questi approfondimenti, inclusi eventuali consigli associati.
gcloud
Un insight di solito ha un suggerimento corrispondente. Gli approfondimenti
vengono recuperati con gcloud recommender insights
e i consigli vengono recuperati con gcloud recommender recommendations
.
Visualizza l'elenco di insight per i cluster di una zona specifica (per i cluster di zona) o di una regione specifica (per i cluster a livello di regione):
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
: l'area geografica o la zona esatta del cluster. Per i cluster a livello di zona, devi fornire la zona esatta (ad esempious-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
. Ciò limita l'output agli insight di un sottotipo specificato. Questo flag è facoltativo.
In alternativa, se disponi già di un ID insight, puoi visualizzarne i dettagli 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 nel camponame
per l'insight.L'output include dettagli aggiuntivi sul comportamento rilevato da GKE nel tuo cluster.
Visualizza l'elenco dei suggerimenti per i cluster di una zona specifica (per i cluster a livello di zona) o di una regione specifica (per i cluster a livello di regione):
gcloud recommender recommendations list \ --recommender=google.container.DiagnosisRecommender \ --location=LOCATION \ --project=PROJECT_ID \ --format=FORMAT \ --filter="recommenderSubtype:SUBTYPE"
Sostituisci
SUBTYPE
con un sottotipo del motore per suggerimenti, ad esempioDEPRECATION_K8S_1_23_CERTIFICATE
. Questo limita l'output ai suggerimenti di un sottotipo specificato. Questo flag è facoltativo.In alternativa, se hai già un ID suggerimento, puoi visualizzare il suggerimento 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 diassociatedRecommendations.recommendation
dall'output comando nel Passaggio 1.L'output fornisce indicazioni sull'azione che potresti dover intraprendere per ottimizzare l'utilizzo di GKE da parte del tuo cluster.
API
A ogni insight corrisponde un suggerimento. Gli insight vengono recuperati con Risorsa REST: projects.locations.insightTypes.insights e i suggerimenti vengono recuperati con Risorsa REST: projects.locations.Recommenders.recommendations.
Visualizza l'elenco di insight per i cluster di una zona specifica (per i cluster di zona) o di una regione specifica (per i cluster a livello di regione):
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
: l'area geografica o la zona esatta del cluster. Per i cluster a livello di zona, devi fornire la zona esatta (ad esempious-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
. Ciò limita l'output agli insight di un sottotipo specificato. Questo flag è facoltativo.
In alternativa, se disponi già di un ID insight, puoi visualizzarne i dettagli 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 nel camponame
per l'insight.Il corpo della risposta include dettagli sul comportamento rilevato da GKE con il tuo cluster.
Visualizza l'elenco dei suggerimenti per i cluster di una zona specifica (per i cluster a livello di zona) o di una regione specifica (per i cluster a livello di regione):
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 del motore per suggerimenti, ad esempioDEPRECATION_K8S_1_23_CERTIFICATE
. Questo limita l'output 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 diassociatedRecommendations.recommendation
nel corpo della risposta nel Passaggio 1.Il corpo della risposta fornisce indicazioni su quale azione potresti dover intraprendere per ottimizzare l'utilizzo di GKE da parte del tuo cluster.
Esempio: Insight
Un approfondimento sul ritiro include i dettagli sulle tempistiche e sulla quantità di utilizzo di una funzionalità o un'API deprecata. Le informazioni incluse nell'insight dipendono dal tipo di ritiro fornito dall'insight.
Questo è un esempio di insight per il sottotipo di insight DEPRECATION_K8S_1_22_V1BETA1_API
:
name: projects/<PROJECT-NUMBER>/locations/us-central1/insightTypes/google.container.DiagnosisInsight/insights/<INSIGHT-ID>
observationPeriod: 2592000s
severity: HIGH
category: RELIABILITY
stateInfo:
state: ACTIVE
insightSubtype: DEPRECATION_K8S_1_22_V1BETA1_API
description: Your API clients have used deprecated APIs in the last 30 days that are removed in Kubernetes v1.22. Upgrading your cluster before migrating to the updated APIs supported by v1.22 could cause it to break. [Learn more](https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-22).
targetResources:
- //container.googleapis.com/projects/<PROJECT-NUMBER>/locations/us-central1/clusters/c1
associatedRecommendations:
- recommendation: projects/<PROJECT-NUMBER>/locations/us-central1/recommenders/google.container.DiagnosisRecommender/recommendations/<RECOMMENDATION-ID>
etag: '"2147dd8e1e302ed7"'
lastRefreshTime: "2022-01-30T08:00:00Z"
content:
targetClusters:
- clusterId: <CLUSTER-ID>
clusterUri: //container.googleapis.com/projects/<PROJECT-NUMBER>/locations/us-central1/clusters/c1
apiDeprecationInsight:
- api: /apis/networking.k8s.io/v1beta1/Ingress
stopServingVersion: 1.22
deprecatedClientStats:
userAgent: kubectl
numberOfRequestsLast30Days: 288
lastRequestTime: "2022-02-30T08:00:18Z"
- api: /apis/rbac.authorization.k8s.io/v1beta1/ClusterRole
stopServingVersion: 1.22
deprecatedClientStats:
userAgent: kubectl
numberOfRequestsLast30Days: 126
lastRequestTime: "2022-02-01T06:45:25Z"
Esempio: consiglio
Un suggerimento sul ritiro include una descrizione del ritiro con un link alla guida alla migrazione per il ritiro. Puoi trovare queste guide alla migrazione anche nella tabella dei ritiri delle funzionalità di GKE e nella tabella dei ritiri delle API Kubernetes.
Ecco un esempio di suggerimento per il sottotipo di consiglio DEPRECATION_K8S_1_22_V1BETA1_API
:
name: projects/<PROJECT-NUMBER>/locations/us-central1/recommenders/google.container.DiagnosisRecommender/recommendations/<RECOMMENDATION-ID>
description: Update manifests and API clients to use v1 API before upgrading to Kubernetes 1.22 by following the [instructions](https://cloud.google.com/kubernetes-engine/docs/deprecations/apis-1-22).
primaryImpact:
category: RELIABILITY
reliabilityProjection:
risks:
- SERVICE_DISRUPTION
priority: P2
recommenderSubtype: DEPRECATION_K8S_1_22_V1BETA1_API
stateInfo:
state: ACTIVE
targetResources:
- //container.googleapis.com/projects/<PROJECT-NUMBER>/locations/us-central1/clusters/c1
associatedInsights:
- insight: projects/<PROJECT-NUMBER>/locations/us-central1/insightTypes/google.container.DiagnosisInsight/insights/<INSIGHT-ID>
etag: '"4dc0f7b33594072f"'
lastRefreshTime: "2022-01-30T08:00:00Z"
content:
overview:
targetClusters:
- clusterId: <CLUSTER-ID>
clusterUri: //container.googleapis.com/projects/<PROJECT-NUMBER>/locations/us-central1/clusters/c1
apiDeprecationRecommendation:
- api: /apis/networking.k8s.io/v1beta1/Ingress
apiReplacement: /apis/networking.k8s.io/v1/Ingress
stopServingVersion: 1.22
- api: /apis/rbac.authorization.k8s.io/v1beta1/ClusterRole
apiReplacement: /apis/rbac.authorization.k8s.io/v1/ClusterRole
stopServingVersion: 1.22
Esportazione di insight e suggerimenti in BigQuery
Puoi utilizzare BigQuery per esportare e analizzare insight e suggerimenti per l'intera organizzazione. Per scoprire di più, vedi Esportare i suggerimenti in BigQuery.
Ignorare o ripristinare i suggerimenti sul ritiro
Se non vuoi più visualizzare un suggerimento sul ritiro per un cluster nella console Google Cloud, ignoralo. Potresti farlo, ad esempio, per ignorare i suggerimenti che si applicano a cluster temporanei.
Se ignori il suggerimento, questo non viene visualizzato dagli utenti che visualizzano il cluster nella console. Dopo averlo ignorato, il suggerimento non viene visualizzato di nuovo anche se uno user agent chiama l'API o la funzionalità deprecata in questo sottotipo dopo l'eliminazione.
Tuttavia, il suggerimento rimane rilevabile con Google Cloud CLI e l'API Recommender.
Quando ignori un consiglio, lo nascondi solo per tutti gli utenti. Gli upgrade automatici rimangono in pausa finché non esegui la migrazione dalla funzionalità o dall'API deprecata e GKE non rileva l'utilizzo delle API deprecate per 30 giorni consecutivi o fino a quando la versione del cluster non raggiunge la fine del ciclo di vita. Per saperne di più, vedi Quando GKE riprende gli upgrade automatici?.
Ignorare un consiglio
Per ignorare il suggerimento, segui le istruzioni per visualizzare insight e suggerimenti nella console Google Cloud per aprire il riquadro della barra laterale, che contiene ulteriori dettagli. Nel riquadro, fai clic sul pulsante Ignora.
Ripristinare un suggerimento ignorato
Puoi ripristinare un suggerimento ignorato seguendo le istruzioni per il ripristino di un suggerimento.
Passaggi successivi
- Per saperne di più su come funzionano le deprecazioni con GKE, consulta Ritiri di GKE.
- Per scoprire di più sull'API Recommender, consulta Utilizzo dell'API - Suggerimenti.