Detectar APIs removidas do Kubernetes

Há várias versões do Kubernetes que tiveram o uso descontinuado e foram removidas. Se você fizer upgrade de um cluster do Google Distributed Cloud para uma nova versão do Kubernetes e as cargas de trabalho usarem as APIs removidas, elas poderão ser interrompidas. Siga as etapas deste documento para determinar se as 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 pela versão do Kubernetes, consulte o Guia de migração de API obsoleta na documentação do Kubernetes.

Determinar se a exclusão da API afeta você

As etapas a seguir exigem que os clusters do Google Distributed Cloud tenham a geração de registros de auditoria de cluster ativada e que 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 APIs.

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