Detecta las APIs de Kubernetes quitadas

Hay varias versiones de Kubernetes que dejaron de estar disponibles y se quitaron las APIs. Si actualizas un clúster de GKE en Bare Metal a una nueva versión de Kubernetes y tus cargas de trabajo usan alguna de las APIs que se quitaron, tus cargas de trabajo pueden interrumpirse. Sigue los pasos que se indican en este documento para determinar si tus 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 se quitaron por versión de Kubernetes, consulta la Guía de migración de API obsoleta en la documentación de Kubernetes.

Determina si te afecta la eliminación de la API

Los siguientes pasos requieren que tus clústeres de GKE en Bare Metal tengan habilitado el registro de auditoría del clúster y que los registros de auditoría se transmitan a la observabilidad de Google Cloud, que es el comportamiento predeterminado.

Para determinar si las cuentas de servicio de Kubernetes que usas realizan llamadas a las APIs borradas, 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, escribe 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: Es el nombre del clúster que contiene las cargas de trabajo que verificas.

    • PROJECT_ID: Es 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 la 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.