Utiliser les API bêta Kubernetes avec des clusters GKE


Utilisez les API Kubernetes en version bêta pour accéder aux nouvelles fonctionnalités de vos clusters Google Kubernetes Engine (GKE). Pour utiliser les API en version bêta introduites depuis la version 1.24, vous devez configurer les API bêta.

Comment les nouvelles fonctionnalités sont introduites avec l'API Kubernetes

Les clusters GKE se composent d'un plan de contrôle et de nœuds de calcul. Le plan de contrôle expose le serveur d'API, qui lui-même expose l'API Kubernetes afin que les utilisateurs finaux, ainsi que les composants internes et externes, puissent communiquer. Cette API évolue au fil du temps. De nouvelles fonctionnalités sont introduites en phase alpha ou bêta, pour ensuite passer en disponibilité générale (DG) ou être abandonnées et supprimées dans des versions mineures plus récentes.

Vous ne pouvez utiliser des API alpha qu'avec des clusters alpha, mais vous pouvez utiliser des API bêta avec tous les types de clusters GKE. À partir de la version 1.24 de Kubernetes, les nouvelles API bêta sont désactivées par défaut dans les nouveaux clusters. Les clusters existants qui ont été créés en exécutant une version antérieure à la version 1.24 conservent l'activation des API bêta existantes, car les API bêta activées automatiquement (introduction antérieure à la version 1.24) ou celles activées manuellement (introduction avec la version 1.24 ou une version ultérieure) ne peuvent pas être désactivées sur les clusters existants. Pour tous les clusters, les API bêta existantes introduites avant la version 1.24 restent activées par défaut, tout comme les nouvelles versions des API bêta existantes.

Par exemple, si une API v1beta1 a été introduite dans la version 1.22 de Kubernetes, puis qu'une nouvelle version de cette API bêta, telle que v1beta3, est introduite dans la version 1.25 de Kubernetes, l'API est automatiquement activée. Cela est dû au fait qu'il s'agit d'une nouvelle version d'une API bêta existante, et non d'une API bêta entièrement nouvelle. Cependant, une nouvelle API bêta avec la version v1beta1 introduite dans la version 1.24 ou ultérieure de Kubernetes est désactivée par défaut.

Pour utiliser les API bêta introduites depuis la version 1.24, vous devez configurer les API bêta par ressource et par cluster. Vous pouvez activer les API lors de la création d'un cluster ou pour un cluster existant. Pour connaître les API bêta disponibles pour la version mineure de votre cluster, reportez-vous à la section listant les API bêta disponibles.

Une fois que vous avez activé une API bêta, elle reste activée jusqu'à ce que l'API bêta soit abandonnée et que le cluster soit mis à niveau vers la version mineure dans laquelle l'API est supprimée. Pour savoir quelles API bêta ont été activées par votre cluster, consultez la section Vérifier quelles API bêta sont activées.

API bêta disponibles

Vous pouvez activer un sous-ensemble d'API bêta de Kubernetes pour vos clusters GKE. D'autres API bêta ne sont pas disponibles pour les raisons suivantes:

  • L'API bêta repose sur des fonctionnalités Kubernetes non-DG.
  • L'API bêta n'est pas sécurisée.
  • L'API bêta n'est pas compatible avec Autopilot.

Reportez-vous au tableau suivant pour les API bêta et la version mineure correspondante où elles ont été introduites:

Version de Kubernetes API bêta ajoutées avec cette version mineure de Kubernetes Disponible avec GKE Notes
1.29
  • Aucun
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicies
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicybindings
Vous devez activer les deux API en même temps. Cela active la fonctionnalité bêta Règle d'admission de validation.
1.28
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicies
  • admissionregistration.k8s.io/v1beta1/validatingadmissionpolicybindings
  • Aucun
1.27
  • authentication.k8s.io/v1beta1/selfsubjectreviews
  • authentication.k8s.io/v1beta1/selfsubjectreviews

Points importants à prendre en compte avant d'utiliser les API bêta

Les API bêta Kubernetes sont soumises au Règlement relatif aux abandons de Kubernetes. Lorsqu'une API bêta est abandonnée, vous devez cesser de l'utiliser. Pour en savoir plus, consultez la section Abandons d'API bêta.

Avant de commencer

Avant de commencer, effectuez les tâches suivantes :

  • Activez l'API Google Kubernetes Engine.
  • Activer l'API Google Kubernetes Engine
  • Si vous souhaitez utiliser Google Cloud CLI pour cette tâche, installez puis initialisez gcloud CLI. Si vous avez déjà installé gcloud CLI, assurez-vous de disposer de la dernière version en exécutant la commande gcloud components update.

Configurer les API bêta

Les API bêta sont activées par ressource et par cluster. Vous pouvez activer les API lorsque vous créez un cluster ou pour un cluster existant.

Pour lister une ressource d'API bêta pour ces commandes, utilisez la représentation {group}/{version}/{resource}. La version doit être une version bêta. authentication.k8s.io/v1beta1/selfsubjectreviews est un exemple de représentation valide.

Pour les commandes de la section suivante, remplacez les variables suivantes :

  • CLUSTER_NAME : nom du cluster que vous souhaitez mettre à jour.
  • LIST_OF_APIS : liste des API bêta que vous souhaitez activer, sous forme de liste d'éléments séparés par une virgule.
  • COMPUTE_REGION : région Compute Engine du nouveau cluster. Pour les clusters zonaux, utilisez --zone=COMPUTE_ZONE.

Créer un nouveau cluster avec les API bêta activées

Créez un nouveau cluster avec une liste d'API bêta activées :

gcloud container clusters create-auto CLUSTER_NAME  \
    --enable-kubernetes-unstable-apis=LIST_OF_APIS \
    --region=COMPUTE_REGION

Activer les API bêta sur un cluster existant

Activez une liste d'API bêta sur un cluster existant :

gcloud container clusters update CLUSTER_NAME  \
    --enable-kubernetes-unstable-apis=LIST_OF_APIS \
    --region=COMPUTE_REGION

Désactiver les API bêta sur un cluster existant

Vous ne pouvez pas désactiver les API bêta déjà activées sur un cluster. Les API bêta restent disponibles jusqu'à ce leur abandon et la mise à niveau du cluster vers la version mineure dans laquelle l'API est supprimée. Pour en savoir plus, consultez la section Abandons d'API bêta.

Vérifier quelles API bêta sont activées

Vérifiez quelles API bêta sont activées pour votre cluster GKE :

gcloud container clusters describe CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --format="value(enableK8sBetaApis.enabledApis)"

Abandons d'API bêta

Une fois qu'une API bêta est activée, elle reste activée jusqu'à son abandon et la mise à niveau du cluster vers la version mineure dans laquelle l'API est supprimée.

Les API bêta sont généralement disponibles pour trois versions mineures avant d'être abandonnées au profit d'une nouvelle version bêta, d'une version stable ou sans remplacement. Les versions d'API bêta sont supprimées trois versions mineures après leur abandon. Si vous utilisez une API bêta qui est obsolète et qui sera supprimée dans une version mineure de Kubernetes à venir, vous devez migrer vers les API compatibles pour que votre cluster puisse être mis à niveau vers la version mineure dans laquelle l'API bêta est supprimée. Pour en savoir plus, consultez la page Fonctionnement des abandons de Kubernetes avec GKE.

GKE facilite ce processus en essayant de détecter l'utilisation des API Kubernetes obsolètes. Si GKE détecte l'utilisation d'une API obsolète, il suspend les mises à niveau automatiques vers la version mineure dans laquelle cette API est supprimée. GKE partage également des insights et recommandations d'abandon pour vous informer de l'utilisation d'une API obsolète par votre cluster afin que vous puissiez prendre les mesures nécessaires pour que les mises à niveau se poursuivent. Pour en savoir plus, consultez la page Évaluer et limiter l'exposition aux futurs abandons de Kubernetes.

Consultez le Tableau des abandons de l'API Kubernetes pour obtenir la liste complète des API obsolètes et déterminer si GKE détecte leur utilisation.

Étapes suivantes