“「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」[1]。 ”
Kubernetes v1.16.15 是 v1.16 系列的最后一个更新,我在之前的周报中也有介绍过。
是时候考虑将 v1.16 升级至更高版本了!
以下介绍从 v1.16 升级至 v1.17 需要关注的一些重点。
就外部依赖而言,最主要的变化是 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:
”
这是 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
。
默认的 service IP CIDR 10.0.0.0/24 已经过期,并将在之后版本删除,所以需要注意给 kube-apiserver 设置 --service-cluster-ip-range
选项,以免在之后升级时发生问题。
如果你的某个节点使用了 CSI raw block volume ,那么在升级 kubelet 前, 必须 kubectl drain node-x
以避免遇到问题[4]
最值得关注的问题主要就这些,祝你升级顺利 :)
Rook 本次发布的 v1.4.2 版本,主要集中在对 Ceph 相关内容的改进。我们来看看有哪些值得关注的内容吧:
.svc.cluster.local
);更多关于此版本的变更请参考其 ReleaseNote
关于 Cilium 的介绍可参考我的上一篇文章 Cilium 上手实践 ,这里就不再赘述了。
本周 Cilium 发布了 v1.8.3 版本,我们来看看有哪些值得注意的变更吧:
更多关于此版本的变更,请参考其 ReleaseNote[6]
kubectl
path 增加了一个 --patch-file
的选项,允许使用 patch 文件;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