Entfernte Kubernetes-APIs erkennen

Es gibt mehrere Kubernetes-Releases, in denen APIs eingestellt und entfernt wurden. Wenn Sie einen Google Distributed Cloud-Cluster auf eine neue Kubernetes-Version aktualisieren und Ihre Arbeitslasten APIs verwenden, die entfernt wurden, kann es zu Unterbrechungen kommen. Führen Sie die Schritte in diesem Dokument aus, um festzustellen, ob Ihre Arbeitslasten eine der entfernten APIs für eine bestimmte Kubernetes-Version verwenden, bevor Sie Ihren Cluster aktualisieren.

Eine Liste der entfernten APIs nach Kubernetes-Release finden Sie im Leitfaden zur Migration verworfener APIs in der Kubernetes-Dokumentation.

Prüfen, ob Sie von der API-Löschung betroffen sind

Für die folgenden Schritte muss in Ihren Google Distributed Cloud-Clustern das Audit-Logging aktiviert sein und die Audit-Logs müssen an Google Cloud Observability gestreamt werden, wobei es sich um das Standardverhalten handelt.

Wenn Sie feststellen möchten, ob die von Ihnen verwendeten Kubernetes-Dienstkonten gelöschte APIs aufrufen, führen Sie die folgende Abfrage im Log-Explorer aus:

  1. Rufen Sie in der Google Cloud Console im Menü Logging die Seite Log-Explorer auf.

    Zum Log-Explorer

  2. Geben Sie im Feld Query die folgende Abfrage ein:

    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"
    

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME: der Name des Clusters, der die zu prüfenden Arbeitslasten enthält.

    • PROJECT_ID: die ID des Google Cloud-Projekts, das Ihr Cluster für Logs und Messwerte verwendet (clusterOperations.projectID).

    • KUBERNETES_MINOR_VERSION: die Kubernetes-Nebenversion, z. B. 1.25, aus der APIs entfernt wurden.

    Die Ausgabe dieser Abfrage zeigt, ob eines Ihrer Kubernetes-Dienstkonten API-Aufrufe ausführt, die für die angegebene Kubernetes-Nebenversion entfernt wurden.