
Heute, am 18. September, erscheint die neue Version von Kubernetes â 1.16. Wie immer erwarten uns viele Verbesserungen und Neuerungen. Ich möchte jedoch Ihre Aufmerksamkeit auf die Abschnitte Action Required in der . In diesen Abschnitten werden Ănderungen aufgefĂŒhrt, die die Funktion Ihrer Anwendung, die Wartungswerkzeuge des Clusters beeintrĂ€chtigen oder Anpassungen in den Konfigurationsdateien erfordern können.
Im Allgemeinen erfordern sie manuelles Eingreifen...
Fangen wir direkt mit der Ănderung an, die wahrscheinlich alle betreffen wird, die schon lĂ€nger mit Kubernetes arbeiten. Die Kubernetes-API unterstĂŒtzt keine veralteten API-Versionen mehr.
Falls es jemand nicht wusste oder vergessen hat...Die API-Version der Ressource wird im Manifest im Feld apiVersion: apps/v1
angegeben. Genauer gesagt:
Ressourcentyp
Alte Version
Worauf Sie umstellen sollten
Alle Ressourcen
apps/v1beta1
apps/v1beta2
apps/v1
deployments
daemonset
replicaset
extension/v1beta1
apps/v1
networkpolicies
extensions/v1beta1
networking.k8s.io/v1
podsecuritypolicies
extensions/v1beta1
policy/v1beta1
Ich möchte auch darauf hinweisen, dass bei Objekten vom Typ Ingress sich ebenfalls die apiVersion findet man networking.k8s.io/v1beta1. Der alte Wert extensions/v1beta1 wird weiterhin unterstĂŒtzt, aber es gibt guten Grund, auch diese Version in den Manifests auf den neuesten Stand zu bringen.
Es gibt zahlreiche Ănderungen bei den verschiedenen Systemetiketten (Node-Labels), die auf den Knoten festgelegt werden.
Kubelet erlaubt das Setzen beliebiger Labels nicht mehr (frĂŒher konnten sie ĂŒber die StartschlĂŒssel gesetzt werden kubelet --node-labels), nur diese Liste wurde beibehalten :
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/*
Kennzeichnungen beta.kubernetes.io/metadata-proxy-ready, beta.kubernetes.io/metadata-proxy-ready und beta.kubernetes.io/kube-proxy-ds-ready werden nicht mehr zu neuen Knoten hinzugefĂŒgt, und verschiedene zusĂ€tzliche Komponenten verwenden nun etwas andere Labels als Node-Selector:
Komponente
Altes Label
Aktuelles Label
kube-proxy
beta.kubernetes.io/kube-proxy-ds-ready
node.kubernetes.io/kube-proxy-ds-ready
ip-mask-agent
beta.kubernetes.io/masq-agent-ds-ready
node.kubernetes.io/masq-agent-ds-ready
metadata-proxy
beta.kubernetes.io/metadata-proxy-ready
cloud.google.com/metadata-proxy-ready
kubeadm entfernt jetzt die ursprĂŒngliche Konfigurationsdatei des Kubelets bootstrap-kubelet.conf. Wenn Ihre Werkzeuge auf diese Datei zugegriffen haben, wechseln Sie bitte zur Verwendung von kubelet.conf, in der die aktuellen Zugriffseinstellungen gespeichert sind.
Cadvisor gibt keine Metriken mehr zurĂŒck. pod_name und container_name, wenn Sie diese in Prometheus verwendet haben, wechseln Sie zu Metriken pod und container entsprechend.
Die Befehlszeilenoptionen wurden entfernt:
Komponente
Entfernte Option
hyperkube
âmake-symlink
kube-proxy
âresource-container
Der Scheduler verwendet jetzt die Version v1beta1 des Event-APIs. Wenn Sie Drittanbieter-Tools zur Interaktion mit dem Event-API verwenden, wechseln Sie zur aktuellen Version.
Ein kleiner Witz. WĂ€hrend der Vorbereitung von Release 1.16 wurden folgende Ănderungen vorgenommen:
- Annotation entfernt
scheduler.alpha.kubernetes.io/critical-podin Version v1.16.0-alpha.1 - Annotation zurĂŒckgegeben
scheduler.alpha.kubernetes.io/critical-podin Version v1.16.0-alpha.2 - Annotation entfernt
scheduler.alpha.kubernetes.io/critical-podin Version v1.16.0-beta.1
Verwenden Sie das Feld spec.priorityClassName um die Wichtigkeit des Pods anzugeben.
Quelle: habr.com
