今天,18 月 1.16 日,Kubernetes 的下一个版本发布了 - XNUMX。 一如既往,许多改进和新产品等待着我们。 但我想提请您注意该文件的“所需操作”部分
一般来说,它们需要手动干预......
让我们立即开始一项更改,该更改很可能会影响每个长期使用 kubernetes 的人。 Kubernetes API 不再支持旧资源 API 版本。
如果有人不知道或者忘记了...资源的 API 版本在清单中的字段中指示 apiVersion: apps/v1
这些是:
资源类型
旧版
应该用什么代替
所有资源
应用程序/v1beta1
应用程序/v1beta2
应用程序/ v1
部署
守护进程集
复制集
扩展/v1beta1
应用程序/ v1
网络政策
扩展/v1beta1
网络.k8s.io/v1
Pod 安全策略
扩展/v1beta1
政策/v1beta1
我还想提请您注意以下事实:类型的对象 Ingress
也改变了 apiVersion
上 networking.k8s.io/v1beta1
。 旧义 extensions/v1beta1
仍然受支持,但有充分的理由在清单中同时更新此版本。
节点上安装的各种系统标签(节点标签)有相当多的变化。
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 不再添加到新节点中,并且各种附加组件已开始使用略有不同的标签作为节点选择器:
部件
旧标签
当前标签
kube-代理
beta.kubernetes.io/kube-proxy-ds-ready
node.kubernetes.io/kube-proxy-ds-ready
IP 掩码代理
beta.kubernetes.io/masq-agent-ds-ready
node.kubernetes.io/masq-agent-ds-ready
元数据代理
beta.kubernetes.io/元数据代理就绪
cloud.google.com/metadata-proxy-ready
kubeadm 现在删除其后面的初始 kublet 配置文件 bootstrap-kubelet.conf
。 如果您的工具正在访问此文件,则切换到使用 kubelet.conf
,它存储当前的访问设置。
Cadvisor 不再提供指标 pod_name
и container_name
如果您在 Prometheus 中使用过它们,请转到指标 pod
и container
分别
使用 line 命令删除键:
部件
缩回钥匙
超级库贝
--make-符号链接
kube-代理
--资源容器
调度程序开始使用事件 API v1beta1 版本。 如果您使用第三方工具与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
来表明 pod 的重要性。
来源: habr.com