“「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」[1]。 ”
Kubernetes v1.16.15 发布
Kubernetes v1.16.15 是 v1.16 系列的最后一个更新,我在之前的周报中也有介绍过。
是时候考虑将 v1.16 升级至更高版本了!
以下介绍从 v1.16 升级至 v1.17 需要关注的一些重点。
etcd
就外部依赖而言,最主要的变化是 etcd 从 v3.3.13
升级到了 v3.4.3
。
在升级 etcd 前,我建议你先阅读下 etcd 的升级文档[2]。我从中说几个重点内容:
“In the general case, upgrading from etcd 3.3 to 3.4 can be a zero-downtime, rolling upgrade:
- one by one, stop the etcd v3.3 processes and replace them with etcd v3.4 processes
- after running all v3.4 processes, new features in v3.4 are available to the cluster
”
这是 etcd 文档中的内容,看起来是很安全的。
但也有一些非常关键的信息值得注意, 主要是破坏性变更:
ETCDCTL_API=3 etcdctl
成为默认;etcd --enable-v2=false
默认关掉了 v2 支持;etcd --ca-file
和etcd --peer-ca-file
已过期;
整体而言涉及到的内容就是 etcd v2 API
了。
假如你使用的 CNI 是 Flannel 的话,你需要注意 Flannel 目前还不支持使用 etcd v3 API[3] , 需要自行设置 --enable-v2
。
kube-apiserver
默认的 service IP CIDR 10.0.0.0/24 已经过期,并将在之后版本删除,所以需要注意给 kube-apiserver 设置 --service-cluster-ip-range
选项,以免在之后升级时发生问题。
kubelet & CSI
如果你的某个节点使用了 CSI raw block volume ,那么在升级 kubelet 前, 必须 kubectl drain node-x
以避免遇到问题[4]
最值得关注的问题主要就这些,祝你升级顺利 :)
Rook v1.4.2 发布
Rook 本次发布的 v1.4.2 版本,主要集中在对 Ceph 相关内容的改进。我们来看看有哪些值得关注的内容吧:
- #6118 为 OSD prepare 做了资源限制;
- #6170 为所有对象存储的 debug 信息增加了完整的 DNS 后缀,比如(
.svc.cluster.local
);
更多关于此版本的变更请参考其 ReleaseNote
Cilium v1.8.3 发布
关于 Cilium 的介绍可参考我的上一篇文章 Cilium 上手实践 ,这里就不再赘述了。
本周 Cilium 发布了 v1.8.3 版本,我们来看看有哪些值得注意的变更吧:
- 为 Cilium operator 增加了 HA 模式[5] , 但是要注意的是 HA 模式由于使用了 coordination.k8s.io/v1 API 所以不支持 Kubernetes v1.14 之前版本的 K8S ;
- Hubble/relay: 在 ServerStatus 会报告 Node 连接状态了;
更多关于此版本的变更,请参考其 ReleaseNote[6]
上游进展
- #93548
kubectl
path 增加了一个--patch-file
的选项,允许使用 patch 文件; - #94309
kubectl get ingress
默认将使用networking.k8s.io/v1
API 而不是之前的extensions/v1beta1
;
欢迎订阅我的文章公众号【MoeLove】
TheMoeLove
参考资料
[1]
k8s生态: https://zhuanlan.zhihu.com/container
[2]
etcd 升级文档: https://github.com/etcd-io/etcd/blob/master/Documentation/upgrades/upgrade_3_4.md
[3]
Flannel 不支持 etcd v3 API: https://github.com/coreos/flannel/issues/1191
[4]
kubelet & CSI v1.17: https://github.com/kubernetes/kubernetes/pull/74026
[5]
Cilium operator HA mode: https://github.com/cilium/cilium/pull/12409
[6]
Cilium v1.8.3 ReleaseNote: https://github.com/cilium/cilium/releases/tag/v1.8.3