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 Google Distributed Cloud a una nueva versión de Kubernetes y tus cargas de trabajo usan cualquier API que se haya quitado, 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 obsoletas en la documentación de Kubernetes.

Determina si la eliminación de la API te afecta

En los siguientes pasos, se requiere que los clústeres de Google Distributed Cloud tengan habilitado el registro de auditoría del clúster 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 alguna API 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, 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 estás verificando.

    • PROJECT_ID: El ID del proyecto de Google Cloud que usa el clúster para registros y 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 versión secundaria de Kubernetes en cuestión.