Dziś, 18 września, zostaje wydana kolejna wersja Kubernetesa – 1.16. Jak zawsze czeka na nas wiele ulepszeń i nowości. Chciałbym jednak zwrócić uwagę na sekcje pliku Wymagane działanie
Ogólnie rzecz biorąc, wymagają ręcznej interwencji...
Zacznijmy od razu od zmiany, która najprawdopodobniej dotknie każdego, kto wystarczająco długo pracuje z kubernetesem. Interfejs API Kubernetes nie obsługuje już starszych wersji interfejsu API zasobów.
Jeśli ktoś nie wiedział lub zapomniał...Wersja API zasobu jest wskazana w manifeście, w polu apiVersion: apps/v1
A mianowicie:
Typ zasobu
stara wersja
Na co należy wymienić
Wszystkie zasoby
aplikacje/v1beta1
aplikacje/v1beta2
aplikacje / v1
wdrożenia
demonset
zestaw replik
rozszerzenie/v1beta1
aplikacje / v1
zasady sieciowe
rozszerzenia/v1beta1
sieć.k8s.io/v1
zasady podbezpieczeństwa
rozszerzenia/v1beta1
polityka/v1beta1
Chciałbym również zwrócić uwagę na fakt, że obiekty typu Ingress
również się zmieniło apiVersion
na networking.k8s.io/v1beta1
. Stare znaczenie extensions/v1beta1
jest nadal obsługiwany, ale istnieje dobry powód, aby jednocześnie zaktualizować tę wersję w manifestach.
Istnieje sporo zmian w różnych etykietach systemowych (etykietach węzłów), które są instalowane na węzłach.
Kubeletowi zakazano ustawiania dowolnych etykiet (wcześniej można było je ustawić za pomocą klawiszy uruchamiania kubelet --node-labels
), pozostawili tylko tę listę
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/*
tagi beta.kubernetes.io/metadata-proxy-ready
, beta.kubernetes.io/metadata-proxy-ready i beta.kubernetes.io/kube-proxy-ds-ready nie są już dodawane do nowych węzłów, a różne dodatkowe komponenty zaczęły używać nieco innych etykiet jako selektorów węzłów:
komponent
Stara etykieta
Aktualna etykieta
kube-proxy
beta.kubernetes.io/kube-proxy-ds-ready
node.kubernetes.io/kube-proxy-ds-ready
agent maski ip
beta.kubernetes.io/masq-agent-ds-ready
node.kubernetes.io/masq-agent-ds-ready
metadane-proxy
beta.kubernetes.io/metadata-proxy-ready
cloud.google.com/metadata-proxy-ready
kubeadm usuwa teraz znajdujący się za nim początkowy plik konfiguracyjny kubletu bootstrap-kubelet.conf
. Jeśli Twoje narzędzia miały dostęp do tego pliku, przełącz się na użycie kubelet.conf
, który przechowuje aktualne ustawienia dostępu.
Cadvisor nie udostępnia już wskaźników pod_name
и container_name
jeśli używałeś ich w Prometeuszu, przejdź do metryk pod
и container
odpowiednio.
Usunięto klawisze za pomocą polecenia line:
komponent
Schowany klucz
hiperkube
--make-dowiązanie symboliczne
kube-proxy
--kontener-zasobów
Osoba planująca zaczęła używać wersji v1beta1 interfejsu API zdarzeń. Jeśli do interakcji z Event API używasz narzędzi innych firm, przełącz się na najnowszą wersję.
Chwila humoru. Podczas przygotowywania wersji 1.16 wprowadzono następujące zmiany:
- usunąłem adnotację
scheduler.alpha.kubernetes.io/critical-pod
w wersji v1.16.0-alfa.1 - zwrócił adnotację
scheduler.alpha.kubernetes.io/critical-pod
w wersji v1.16.0-alfa.2 - usunąłem adnotację
scheduler.alpha.kubernetes.io/critical-pod
w wersji v1.16.0-beta.1
Skorzystaj z pola spec.priorityClassName
aby wskazać znaczenie kapsuły.
Źródło: www.habr.com