持续关注 「K8S 生态周报」 ( https://zhuanlan.zhihu.com/container )的小伙伴们,在每周的上游进展中,应该已经了解到了大多数新的特性和修复,这里来一并总结下。
Kubernetes 即将发布,截至发文时,v1.18.0 尚未正式 Release 。不过已经在进行中了,让我们抢先看看 Kubernetes v1.18 为我们带来了哪些新内容吧!
v1.18 中的主要变更集中在 deprecations, metrics , kubectl 和 node 方面。我们逐个来看看:
1
kubectl 相关变更
引用我在 K8S 生态周报| Helm v3.1.2 发布 ( https://zhuanlan.zhihu.com/p/113449314 )中的介绍:
#88004 ( https://github.com/kubernetes/kubernetes/pull/88004 ) 正式添加了 kubectl alpha debug 命令,可通过此命令来调试 Kubernetes 中的资源,不过也请注意,此命令尚在 alpha 阶段,后续还会有变动。
引用我在 K8S 生态周报| containerd v1.2.13 发布 ( https://zhuanlan.zhihu.com/p/108700105 ) 中的介绍:
#87714 ( https://github.com/kubernetes/kubernetes/pull/87714 ) kubectl 的 --server-dry-run 被标记为废弃,并且可以通过使用 --dry-run=server 替代。并且 kubectl 的 --dry-run 参数接收的值,也变成了 client, server 以及 none。示例如下:

此外,kubectl 还有些其他值得注意的内容:
#87776 ( https://github.com/kubernetes/kubernetes/pull/87776 ) 当你使用 kubectl delete --force 删除资源的时候,不再需要添加 --grace-period=0 了。示例如下:
在 v1.18 中:

在 v1.18 之前:

2
相关废弃
2.1
#85903 ( https://github.com/kubernetes/kubernetes/pull/85903 ) kube-apiserver
所有资源的 API apps/v1beta1 和 apps/v1beta2 都将废弃,请使用 apps/v1 代替;
daemonsets, deployments, replicasets 资源的 API extensions/v1beta1 将被废弃,请使用 apps/v1 代替;
networkpolicies 资源的 API extensions/v1beta1 将被废弃,请使用 networking.k8s.io/v1 代替;
podsecuritypolicies 资源的 API extensions/v1beta1 将被废弃,请使用 policy/v1beta1 代替;
2.2
kubelet
#86282 ( https://github.com/kubernetes/kubernetes/pull/86282 ) kubelet 的 /metrics/resource/v1alpha1 接口被废弃。其实每次版本发布,都会有很多 metrics 被废弃,v1.17 也同样。
2.3
kube-proxy
#88512 ( https://github.com/kubernetes/kubernetes/pull/88512 ) --healthz-port 和 --metrics-port 选项被废弃,请使用 --healthz-bind-address 和 --metrics-bind-address 代替。
2.4
kubeadm
引用 K8S 生态周报| Docker v19.03.7 发布 ( https://zhuanlan.zhihu.com/p/111833886 ) 中的介绍
#88827 ( https://github.com/kubernetes/kubernetes/pull/88827 ) kubeadm 废弃了 kubeadm alpha certs renew 下的 --use-api 参数,目前预期在 v1.19 将其移除,如有用到相关功能的,请注意。
2.5
kubectl
引用 K8S 生态周报| Docker v19.03.6-rc2 发布 ( https://zhuanlan.zhihu.com/p/105974404 ) 中的介绍:
在 Kubernetes v1.18 中,会将之前已标注过期的各类 generator 都移除掉。 也就是说,自 v1.18 起使用 kubectl run 命令主要就是创建 Pod 了,而不会创建多余的 deploy 之类的。
至于像 service 加了 --expose 倒也还可以创建,只不过类似 --service-generator 这类参数就也都标记废弃了。
v1.18 之前版本的执行结果是这样:

v1.18 版本:

3
总结
以上内容是我认为在 Kubernetes v1.18 中比较值得关注的部分。待 v1.18.0 正式发布时,可再参考官方的 ReleaseNote ( https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.18.md ) 获取更加详尽的内容。
欢迎通过下面二维码订阅我的文章公众号【MoeLove】

原文作者:MoeLove;如有侵权,请联系管理员删除。