Detecta las APIs de Kubernetes que se quitaron

Hay varias actualizaciones de Kubernetes que tienen APIs obsoletas y que se quitaron. Si actualizas un clúster de Google Distributed Cloud a una versión nueva de Kubernetes y tus cargas de trabajo usan alguna APIs que se haya quitado, tus cargas de trabajo pueden interrumpirse. Sigue los pasos de este documento para determinar si las cargas de trabajo usan alguna de las APIs que se quitaron para una versión determinada de Kubernetes antes de actualizar el clúster.

Para obtener una lista de las APIs que quitó la versión de Kubernetes, consulta la Guía de migración de las APIs obsoletas en la documentación de Kubernetes.

Determina si la eliminación de la API te afecta

En los siguientes pasos, se requiere que tus clústeres de Google Distributed Cloud tengan un clúster de registro de auditoría habilitado y que los registros de auditoría se transmitan a Google Cloud Observability, que es el comportamiento predeterminado.

Para determinar si las cuentas de servicio de Kubernetes que usas realizan llamadas a cualquier APIs borrada, ejecuta la consulta proporcionada en el Explorador de registros:

  1. En la consola de Google Cloud, ve a la página Explorador de registros en el menú de Logging.

    Ir al Explorador de registros

  2. En el campo Consulta, ingresa la siguiente 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"
    

    Reemplaza lo siguiente:

    • CLUSTER_NAME: el nombre del clúster que contiene las cargas de trabajo que verificas.

    • PROJECT_ID: el ID del proyecto de Google Cloud que usa el clúster para los registros y las métricas (clusterOperations.projectID).

    • KUBERNETES_MINOR_VERSION: la versión secundaria de Kubernetes, como 1.25, que quitó las APIs.

    El resultado de esta consulta muestra si alguna de tus cuentas de servicio de Kubernetes realiza llamadas a la API que se quitaron para la actualización secundaria de Kubernetes determinada.