Ver recomendações e estatísticas de descontinuação


Esta página mostra como ver estatísticas e recomendações sobre as descontinuações do Kubernetes para os seus clusters do Google Kubernetes Engine (GKE). Para saber mais sobre como gerir descontinuações do Kubernetes com o GKE, consulte o artigo Descontinuações de funcionalidades e APIs.

O que são as recomendações e as estatísticas de descontinuação?

Quando o GKE deteta que um cluster está a usar uma funcionalidade ou uma API do Kubernetes que foi descontinuada e vai ser removida numa próxima versão secundária, ocorre o seguinte:

As estatísticas e as recomendações de descontinuação estão disponíveis no Recommender, um serviço que fornece estatísticas e recomendações para usar recursos noGoogle Cloud. Para saber como o Recomendador funciona com o GKE, consulte o artigo Otimize a sua utilização do GKE com estatísticas e recomendações.

Para o tópico de descontinuações com o recomendador:

  • Uma estatística explica que o seu cluster usa uma funcionalidade ou uma API que foi descontinuada e vai ser removida numa versão secundária futura.
  • Uma recomendação fornece orientações sobre o que fazer para mitigar a exposição do seu cluster à descontinuação.

Por exemplo, uma estatística pode explicar que o seu cluster está a usar uma API beta que está descontinuada e vai ser removida na próxima versão secundária. A recomendação explica que deve migrar as suas cargas de trabalho da utilização das APIs beta para a utilização das APIs v1. Cada recomendação inclui uma referência a um guia de migração para a funcionalidade ou a API descontinuada. Este guia de migração também está disponível na tabela correspondente para descontinuações do Kubernetes.

Quando o GKE gera um par de estatísticas e recomendações, abrange a utilização de APIs ou funcionalidades do Kubernetes descontinuadas num subtipo de estatísticas específico para um cluster no seu projeto. Por exemplo, se algum agente do utilizador chamar alguma das APIs abordadas pelo subtipo DEPRECATION_K8S_1_22_V1BETA1_API, é apresentada uma estatística e uma recomendação para recomendar que migre este cluster da utilização destas APIs. Se outro cluster também estiver a usar estas APIs, o GKE gera outra estatística e recomendação.

Utilização de APIs e funcionalidades do Kubernetes descontinuadas detetada pelo GKE

Descontinuação Removido na versão do GKE Subtipo de estatísticas
Funcionalidades do Containerd 1.7 1,33 DEPRECATION_CONTAINERD_V1_SCHEMA_IMAGES,
DEPRECATION_CONTAINERD_V1ALPHA2_CRI_API
APIs descontinuadas do Kubernetes 1.32 1,32 DEPRECATION_K8S_1_32_API
Certificados TLS assinados com o algoritmo SHA-1 1,29 DEPRECATION_K8S_SHA_1_CERTIFICATE
APIs descontinuadas do Kubernetes 1.29 1,29 DEPRECATION_K8S_1_29_API
APIs descontinuadas do Kubernetes 1.27 1.27 DEPRECATION_K8S_1_27_API
APIs descontinuadas do Kubernetes 1.26 1,26 DEPRECATION_K8S_1_26_API
APIs descontinuadas do Kubernetes 1.25 1,25 DEPRECATION_K8S_1_25_API
PodSecurityPolicy 1,25 DEPRECATION_K8S_1_25_PODSECURITYPOLICY
Imagens de nós baseadas no Docker 1.24 DEPRECATION_K8S_1_24_DOCKERSHIM
Campo de nome comum X.509 em certificados de webhook 1.23 DEPRECATION_K8S_1_23_CERTIFICATE
APIs Kubernetes 1.22 descontinuadas,
APIs Kubernetes Ingress Beta removidas no GKE 1.23
1.22 e 1.23 DEPRECATION_K8S_1_22_V1BETA1_API

Tenha em atenção que, para as descontinuações futuras, tem de avaliar independentemente a exposição do ambiente do cluster e mitigar quaisquer problemas.

Antes de começar

Antes de começar, certifique-se de que realizou as seguintes tarefas:

  • Ative a API Google Kubernetes Engine.
  • Ative a API Google Kubernetes Engine
  • Se quiser usar a CLI gcloud para esta tarefa, instale-a e, em seguida, inicialize-a. Se instalou anteriormente a CLI gcloud, execute gcloud components update para obter a versão mais recente.

Funções necessárias

Certifique-se de que tem as autorizações necessárias para as estatísticas e as recomendações do Kubernetes, com as seguintes funções básicas ou funções predefinidas:

Veja estatísticas e recomendações

Pode ver estatísticas e recomendações com a CLI gcloud, na Google Cloud consola ou com a API Recommender.

Consola

Quando vê recomendações na consola, tem duas opções. Pode usar a tabela de dados de nível superior na parte superior da vista para ver os resultados agregados das recomendações de estado, atualização e otimização de custos em todos os clusters no seu projeto.

Em alternativa, pode ver uma lista de recomendações por cluster.

Para ver recomendações através da tabela de dados, siga estes passos:

  1. Aceda à página do Google Kubernetes Engine na Google Cloud consola:

    Aceda ao Google Kubernetes Engine

  2. Para ver o número de grupos afetados por recomendações individuais, clique em Ver recomendações na categoria que quer ver: Saúde, Atualização ou Custo. No painel da barra lateral revelado, uma lista de recomendações indica quantos grupos são afetados por cada recomendação.

  3. Para ver mais informações, incluindo os nomes dos clusters afetados, clique no nome da recomendação.

  4. Para ver mais detalhes de cada cluster afetado, clique novamente na recomendação.

Para ver recomendações por cluster, siga estes passos:

  1. Aceda à página do Google Kubernetes Engine na Google Cloud consola:

    Aceda ao Google Kubernetes Engine

  2. Consulte a coluna Notificações para ver clusters específicos e encontrar estatísticas e recomendações.

  3. Para revelar mais informações, clique na estatística. No painel da barra lateral apresentado, pode ver detalhes sobre esta estatística, incluindo qualquer recomendação associada.

gcloud

Normalmente, uma estatística tem uma recomendação correspondente. As estatísticas são obtidas com gcloud recommender insights e as recomendações são obtidas com gcloud recommender recommendations.

  1. Veja a lista de estatísticas para os clusters de uma zona específica (para clusters zonais) ou uma região específica (para clusters regionais):

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

    Substitua o seguinte:

    • PROJECT_ID: o Google Cloud ID do projeto para o projeto onde os clusters estão localizados.
    • LOCATION: a região ou a zona exata do cluster. Para clusters zonais, tem de indicar a zona exata (por exemplo, us-central1-c). Para clusters regionais, tem de indicar a região exata (por exemplo, us-central1).
    • FORMAT: altere o formato de saída para YAML. Esta flag é opcional.
    • SUBTYPE: um subtipo de estatísticas>, por exemplo, DEPRECATION_K8S_1_23_CERTIFICATE. Isto limita a saída a estatísticas de um subtipo especificado. Esta flag é opcional.

    Em alternativa, se já tiver um ID de estatística, pode ver detalhes sobre a estatística executando o seguinte comando:

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

    Substitua INSIGHT pelo valor do ID das estatísticas, especificado no final do URL do campo name para as estatísticas.

    associatedRecommendations.recommendation

    O resultado inclui detalhes adicionais sobre o comportamento que o GKE detetou com o seu cluster.

  2. Veja a lista de recomendações para os clusters de uma zona específica (para clusters zonais) ou uma região específica (para clusters regionais):

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

    Substitua SUBTYPE por um subtipo de recomendador, por exemplo, DEPRECATION_K8S_1_23_CERTIFICATE. Isto limita a saída a recomendações de um subtipo especificado. Esta flag é opcional.

    Em alternativa, se já tiver um ID da recomendação, pode ver a recomendação executando o seguinte comando:

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

    Substitua RECOMMENDATION_ID pelo valor guardado de associatedRecommendations.recommendation a partir do resultado do comando no passo 1.

    O resultado fornece orientações sobre as ações que pode ter de tomar para otimizar a utilização do GKE pelo cluster.

API

Cada estatística tem uma recomendação correspondente. As estatísticas são obtidas com o recurso REST: projects.locations.insightTypes.insights e as recomendações são obtidas com o recurso REST: projects.locations.recommenders.recommendations.

  1. Veja a lista de estatísticas para os clusters de uma zona específica (para clusters zonais) ou uma região específica (para clusters regionais):

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

    Substitua o seguinte:

    • PROJECT_ID: o Google Cloud ID do projeto para o projeto onde os clusters estão localizados.
    • LOCATION: a região ou a zona exata do cluster. Para clusters zonais, tem de indicar a zona exata (por exemplo, us-central1-c). Para clusters regionais, tem de indicar a região exata (por exemplo, us-central1).
    • SUBTYPE: um subtipo de estatísticas>, por exemplo, DEPRECATION_K8S_1_23_CERTIFICATE. Isto limita a saída a estatísticas de um subtipo especificado. Esta flag é opcional.

    Em alternativa, se já tiver um ID de estatística, pode ver detalhes sobre a estatística fazendo o seguinte pedido:

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

    Substitua INSIGHT pelo valor do ID das estatísticas, especificado no final do URL do campo name para as estatísticas.

    associatedRecommendations.recommendation

    O corpo da resposta inclui detalhes sobre o comportamento que o GKE detetou no seu cluster.

  2. Veja a lista de recomendações para os clusters de uma zona específica (para clusters zonais) ou uma região específica (para clusters regionais):

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

    Substitua SUBTYPE por um subtipo de recomendador, por exemplo, DEPRECATION_K8S_1_23_CERTIFICATE. Isto limita a saída a recomendações de um subtipo especificado. Esta flag é opcional.

    Em alternativa, se já tiver um ID da recomendação, pode ver a recomendação fazendo o seguinte pedido:

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

    Substitua RECOMMENDATION_ID pelo valor guardado de associatedRecommendations.recommendation do corpo da resposta no passo 1.

    O corpo da resposta fornece orientações sobre as ações que pode ter de realizar para otimizar a utilização do GKE do seu cluster.

Exemplo: Insight

Uma estatística de descontinuação inclui detalhes sobre o momento e a quantidade de utilização de uma funcionalidade ou uma API descontinuada. As informações incluídas na estatística dependem do tipo de descontinuação para o qual a estatística está a fornecer informações.

Este é um exemplo de estatística para o subtipo de estatística 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"

Exemplo: Recommendation

Uma recomendação de descontinuação inclui uma descrição da descontinuação com um link para o guia de migração da descontinuação. Também pode encontrar estes guias de migração na tabela de descontinuações de funcionalidades do GKE e na tabela de descontinuações da API Kubernetes.

Esta é uma recomendação de exemplo para o subtipo de recomendação 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

Exporte estatísticas e recomendações para o BigQuery

Pode usar o BigQuery para exportar e analisar estatísticas e recomendações para toda a sua organização. Para saber mais, consulte o artigo Exporte recomendações para o BigQuery.

Ignore ou restaure recomendações de descontinuação

Se não quiser ver uma recomendação de descontinuação para um cluster na Google Cloud consola, ignore-a. Pode fazê-lo, por exemplo, para ignorar recomendações que se aplicam a clusters temporários e de curta duração.

Se ignorar a recomendação, esta não é apresentada a nenhum utilizador que veja o cluster na consola. Depois de ignorar a recomendação, esta não volta a ser apresentada, mesmo que um agente do utilizador chame a API ou a funcionalidade descontinuada neste subtipo após a ignorar.

No entanto, a recomendação continua a ser detetável com a CLI gcloud do Google Cloud e a API Recommender.

Quando ignora uma recomendação, apenas a oculta para todos os utilizadores. As atualizações automáticas permanecem pausadas até migrar da funcionalidade ou da API descontinuada e o GKE não detetar a utilização das APIs descontinuadas durante 30 dias consecutivos, ou até a versão do cluster atingir o fim do apoio técnico. Para saber mais, consulte o artigo Quando é que o GKE retoma as atualizações automáticas?.

Ignore uma recomendação

Para ignorar a recomendação, siga as instruções para Ver estatísticas e recomendações na Google Cloud consola para abrir o painel da barra lateral, que tem mais detalhes. Nesse painel, clique no botão Ignorar.

Restaure uma recomendação ignorada

Pode restaurar uma recomendação ignorada seguindo as instruções para restaurar uma recomendação.

O que se segue?