Détecter les API Kubernetes supprimées

Des API ont été abandonnées et supprimées dans plusieurs versions de Kubernetes. Si vous mettez à niveau un cluster Google Distributed Cloud vers une nouvelle version de Kubernetes et que vos charges de travail utilisent des API supprimées, vos charges de travail peuvent être interrompues. Avant de mettre à niveau votre cluster, suivez les étapes décrites dans ce document pour déterminer si vos charges de travail utilisent l'une des API supprimées pour une version de Kubernetes donnée.

Pour obtenir la liste des API supprimées par la version de Kubernetes, consultez le guide de migration des API obsolètes dans la documentation de Kubernetes.

Déterminer si la suppression de l'API vous concerne

Les étapes suivantes nécessitent que la journalisation d'audit du cluster soit activée sur vos clusters Google Distributed Cloud, et que les journaux d'audit soient diffusés vers Google Cloud Observability, qui est le comportement par défaut.

Pour déterminer si les comptes de service Kubernetes que vous utilisez effectuent des appels vers des API supprimées, exécutez la requête fournie dans l'explorateur de journaux:

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux du menu Journalisation.

    Accéder à l'explorateur de journaux

  2. Dans le champ Requête, saisissez la requête suivante :

    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"
    

    Remplacez les éléments suivants :

    • CLUSTER_NAME: nom du cluster contenant les charges de travail que vous vérifiez.

    • PROJECT_ID: ID du projet Google Cloud que votre cluster utilise pour les journaux et les métriques (clusterOperations.projectID).

    • KUBERNETES_MINOR_VERSION: version mineure de Kubernetes, telle que 1.25, qui a supprimé des API.

    Le résultat de cette requête indique si l'un de vos comptes de service Kubernetes effectue des appels vers une API qui a été supprimée pour la version mineure de Kubernetes concernée.