Visualizzazione di approfondimenti e consigli sul ritiro


Questa pagina mostra come visualizzare approfondimenti e consigli sulle ritirate di Kubernetes per i tuoi cluster Google Kubernetes Engine (GKE). Per scoprire di più su come gestire i ritiri di Kubernetes con GKE, consulta la pagina relativa ai ritiri di GKE.

Che cosa sono gli approfondimenti e i consigli relativi al ritiro?

Quando GKE rileva che un cluster utilizza un'API o una funzionalità Kubernetes deprecata e che verrà rimossa in una versione minore imminente, avviene quanto segue:

Gli approfondimenti e i consigli sul ritiro sono disponibili in Recommender, un servizio che fornisce approfondimenti e consigli per l'utilizzo delle risorse su Google Cloud. Per scoprire di più su come Recommender funziona con GKE, consulta Ottimizzare l'utilizzo di GKE con approfondimenti e consigli.

Per l'argomento relativo al ritiro con Recommender:

  • Un approfondimento spiega che il tuo cluster utilizza una funzionalità o un'API ritirata che verrà rimossa in una versione secondaria imminente.
  • Un consiglio fornisce indicazioni su cosa fare per ridurre l'esposizione del tuo cluster al ritiro.

Ad esempio, un'informazione potrebbe spiegare che il tuo cluster utilizza un'API beta che è obsoleta e verrà rimossa nella prossima versione secondaria. Il consiglio spiega che devi eseguire la migrazione dei carichi di lavoro dall'utilizzo delle API beta alle 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 approfondimenti e consigli, copre l'utilizzo di eventuali API o funzionalità Kubernetes ritirate in un determinato sottotipo di approfondimento per un cluster del progetto. Ad esempio, se uno o più user agent chiamano una delle API indirizzate dal sottotipo DEPRECATION_K8S_1_22_V1BETA1_API, viene visualizzato un'informazione e un consiglio che 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 consiglio.

Utilizzo di API e funzionalità di Kubernetes deprecate rilevate da GKE

Ritiro Rimosso nella versione GKE Sottotipo di insight
Certificati TLS firmati con l'algoritmo SHA-1 1,29 DEPRECATION_K8S_SHA_1_CERTIFICATE
API deprecate di Kubernetes 1.29 1,29 DEPRECATION_K8S_1_29_API
API deprecate di Kubernetes 1.27 1,27 DEPRECATION_K8S_1_27_API
API deprecate di Kubernetes 1.26 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 deprecate di Kubernetes 1.22,
API beta di Kubernetes Ingress rimosse in GKE 1.23
1.22, 1.23 DEPRECATION_K8S_1_22_V1BETA1_API

Ricorda che per le ritiri imminenti, devi valutare in modo indipendente l'esposizione del tuo ambiente 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à, installa e poi inizializza gcloud CLI. Se hai già installato gcloud CLI, ottieni la versione più recente eseguendo gcloud components update.

Ruoli obbligatori

Assicurati di disporre delle autorizzazioni necessarie per gli approfondimenti e i consigli di Kubernetes con i seguenti ruoli di base o ruoli predefiniti:

Visualizzare approfondimenti e consigli

Puoi visualizzare approfondimenti e consigli con Google Cloud CLI, nella console Google Cloud o con l'API Recommender.

Console

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

    Vai a Google Kubernetes Engine

  2. Controlla la colonna Notifiche per individuare approfondimenti su cluster specifici.

  3. Fai clic sull'informazione per visualizzare ulteriori informazioni. Nel riquadro della barra laterale visualizzato, puoi visualizzare i dettagli di questo approfondimento, inclusi eventuali consigli associati.

gcloud

Un insight ha in genere un consiglio corrispondente. Gli approfondimenti vengono recuperati con gcloud recommender insights e i consigli con gcloud recommender recommendations.

  1. Visualizza l'elenco degli approfondimenti 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 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 informazione, ad esempio DEPRECATION_K8S_1_23_CERTIFICATE. Ciò limita l'output agli approfondimenti di un sottotipo specificato. Questo flag è facoltativo.

    In alternativa, se hai già un ID insight, puoi visualizzarne 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 informazione, specificato alla fine dell'URL del campo name per l'informazione.

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

  2. 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 SUBTYPE con un sottotipo di consiglio, ad esempio DEPRECATION_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 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 tuo cluster.

API

A ogni informazione corrisponde un consiglio. Gli approfondimenti vengono recuperati con Risorsa REST: projects.locations.insightTypes.insights e i consigli vengono recuperati con Risorsa REST: projects.locations.recommenders.recommendations.

  1. Visualizza l'elenco degli approfondimenti 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 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 informazione, ad esempio DEPRECATION_K8S_1_23_CERTIFICATE. Ciò limita l'output agli approfondimenti di un sottotipo specificato. Questo flag è facoltativo.

    In alternativa, se hai già un ID insight, puoi visualizzarne i dettagli inviando 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 informazione, specificato alla fine dell'URL del campo name per l'informazione.

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

  2. 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%20SUBTYPE
    

    Sostituisci SUBTYPE con un sottotipo di consiglio, ad esempio DEPRECATION_K8S_1_23_CERTIFICATE. Ciò limita l'output ai consigli di un sottotipo specificato. Questo flag è facoltativo.

    In alternativa, se hai già un ID consiglio, puoi visualizzarlo inviando 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.

Esempio: Approfondimento

Un'informazione sulla ritiro include dettagli sui tempi e sulla quantità di utilizzo di un'API o funzionalità ritirata. Le informazioni incluse nell'approfondimento dipendono dal tipo di ritiro per cui fornisce informazioni.

Questo è un esempio di insight per il tipo 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 consiglio di ritiro include una descrizione del ritiro con un link alla guida alla migrazione relativa al ritiro. Puoi trovare queste guide alla migrazione anche nella tabella delle deprecazioni delle funzionalità di GKE e nella tabella delle deprecazioni dell'API Kubernetes.

Questo è un esempio di consiglio 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 approfondimenti e consigli per l'intera organizzazione. Per scoprire 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 console Google Cloud, ignoralo. Ad esempio, puoi farlo per ignorare i consigli che si applicano a cluster temporanei di breve durata.

Se ignori il consiglio, questo non viene visualizzato per nessun utente che visualizza il cluster nella console. Dopo che hai ignorato il consiglio, non viene visualizzato di nuovo anche se un agente utente chiama l'API o la funzionalità ritirata in questo sottotipo dopo l'ignoramento.

Tuttavia, il consiglio 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 fino a quando 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 supporto. Per scoprire di più, consulta Quando GKE riprende gli upgrade automatici?.

Ignorare un consiglio

Per ignorare il consiglio, segui le istruzioni per la visualizzazione di approfondimenti e consigli nella console Google Cloud per aprire il riquadro della barra laterale, che contiene ulteriori dettagli. In questo riquadro, fai clic sul pulsante Ignora.

Ripristinare un consiglio ignorato

Puoi ripristinare un consiglio ignorato seguendo le istruzioni per il ripristino di un consiglio.

Passaggi successivi