Kubernetes v1.18 正式发布!抢先一览

持续关注 「K8S 生态周报」的小伙伴们,在每周的上游进展中,应该已经了解到了大多数新的特性和修复,这里来一并总结下。

Kubernetes 即将发布,截至发文时,v1.18.0 尚未正式 Release 。不过已经在进行中了, 让我们抢先看看 Kubernetes v1.18 为我们带来了哪些新内容吧!

v1.18 中的主要变更集中在 deprecations, metrics , kubectlnode 方面。我们逐个来看看:

kubectl 相关变更

引用我在K8S 生态周报| Helm v3.1.2 发布中的介绍:

引用我在K8S 生态周报| containerd v1.2.13 发布 中的介绍:

(MoeLove)   ~ kubectl create deploy moelove --image=redis --dry-run=client
deployment.apps/moelove created (dry run)
(MoeLove)   ~ kubectl create deploy moelove --image=redis --dry-run=server
deployment.apps/moelove created (server dry run)
(MoeLove)   ~ kubectl create deploy moelove --image=redis --dry-run=none
deployment.apps/moelove created

此外,kubectl 还有些其他值得注意的内容:

在 v1.18 中:

(MoeLove)   ~ kubectl get pods 
NAME                     READY   STATUS    RESTARTS   AGE
redis-65d8df48cf-2rcqq   1/1     Running   0          48s
(MoeLove)   ~ kubectl delete pods redis-65d8df48cf-2rcqq --force
warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
pod "redis-65d8df48cf-2rcqq" force deleted

在 v1.18 之前:

(MoeLove)   ~ kubectl  get pods
kNAME                     READY   STATUS    RESTARTS   AGE
redis-65d8df48cf-qrd4h   1/1     Running   0          53s
(MoeLove)   ~ kubectl delete pods redis-65d8df48cf-qrd4h --force 
warning: --force is ignored because --grace-period is not 0.
pod "redis-65d8df48cf-qrd4h" deleted

相关废弃

#85903 kube-apiserver

kubelet

kube-proxy

kubeadm

引用 K8S 生态周报| Docker v19.03.7 发布 中的介绍

kubectl

引用 K8S 生态周报| Docker v19.03.6-rc2 发布 中的介绍:

在 Kubernetes v1.18 中,会将之前已标注过期的各类 generator 都移除掉。 也就是说,自 v1.18 起使用 kubectl run 命令主要就是创建 Pod 了,而不会创建多余的 deploy 之类的。

至于像 service 加了 --expose 倒也还可以创建,只不过类似 --service-generator 这类参数就也都标记废弃了。

v1.18 之前版本的执行结果是这样:

(MoeLove)   ~ kubectl run redis --image="redis:alpine"
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
deployment.apps/redis created
(MoeLove)   ~ kubectl get all -l run=redis
NAME                         READY   STATUS    RESTARTS   AGE
pod/redis-8544698fd7-tvz5q   1/1     Running   0          14s

NAME                    READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/redis   1/1     1            1           14s

NAME                               DESIRED   CURRENT   READY   AGE
replicaset.apps/redis-8544698fd7   1         1         1       14s

v1.18 版本:

(MoeLove)   bin ./kubectl run redis-new --image="redis:alpine"
pod/redis-new created
(MoeLove)   bin ./kubectl get all -l run=redis-new
NAME            READY   STATUS    RESTARTS   AGE
pod/redis-new   1/1     Running   0          12s

总结

以上内容是我认为在 Kubernetes v1.18 中比较值得关注的部分。待 v1.18.0 正式发布时,可再参考官方的 ReleaseNote 获取更加详尽的内容。


欢迎通过下面二维码订阅我的文章公众号【MoeLove】

TheMoeLove

Related Posts

Comments