K8S 生态周报| 是时候从 k8s v1.16 升级了

2020-09-14 16:41:56 浏览数 (1)

“「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-fileetcd --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

0 人点赞