Kubernetes 1.16 - како да се надградите без да прекршите ништо

Kubernetes 1.16 - како да се надградите без да прекршите ништо

Денес, 18 септември, е објавена следната верзија на Kubernetes - 1.16. Како и секогаш, не очекуваат многу подобрувања и нови производи. Но, би сакал да ви го свртам вниманието на деловите Потребно за дејство од датотеката CHANGELOG-1.16.мд. Овие делови објавуваат промени што може да ја скршат вашата апликација, алатки за одржување на кластери или да бараат промени во конфигурациските датотеки.

Генерално бараат рачна интервенција...

Ајде да започнеме веднаш со промена која најверојатно ќе влијае на сите што работат со кубернетите доволно долго. Kubernetes API веќе не поддржува верзии на API за наследени ресурси.

Ако некој не знаел или заборавил...Верзијата на API на ресурсот е означена во манифестот, во полето apiVersion: apps/v1

Имено

Тип на ресурси
стара верзија
Со што треба да се замени

Сите ресурси
апликации/v1beta1
апликации/v1beta2
апликации/v1

распоредувања
демонсет
репликасет
екстензија/v1beta1
апликации/v1

мрежни политики
екстензии/v1beta1
вмрежување.k8s.io/v1

под-безбедносни политики
екстензии/v1beta1
политика/v1beta1

Исто така, би сакал да го привлечам вашето внимание на фактот дека објектите од типот Ingress исто така се промени apiVersion на networking.k8s.io/v1beta1. Старо значење extensions/v1beta1 сè уште е поддржан, но има добра причина да се ажурира оваа верзија во манифестите во исто време.

Има доста промени во различни системски ознаки (Node labels) кои се инсталирани на јазли.

На Kubelet му беше забрането да поставува произволни етикети (претходно тие можеа да се поставуваат преку копчињата за стартување kubelet --node-labels), го оставија само овој список дозволено:

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

Тагови beta.kubernetes.io/metadata-proxy-ready, beta.kubernetes.io/metadata-proxy-ready и beta.kubernetes.io/kube-proxy-ds-ready повеќе не се додаваат во новите јазли, а разни дополнителни компоненти почнаа да користат малку различни ознаки како избирачи на јазли:

Компонента
Стара етикета
Тековна етикета

кубе-прокси
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

метаподатоци-прокси
beta.kubernetes.io/metadata-proxy-ready
cloud.google.com/metadata-proxy-ready

Kubeadm сега ја отстранува почетната конфигурациска датотека kublet зад неа bootstrap-kubelet.conf. Ако вашите алатки пристапуваа до оваа датотека, тогаш префрлете се на користење kubelet.conf, кој ги зачувува тековните поставки за пристап.

Cadvisor повеќе не обезбедува метрика pod_name и container_nameако сте ги користеле во Прометеј, одете на метрика pod и container соодветно.

Ги отстрани копчињата со командата за линија:

Компонента
Повлечен клуч

хиперкубе
--направи-симврска

кубе-прокси
--ресурс-контејнер

Распоредувачот почна да ја користи верзијата v1beta1 на Event API. Ако користите алатки од трета страна за интеракција со Event API, префрлете се на најновата верзија.

Момент на хумор. За време на подготовката на изданието 1.16, беа направени следните промени:

  • ја отстранил прибелешката scheduler.alpha.kubernetes.io/critical-pod во верзија v1.16.0-alpha.1
  • ја вратил прибелешката scheduler.alpha.kubernetes.io/critical-pod во верзија v1.16.0-alpha.2
  • ја отстранил прибелешката scheduler.alpha.kubernetes.io/critical-pod во верзија v1.16.0-beta.1

Користете го полето spec.priorityClassName да укаже на важноста на мешунката.

Извор: www.habr.com

Додадете коментар