Alibaba Cloud Container Compute Service (ACS) est entièrement conforme à la communauté Kubernetes upstream. Cette rubrique décrit les changements majeurs introduits dans Kubernetes 1.31, notamment les notes de mise à niveau, les modifications de comportement, les nouvelles fonctionnalités, les fonctionnalités et API obsolètes, ainsi que les feature gates.
Versions des composants
Le tableau suivant liste les versions des composants principaux d'un cluster ACS.
|
Composant principal |
Version |
|
Kubernetes |
1.31.1-aliyun.1 |
|
etcd |
v3.5.4 |
|
containerd |
1.6.22 |
|
CoreDNS |
v1.11.3.2-f57ea7ed6-aliyun |
|
CSI |
Mis à niveau vers la dernière version prise en charge. Pour plus d'informations, consultez le journal des modifications du composant csi-provisioner. |
Nouvelles fonctionnalités
Si vous spécifiez le champ
caBundledans une CustomResourceDefinition (CRD) et que cecaBundlen'est pas vide mais contient un contenu invalide ou aucun certificat CA, la CRD n'est pas servie. Une fois lecaBundlede la CRD défini sur un état valide, vous ne pouvez plus le mettre à jour vers un état invalide ou vide. Cette restriction évite toute interruption de service pour la CRD.Le feature gate MatchLabelKeysInPodAffinity passe en phase Beta et est activé par défaut. Désormais,
podAffinityetpodAntiAffinityprennent en charge les champs de configuration plus granulaires matchLabelKeys et mismatchLabelKeys. Ces champs résolvent un problème où le scheduler ne distinguait pas les anciens pods des nouveaux lors d'une mise à jour progressive d'un Deployment. Ce dysfonctionnement pouvait entraîner des résultats de planification non conformes aux règles d'affinité et d'anti-affinité attendues.Le feature gate
JobSuccessPolicypasse en phase Beta et est activé par défaut. Il permet de configurer une politique de succès pour les Indexed Jobs. Pour plus d'informations, consultez Job Success Policy.Le feature gate
DisableNodeKubeProxyVersionpasse en phase Beta et est activé par défaut. La version de kube-proxy ne s'affiche plus dans le champstatus.nodeInfo.kubeProxyVersiond'un nœud. La valeur précédemment affichée dans ce champ était inexacte et ne reflétait pas la version réelle de kube-proxy.Le feature gate
ServiceAccountTokenNodeBindingpasse en phase Beta et est activé par défaut. Il autorise la création d'un token de ServiceAccount directement lié à un nœud. Ce token devient invalide à son expiration ou lors de la suppression du nœud ou du ServiceAccount associé.Le feature gate
RecursiveReadOnlyMountspasse en phase Beta et est activé par défaut. Cette fonctionnalité permet de définir un attribut lecture seule récursif sur le montage de volume d'un pod. Un volume monté de cette manière, ainsi que tous ses sous-répertoires et fichiers, passe en lecture seule. Pour plus d'informations, consultez Recursive read-only mounts.Si la
specd'un pod change sans modification du champimage, le kubelet ne redémarre plus le conteneur. Cela évite les redémarrages inutiles de pods causés par des mises à jour de configuration non fonctionnelles.Le feature gate
HonorPVReclaimPolicypasse en phase Beta et est activé par défaut. Il ajoute un finalizer à un PersistentVolume (PV). Ainsi, lorsque la politique de récupération estDelete, l'objet PV n'est supprimé qu'après la suppression de son stockage sous-jacent. Pour plus d'informations, consultez PersistentVolume deletion protection finalizer.La commande
kubectl debugprend désormais en charge les modèles personnalisés (profils) pour le débogage des pods. Pour plus d'informations, consultez Kubernetes 1.31: Custom Profiling in Kubectl Debug Graduates to Beta.Le protocole de streaming utilisé par les clients Kubernetes, tels que
kubectl, pour les commandeskubectl cp,kubectl attach,kubectl execetkubectl port-forwarda été mis à niveau vers un protocole de streaming WebSocket plus moderne et flexible.L'API server peut désormais effectuer des lectures cohérentes depuis son cache. Cela réduit les requêtes vers etcd et améliore les performances des requêtes List. Pour plus d'informations, consultez Consistent Reads from Cache.
Changements de comportement
-
Le plug-in de volume CephFS intégré (
kubernetes.io/cephfs) est supprimé et remplacé par le pilote CSI CephFS.Si vous utilisez le plug-in de volume CephFS, migrez vers la nouvelle solution et redéployez vos applications avec le nouveau pilote avant de mettre à niveau votre cluster vers la version 1.31.
-
Le plug-in de volume CephRBD intégré (
kubernetes.io/rbd) est supprimé et remplacé par le pilote CSI RBD.Si vous utilisez le plug-in de volume CephRBD, migrez vers la nouvelle solution et redéployez vos applications avec le nouveau pilote avant de mettre à niveau votre cluster vers la version 1.31.
Le feature gate
CSIMigrationPortworxest activé par défaut. Il migre les opérations de volume de l'ancien plug-in in-tree Portworx vers le plug-in CSI Portworx. Si vous utilisez Portworx comme solution de stockage, installez et configurez le plug-in CSI Portworx dans votre cluster avant d'effectuer la mise à niveau vers la version 1.31.
Références
Pour consulter le journal des modifications complet de Kubernetes 1.31, reportez-vous au CHANGELOG-1.31 et à l'article Kubernetes v1.31: Elli.