Rileva le API Kubernetes rimosse

Esistono diverse release di Kubernetes che hanno API deprecate e rimosse. Se esegui l'upgrade di un cluster GKE su Bare Metal a una nuova versione di Kubernetes e i tuoi carichi di lavoro utilizzano API che sono state rimosse, i tuoi carichi di lavoro potrebbero essere interrotti. Segui i passaggi in questo documento per determinare se i tuoi carichi di lavoro utilizzano le API rimosse per una determinata versione di Kubernetes prima di eseguire l'upgrade del cluster.

Per un elenco delle API rimosse da 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 GKE su Bare Metal sia abilitato l'audit logging del cluster e che gli audit log siano trasmessi all'Osservabilità di Google Cloud, 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 dei tuoi account di servizio Kubernetes effettua chiamate all'API che sono state rimosse per la release secondaria di Kubernetes specificata.