Questa pagina mostra come visualizzare approfondimenti e consigli relativi alle deprecazioni di Kubernetes per i tuoi cluster Google Kubernetes Engine (GKE). Per scoprire di più su come gestire le deprecazioni di Kubernetes con GKE, consulta Deprecazioni di funzionalità e API.
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 prossima versione secondaria, si verifica quanto segue:
- L'upgrade automatico alla prossima versione secondaria è in pausa. Per saperne di più su come funziona, consulta la pagina Cosa succede quando GKE mette in pausa gli upgrade automatici.
- Vengono generati un approfondimento e un consiglio per consentirti di valutare e mitigare l'esposizione del tuo cluster al ritiro.
Gli approfondimenti e i suggerimenti sul ritiro sono disponibili in Recommender, un servizio che fornisce approfondimenti e suggerimenti per l'utilizzo delle risorse suGoogle Cloud. Per scoprire di più su come funziona Recommender con GKE, consulta Ottimizzare l'utilizzo di GKE con approfondimenti e suggerimenti.
Per l'argomento relativo ai ritiri con Recommender:
- Un approfondimento spiega che il tuo 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 approfondimento potrebbe spiegare che il tuo cluster utilizza un'API beta obsoleta che verrà rimossa nella prossima versione secondaria. Il consiglio spiega che devi eseguire la migrazione dei tuoi carichi di lavoro dall'utilizzo delle API beta all'utilizzo delle API v1. Ogni consiglio include un riferimento a una guida alla migrazione per la funzionalità o l'API ritirata. 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 API o funzionalità Kubernetes ritirate in un particolare sottotipo di insight per un cluster nel tuo progetto. Ad esempio, se uno user agent chiama una delle API indirizzate dal sottotipo DEPRECATION_K8S_1_22_V1BETA1_API
, viene visualizzato un approfondimento e un consiglio per suggerire 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 suggerimento.
Utilizzo di funzionalità e API Kubernetes deprecate rilevate da GKE
Ritiro | Rimossa nella versione di GKE | Sottotipo di insight |
---|---|---|
Funzionalità di Containerd 1.7 | 1,33 | DEPRECATION_CONTAINERD_V1_SCHEMA_IMAGES ,DEPRECATION_CONTAINERD_V1ALPHA2_CRI_API |
API Kubernetes 1.32 deprecate | 1.32 | DEPRECATION_K8S_1_32_API |
Certificati TLS firmati con l'algoritmo SHA-1 | 1,29 | DEPRECATION_K8S_SHA_1_CERTIFICATE |
API Kubernetes 1.29 deprecate | 1,29 | DEPRECATION_K8S_1_29_API |
API Kubernetes 1.27 deprecate | 1,27 | DEPRECATION_K8S_1_27_API |
API Kubernetes 1.26 deprecate | 1,26 | DEPRECATION_K8S_1_26_API |
API Kubernetes 1.25 deprecate | 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 Common Name X.509 nei certificati webhook | 1.23 | DEPRECATION_K8S_1_23_CERTIFICATE |
API Kubernetes 1.22 deprecate,
API beta di Kubernetes Ingress rimosse in GKE 1.23 |
1.22, 1.23 | DEPRECATION_K8S_1_22_V1BETA1_API |
Ricorda che per i ritiri imminenti, devi valutare in modo indipendente l'esposizione dell'ambiente del cluster e mitigare eventuali problemi.
Prima di iniziare
Prima di iniziare, assicurati di aver eseguito le seguenti operazioni:
- Attiva l'API Google Kubernetes Engine. Attiva l'API Google Kubernetes Engine
- Se vuoi utilizzare Google Cloud CLI per questa attività,
installala e poi
inizializzala. Se hai già installato gcloud CLI, scarica l'ultima versione eseguendo
gcloud components update
.
Ruoli obbligatori
Assicurati di disporre delle autorizzazioni necessarie per approfondimenti e consigli di Kubernetes, con i seguenti ruoli di base o ruoli predefiniti:
Visualizza approfondimenti e consigli con uno dei seguenti ruoli:
Visualizza e aggiorna lo stato di approfondimenti e consigli (ad esempio, ignora un consiglio):
Visualizzare approfondimenti e consigli
Puoi visualizzare approfondimenti e consigli con Google Cloud CLI, nella consoleGoogle Cloud 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 visualizzare i risultati aggregati per i consigli su integrità, upgrade e ottimizzazione dei costi in tutti i cluster del tuo progetto.
In alternativa, puoi visualizzare un elenco di consigli per cluster.
Per visualizzare i consigli utilizzando il prospetto:
Vai alla pagina Google Kubernetes Engine nella console Google Cloud :
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 ciascun 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 suggerimento.
Per visualizzare i consigli per cluster, segui questi passaggi:
Vai alla pagina Google Kubernetes Engine nella console Google Cloud :
Controlla la colonna Notifiche per cluster specifici per trovare approfondimenti e consigli.
Per visualizzare ulteriori informazioni, fai clic sull'approfondimento. Nel riquadro della barra laterale visualizzata, puoi vedere i dettagli di questo approfondimento, incluso qualsiasi consiglio associato.
gcloud
Un insight in genere ha un suggerimento corrispondente. Gli approfondimenti vengono recuperati con gcloud recommender insights
e i consigli con gcloud recommender recommendations
.
Visualizza l'elenco degli approfondimenti 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' Google Cloud 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
: cambia il formato di output in YAML. Questo flag è facoltativo.SUBTYPE
: un sottotipo di insight, ad esempioDEPRECATION_K8S_1_23_CERTIFICATE
. In questo modo, l'output è limitato agli approfondimenti di un sottotipo specifico. Questo flag è facoltativo.
In alternativa, se hai già un ID approfondimento, puoi visualizzare i dettagli eseguendo il seguente 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 approfondimento, specificato alla fine dell'URL dal camponame
per l'approfondimento.L'output include ulteriori dettagli sul comportamento che GKE ha rilevato nel tuo cluster.
Visualizza l'elenco dei consigli 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 sistema di raccomandazione, ad esempioDEPRECATION_K8S_1_23_CERTIFICATE
. In questo modo, l'output viene limitato ai consigli di un sottotipo specificato. Questo flag è facoltativo.In alternativa, se hai già un ID consiglio, puoi visualizzarlo eseguendo il seguente 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 cluster.
API
Ogni approfondimento ha un consiglio corrispondente. Gli approfondimenti vengono recuperati con Risorsa REST: projects.locations.insightTypes.insights e i consigli vengono recuperati con Risorsa REST: projects.locations.recommenders.recommendations.
Visualizza l'elenco degli approfondimenti 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%20SUBTYPE
Sostituisci quanto segue:
PROJECT_ID
: l' Google Cloud 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
. In questo modo, l'output è limitato agli approfondimenti di un sottotipo specifico. Questo flag è facoltativo.
In alternativa, se hai già un ID approfondimento, puoi visualizzare i dettagli dell'approfondimento 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 approfondimento, specificato alla fine dell'URL dal camponame
per l'approfondimento.Il corpo della risposta include dettagli sul comportamento rilevato da GKE nel tuo cluster.
Visualizza l'elenco dei consigli 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 sistema di raccomandazione, ad esempioDEPRECATION_K8S_1_23_CERTIFICATE
. In questo modo, l'output viene limitato ai consigli di un sottotipo specificato. Questo flag è facoltativo.In alternativa, se hai già un ID consiglio, puoi visualizzarlo 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
dal corpo della risposta nel passaggio 1.Il corpo della risposta fornisce indicazioni sull'azione che potresti dover intraprendere per ottimizzare l'utilizzo di GKE del tuo cluster.
Esempio: Approfondimento
Un approfondimento sul ritiro include dettagli su tempistiche e quantità di utilizzo di una funzionalità o API ritirata. Le informazioni incluse nell'approfondimento dipendono dal tipo di ritiro per cui l'approfondimento fornisce informazioni.
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 di 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 delle deprecazioni delle funzionalità di GKE e nella tabella delle deprecazioni delle API Kubernetes.
Questo è un esempio di suggerimento per il sottotipo di suggerimento 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 gli approfondimenti e i suggerimenti per l'intera organizzazione. Per saperne di più, consulta Esportare i suggerimenti in BigQuery.
Ignorare o ripristinare i consigli relativi al ritiro
Se non vuoi più visualizzare un consiglio di ritiro per un cluster nella consoleGoogle Cloud , ignoralo. Potresti farlo, ad esempio, per ignorare i consigli che si applicano a cluster temporanei e di breve durata.
Se ignori il consiglio, questo non viene visualizzato da nessun utente che visualizza il cluster nella console. Dopo aver ignorato il suggerimento, non viene più visualizzato anche se un user agent chiama l'API o la funzionalità ritirata in questo sottotipo dopo l'ignoramento.
Tuttavia, il suggerimento rimane rilevabile con Google Cloud CLI e l'API Recommender.
Quando ignori un suggerimento, 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 oppure finché la versione del cluster non raggiunge la fine del supporto. Per saperne di più, consulta Quando GKE riprende gli upgrade automatici?.
Ignorare un consiglio
Per ignorare il consiglio, segui le istruzioni per visualizzare approfondimenti e consigli nella consoleGoogle Cloud per aprire il riquadro della barra laterale, che contiene ulteriori dettagli. In questo riquadro, fai clic sul pulsante Ignora.
Ripristinare un suggerimento ignorato
Puoi ripristinare un consiglio ignorato seguendo le istruzioni per ripristinare un consiglio.
Passaggi successivi
- Per scoprire di più su come funzionano i ritiri con GKE, consulta la sezione Ritiri di funzionalità e API.
- Per saperne di più sull'API Recommender, consulta Utilizzo dell'API - Suggerimenti.