Detectar APIs removidas do Kubernetes

Várias versões do Kubernetes descontinuaram e removeram APIs. 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 que foram removidas, elas poderão ser interrompidas. Siga as etapas deste documento para determinar se as cargas de trabalho usam alguma das APIs removidas em uma determinada versão do Kubernetes antes de fazer upgrade do cluster.

Para conferir uma lista de APIs removidas por versão do Kubernetes, consulte o Guia de migração de APIs descontinuadas 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 o registro de auditoria do cluster ativado e que os registros de auditoria sejam transmitidos para o Google Cloud Observability, 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 fornecida 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 a seguinte consulta:

    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 desta consulta mostra se alguma das suas contas de serviço do Kubernetes faz chamadas para a API que foram removidas para a versão secundária do Kubernetes.