
Aujourd'hui, le 18 septembre, la prochaine version de Kubernetes est sortie - 1.16. Comme toujours, nous trouverons de nombreuses améliorations et de nouveaux produits. Mais je voudrais attirer votre attention sur les sections du fichier Action requise
CHANGELOG-1.16.md . Ces sections publient des modifications susceptibles de casser votre application, des outils de maintenance de cluster ou d'exiger des modifications des fichiers de configuration.
En général, ils nécessitent une intervention manuelle ...
Commençons tout de suite par un changement susceptible d'affecter tous ceux qui travaillent avec Kubernetes depuis un certain temps. L'API Kubernetes a cessé de prendre en charge les versions héritées de l'API de ressources.
Si quelqu'un ne savait pas, ou a oublié ...La version de l'API de ressource est indiquée dans le manifeste dans le apiVersion: apps/v1
À savoir:
Je tiens également à noter que pour des objets comme
Ingress
apiVersion
également changé pour
networking.k8s.io/v1beta1
. L'ancienne
extensions/v1beta1
toujours prise en charge, mais il y a une bonne raison de mettre à jour cette version dans les manifestes en même temps.
Il existe de nombreuses modifications dans les 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 (avant de pouvoir les définir via les
kubelet --node-labels
), ils n'ont laissé que cette liste de
celles autorisées :
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/*
Les étiquettes
beta.kubernetes.io/metadata-proxy-ready
,
beta.kubernetes.io/masq-agent-ds-ready
et
beta.kubernetes.io/kube-proxy-ds-ready
ne
beta.kubernetes.io/kube-proxy-ds-ready
plus ajoutées aux nouveaux nœuds et divers autres les composants ont commencé à utiliser des étiquettes légèrement différentes comme sélecteur de nœud:
kubeadm supprime maintenant le fichier de configuration initiale de
bootstrap-kubelet.conf
. Si vos outils ont accédé à ce fichier, passez à l'utilisation de
kubelet.conf
, qui stocke les paramètres d'accès actuels.
Cadvisor ne donne plus les métriques
pod_name
et
container_name
, si vous les avez utilisées dans Prometheus, accédez respectivement aux métriques
pod
et
container
.
Les clés ont été supprimées avec la ligne de commande:
Sheduler a commencé à utiliser la version v1beta1 Event API. Si vous utilisez des outils tiers pour interagir avec l'API d'événement, passez à la version actuelle.
Un moment d'humour. Lors de la préparation de la version 1.16, les modifications suivantes ont été apportées:
- suppression de l'annotation
scheduler.alpha.kubernetes.io/critical-pod
dans la version v1.16.0-alpha.1 - a retourné l'annotation
scheduler.alpha.kubernetes.io/critical-pod
dans la version v1.16.0-alpha.2 - suppression de l'annotation
scheduler.alpha.kubernetes.io/critical-pod
dans la version v1.16.0-beta.1
Utilisez le champ
spec.priorityClassName
pour indiquer l'importance du foyer.