Rileva le API Kubernetes rimosse

Esistono diverse release di Kubernetes che hanno deprecato e rimosso API. Se esegui l'upgrade di un cluster Google Distributed Cloud a una nuova versione di Kubernetes e i tuoi carichi di lavoro utilizzano eventuali API che sono state rimosse, i carichi di lavoro possono subire interruzioni. Segui i passaggi in questo documento per determinare se i carichi di lavoro utilizzano una o più delle API rimosse per una determinata versione di Kubernetes prima di eseguire l'upgrade del cluster.

Per un elenco delle API rimosse dalla release di Kubernetes, consulta la Guida alla migrazione delle API deprecate nella documentazione di Kubernetes.

Determina se l'eliminazione dell'API ti riguarda

I passaggi seguenti richiedono che nei cluster Google Distributed Cloud sia abilitato l'audit logging del cluster e che gli audit log siano trasmessi in flusso a Google Cloud Observability, che è il comportamento predefinito.

Per determinare se gli account di servizio Kubernetes che utilizzi effettuano chiamate alle API eliminate, esegui la query fornita in Esplora log:

  1. Nella console Google Cloud, vai alla pagina Esplora log nel menu Logging.

    Vai a Esplora log

  2. Nel campo Query, inserisci la seguente query:

    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"
    

    Sostituisci quanto segue:

    • CLUSTER_NAME: il nome del cluster che contiene i carichi di lavoro che stai controllando.

    • PROJECT_ID: l'ID del progetto Google Cloud utilizzato dal cluster per i log e le metriche (clusterOperations.projectID).

    • KUBERNETES_MINOR_VERSION: la versione secondaria di Kubernetes, ad esempio 1.25, che ha rimosso le API.

    L'output di questa query mostra se uno qualsiasi degli account di servizio Kubernetes effettua chiamate all'API che sono state rimosse per la release secondaria di Kubernetes specificata.