
Vandaag, 18 september, komt er een nieuwe versie van Kubernetes uit — 1.16. Zoals altijd kunnen we veel verbeteringen en nieuwe functies verwachten. Maar ik wil graag uw aandacht vestigen op de secties Actie Vereist van het bestand . In deze secties worden wijzigingen gepubliceerd die de werking van uw applicatie, de onderhoudsinstrumenten van het cluster kunnen verstoren, of aanpassingen aan de configuratiebestanden vereisen.
Kortom, ze vereisen handmatige tussenkomst...
Laten we meteen beginnen met de wijziging die waarschijnlijk iedereen zal raken die al een tijdje met Kubernetes werkt. Kubernetes API ondersteunt geen verouderde versies van API-bronnen meer.
Als iemand het niet wist, of het vergeten is...De versie van de API-bron wordt opgegeven in de manifest, in het veld apiVersion: apps/v1
Namelijk:
Type bron
Oude versie
Waar door vervangen
Alle bronnen
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
Ik wil ook graag opmerken dat de objecten van het type Ingress ook zijn veranderd apiVersion en een werkende opdracht krijgen. networking.k8s.io/v1beta1. De oude waarde extensions/v1beta1 wordt nog steeds ondersteund, maar er is een goede reden om deze versie ook tegelijk bij te werken in de manifesten.
Er zijn behoorlijk wat veranderingen in de verschillende systeemlabels (Node labels) die op de knooppunten worden ingesteld.
Kubelet is verboden om willekeurige labels in te stellen (vroeger konden ze worden opgegeven via de opstartsleutels kubelet --node-labels), alleen deze lijst is overgebleven :
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/*
Tags beta.kubernetes.io/metadata-proxy-ready, beta.kubernetes.io/metadata-proxy-ready en beta.kubernetes.io/kube-proxy-ds-ready worden niet meer toegevoegd aan nieuwe knooppunten, en verschillende extra componenten zijn andere labels gaan gebruiken als node selector:
Component
Oude label
Actuele 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 verwijdert nu het initiële configuratiebestand van de kubelet bootstrap-kubelet.conf. Als uw tools naar dit bestand verwezen, schakel dan over naar het gebruik van kubelet.conf, waar de actuele toegang instellingen zijn opgeslagen.
Cadvisor geeft geen statistieken meer pod_name en container_name, als u deze in Prometheus heeft gebruikt, schakel dan over naar de statistieken pod en container respectievelijk.
De opstart sleutels zijn verwijderd:
Component
Verwijderd sleutel
hyperkube
—make-symlink
kube-proxy
—resource-container
De scheduler is overgestapt op versie v1beta1 van de Event API. Als u externe tools gebruikt om met de Event API te communiceren, schakel dan over naar de actuele versie.
Een moment van humor. Tijdens de voorbereiding van release 1.16 zijn de volgende veranderingen aangebracht:
- verwijderde annotatie
scheduler.alpha.kubernetes.io/critical-podin versie v1.16.0-alpha.1 - teruggekeerde annotatie
scheduler.alpha.kubernetes.io/critical-podin versie v1.16.0-alpha.2 - verwijderde annotatie
scheduler.alpha.kubernetes.io/critical-podin versie v1.16.0-beta.1
Gebruik het veld spec.priorityClassName om de belangrijkheid van de pod aan te geven.
Bron: habr.com
