Plusieurs versions de Kubernetes contiennent des API obsolètes et supprimées. 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. Suivez les étapes de ce document pour déterminer si vos charges de travail utilisent l'une des API supprimées pour une version de Kubernetes donnée avant de mettre à niveau votre cluster.
Pour obtenir la liste des API supprimées par version de Kubernetes, consultez le guide de migration des API obsolètes dans la documentation 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 pour vos clusters Google Distributed Cloud et que les journaux d'audit soient diffusés vers Google Cloud Observability, ce qui est le comportement par défaut.
Pour déterminer si les comptes de service Kubernetes que vous utilisez appellent des API supprimées, exécutez la requête fournie dans l'explorateur de journaux :
Dans la console Google Cloud, accédez à la page Explorateur de journaux du menu Journalisation.
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 utilisé par votre cluster pour les journaux et les métriques (clusterOperations.projectID
).KUBERNETES_MINOR_VERSION
: version mineure de Kubernetes, telle que 1.25, qui a supprimé les API.
Le résultat de cette requête indique si l'un de vos comptes de service Kubernetes appelle des API qui ont été supprimées pour la version mineure de Kubernetes donnée.