Сёння, 18 верасня, выходзіць чарговая версія Kubernetes – 1.16. Як заўжды нас чакае шмат паляпшэнняў і навінак. Але я хацеў бы звярнуць вашу ўвагу на раздзелы Action Required файла
Увогуле, патрабуюць ручнога ўмяшання…
Пачнем адразу з змены, якое, хутчэй за ўсё, закране ўсіх, хто дастаткова доўга працуе з kubernetes. Kubernetes API перастаў падтрымліваць састарэлыя версіі API рэсурсаў.
Калі хто не ведаў, ці забыўся…Версія API рэсурсу паказваецца ў маніфесце, у полі apiVersion: apps/v1
А менавіта:
Тып рэсурсу
старая версія
На што трэба замяніць
Усе рэсурсы
apps/v1beta1
apps/v1beta2
apps/v1
разгортвання
daemonset
replicaset
extension/v1beta1
apps/v1
networkpolicies
extensions/v1beta1
networking.k8s.io/v1
podsecuritypolicies
extensions/v1beta1
policy/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 and beta.kubernetes.io/kube-proxy-ds-ready больш не дадаюцца на новыя вузлы, і розныя дадатковыя кампаненты сталі выкарыстоўваць крыху іншыя пазнакі ў якасці node selector:
кампанент
Старая пазнака
Актуальная пазнака
kube-проксі
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 зараз выдаляе за сабой файл пачатковай канфігурацыі кублета bootstrap-kubelet.conf
. Калі вашы прылады звярталіся да гэтага файла, то пераключыцеся на выкарыстанне kubelet.conf
, у якім захоўваюцца актуальныя наладкі доступу.
Cadvisor больш не аддае метрыкі pod_name
и container_name
, калі вы выкарыстоўвалі іх у Prometheus, пераходзіце на метрыкі pod
и container
адпаведна.
Прыбралі ключы камандай радка:
кампанент
Прыбраны ключ
hyperkube
-make-symlink
kube-проксі
-resource-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
для ўказання важнасці пода.
Крыніца: habr.com