Kubernetes 1.16 - kako nadograditi bez kvara

Kubernetes 1.16 - kako nadograditi bez kvara

Danas, 18. septembra, izlazi sledeća verzija Kubernetesa - 1.16. Kao i uvijek, očekuju nas mnoga poboljšanja i novi proizvodi. Ali želim da vam skrenem pažnju na delove fajla koji su potrebni za radnju CHANGELOG-1.16.md. Ovi odjeljci objavljuju promjene koje mogu pokvariti vašu aplikaciju, alate za održavanje klastera ili zahtijevaju promjene konfiguracijskih datoteka.

Općenito, zahtijevaju ručnu intervenciju...

Počnimo odmah s promjenom koja će najvjerovatnije uticati na sve koji već dovoljno dugo rade sa kubernetesom. Kubernetes API više ne podržava zastarjele verzije API-ja resursa.

Ako neko nije znao ili zaboravio...API verzija resursa je naznačena u manifestu, u polju apiVersion: apps/v1

Naime:

Vrsta resursa
stara verzija
Čime treba zameniti

Svi resursi
apps/v1beta1
apps/v1beta2
apps/v1

raspoređivanje
daemonset
replicaset
ekstenzija/v1beta1
apps/v1

mrežne politike
ekstenzije/v1beta1
networking.k8s.io/v1

podsecuritypolicies
ekstenzije/v1beta1
policy/v1beta1

Također bih želio skrenuti vašu pažnju na činjenicu da su objekti tipa Ingress takođe promenio apiVersion na networking.k8s.io/v1beta1. Staro značenje extensions/v1beta1 je još uvijek podržan, ali postoji dobar razlog da se ova verzija ažurira u manifestima u isto vrijeme.

Postoji dosta promjena u raznim sistemskim oznakama (Node labels) koje su instalirane na čvorovima.

Kubeletu je bilo zabranjeno postavljanje proizvoljnih oznaka (ranije su se mogle postaviti putem ključeva za pokretanje kubelet --node-labels), ostavili su samo ovu listu dozvoljeno:

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/*

Oznake beta.kubernetes.io/metadata-proxy-ready, beta.kubernetes.io/metadata-proxy-ready i beta.kubernetes.io/kube-proxy-ds-ready se više ne dodaju novim čvorovima, a razne dodatne komponente su počele koristiti malo drugačije oznake kao birače čvorova:

Komponenta
Stara etiketa
Trenutna oznaka

kube-proxy
beta.kubernetes.io/kube-proxy-ds-ready
node.kubernetes.io/kube-proxy-ds-ready

ip-maska-agent
beta.kubernetes.io/masq-agent-ds-ready
node.kubernetes.io/masq-agent-ds-ready

metapodaci-proxy
beta.kubernetes.io/metadata-proxy-ready
cloud.google.com/metadata-proxy-ready

kubeadm sada uklanja početnu kublet konfiguracijsku datoteku iza sebe bootstrap-kubelet.conf. Ako su vaši alati pristupali ovoj datoteci, prebacite se na korištenje kubelet.conf, koji pohranjuje trenutne postavke pristupa.

Cadvisor više ne pruža metriku pod_name и container_nameako ste ih koristili u Prometeju, idite na metriku pod и container respektivno.

Uklonili smo ključeve naredbom linije:

Komponenta
Uvučeni ključ

hyperkube
--make-symlink

kube-proxy
--resource-container

Planer je počeo koristiti verziju v1beta1 API-ja događaja. Ako koristite alate treće strane za interakciju s Event API-jem, prijeđite na najnoviju verziju.

Trenutak humora. Tokom pripreme izdanja 1.16 napravljene su sljedeće promjene:

  • uklonio bilješku scheduler.alpha.kubernetes.io/critical-pod u verziji v1.16.0-alpha.1
  • vratio bilješku scheduler.alpha.kubernetes.io/critical-pod u verziji v1.16.0-alpha.2
  • uklonio bilješku scheduler.alpha.kubernetes.io/critical-pod u verziji v1.16.0-beta.1

Koristite polje spec.priorityClassName da ukaže na važnost mahuna.

izvor: www.habr.com

Dodajte komentar