Kubernetes 1.16 — hoe te upgraden zonder iets kapot te maken

Kubernetes 1.16 — hoe te upgraden zonder iets kapot te maken

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 CHANGELOG-1.16.md. 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 van toegestaan:

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-pod in versie v1.16.0-alpha.1
  • teruggekeerde annotatie scheduler.alpha.kubernetes.io/critical-pod in versie v1.16.0-alpha.2
  • verwijderde annotatie scheduler.alpha.kubernetes.io/critical-pod in versie v1.16.0-beta.1

Gebruik het veld spec.priorityClassName om de belangrijkheid van de pod aan te geven.

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster