Aujourd'hui, 18 septembre, la prochaine version de Kubernetes est publiée : la 1.16. Comme toujours, de nombreuses améliorations et nouveautés nous attendent. Mais je voudrais attirer votre attention sur les sections Action requise du fichier
En général, ils nécessitent une intervention manuelle...
Commençons tout de suite par un changement qui affectera très probablement tous ceux qui travaillent avec Kubernetes depuis assez longtemps. L'API Kubernetes ne prend plus en charge les anciennes versions de l'API de ressources.
Si quelqu'un ne savait pas ou avait oublié...La version API de la ressource est indiquée dans le manifeste, dans le champ apiVersion: apps/v1
À savoir
Type de ressource
Ancienne version
Par quoi faut-il remplacer
Toutes les ressources
applications/v1beta1
applications/v1beta2
applications/v1
déploiements
ensemble de démons
jeu de réplicas
extension/v1bêta1
applications/v1
politiques de réseau
extensions/v1beta1
mise en réseau.k8s.io/v1
politiques de sécurité des pods
extensions/v1beta1
politique/v1beta1
Je voudrais également attirer votre attention sur le fait que les objets de type Ingress
a également changé apiVersion
sur networking.k8s.io/v1beta1
. Ancien sens extensions/v1beta1
est toujours pris en charge, mais il y a une bonne raison de mettre à jour cette version dans les manifestes en même temps.
De nombreux changements ont été apportés aux différentes étiquettes système (étiquettes de nœud) installées sur les nœuds.
Il était interdit à Kubelet de définir des étiquettes arbitraires (auparavant, elles pouvaient être définies via les clés de lancement) kubelet --node-labels
), ils n'ont laissé que cette liste
kubernetes.io/hostname
kubernetes.io/instance-type
kubernetes.io/os
kubernetes.io/arch
beta.kubernetes.io/instance-type
beta.kubernetes.io/os
beta.kubernetes.io/arch
failure-domain.beta.kubernetes.io/zone
failure-domain.beta.kubernetes.io/region
failure-domain.kubernetes.io/zone
failure-domain.kubernetes.io/region
[*.]kubelet.kubernetes.io/*
[*.]node.kubernetes.io/*
Mots clés beta.kubernetes.io/metadata-proxy-ready
, beta.kubernetes.io/metadata-proxy-ready et beta.kubernetes.io/kube-proxy-ds-ready ne sont plus ajoutés aux nouveaux nœuds, et divers composants supplémentaires ont commencé à utiliser des étiquettes légèrement différentes comme sélecteurs de nœuds :
composant
Ancienne étiquette
Étiquette actuelle
Kube-proxy
beta.kubernetes.io/kube-proxy-ds-ready
node.kubernetes.io/kube-proxy-ds-ready
agent-masque-ip
beta.kubernetes.io/masq-agent-ds-ready
node.kubernetes.io/masq-agent-ds-ready
proxy de métadonnées
beta.kubernetes.io/metadata-proxy-ready
cloud.google.com/metadata-proxy-ready
kubeadm supprime désormais le fichier de configuration initial du kublet derrière lui bootstrap-kubelet.conf
. Si vos outils accédaient à ce fichier, passez à l'utilisation kubelet.conf
, qui stocke les paramètres d'accès actuels.
Cadvisor ne fournit plus de métriques pod_name
и container_name
si vous les avez utilisés dans Prometheus, accédez aux métriques pod
и container
respectivement.
Suppression des clés avec la commande line :
composant
Clé rétractée
hyperkube
--make-symlink
Kube-proxy
--conteneur-de-ressources
Le planificateur a commencé à utiliser la version v1beta1 de l'API Event. Si vous utilisez des outils tiers pour interagir avec l'API Event, passez à la dernière version.
Un moment d'humour. Lors de la préparation de la version 1.16, les modifications suivantes ont été apportées :
- supprimé l'annotation
scheduler.alpha.kubernetes.io/critical-pod
en version v1.16.0-alpha.1 - a renvoyé l'annotation
scheduler.alpha.kubernetes.io/critical-pod
en version v1.16.0-alpha.2 - supprimé l'annotation
scheduler.alpha.kubernetes.io/critical-pod
en version v1.16.0-bêta.1
Utiliser le terrain spec.priorityClassName
pour indiquer l'importance de la gousse.
Source: habr.com