Detectar APIs removidas do Kubernetes

Há várias versões do Kubernetes que tiveram APIs descontinuadas e removidas. Se você fizer upgrade de um cluster do GKE em Bare Metal para uma nova versão do Kubernetes e as cargas de trabalho usarem APIs que foram removidas, elas poderão ser interrompidas. Siga as etapas neste documento para determinar se suas cargas de trabalho usam alguma das APIs removidas de uma determinada versão do Kubernetes antes de fazer upgrade do cluster.

Para ver uma lista de APIs removidas por versão do Kubernetes, consulte o Guia de migração da API descontinuada na documentação do Kubernetes.

Determinar se a exclusão da API afeta você

As etapas a seguir exigem que os clusters do GKE em Bare Metal tenham a geração de registros de auditoria de cluster ativada e que os registros de auditoria sejam transmitidos para a Observabilidade do Google Cloud, que é o comportamento padrão.

Para determinar se as contas de serviço do Kubernetes usadas fazem chamadas para qualquer API excluída, execute a consulta no Explorador de registros:

  1. No console do Google Cloud, acesse a página Explorador de registros no menu Logging.

    Acessar o Explorador de registros

  2. No campo Consulta, digite:

    resource.labels.cluster_name = "CLUSTER_NAME" AND
    logName = "projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity" AND
    protoPayload.authenticationInfo.principalEmail:("system:serviceaccount" OR "@") AND
    protoPayload.authenticationInfo.principalEmail!~("system:serviceaccount:kube-system:") AND
    protoPayload.authenticationInfo.principalEmail!~("system:serviceaccount:cert-manager:") AND
    protoPayload.authenticationInfo.principalEmail!~("system:serviceaccount:capi-kubeadm-bootstrap-system:") AND
    protoPayload.authenticationInfo.principalEmail!~("system:serviceaccount:capi-kubeadm-bootstrap-system-webhook:") AND
    protoPayload.authenticationInfo.principalEmail!~("system:serviceaccount:capi-system:") AND
    protoPayload.authenticationInfo.principalEmail!~("system:serviceaccount:capi-system-webhook:") AND
    labels."k8s.io/removed-release"="KUBERNETES_MINOR_VERSION"
    

    Substitua:

    • CLUSTER_NAME: o nome do cluster que contém as cargas de trabalho que você está verificando.

    • PROJECT_ID: o ID do projeto do Google Cloud que o cluster usa para registros e métricas (clusterOperations.projectID).

    • KUBERNETES_MINOR_VERSION: a versão secundária do Kubernetes, como 1.25, que removeu as APIs.

    A saída dessa consulta mostra se alguma das suas contas de serviço do Kubernetes faz chamadas à API que foram removidas na determinada versão secundária do Kubernetes.