Kubernetes 1.20有哪些新功能
这篇文章主要介绍Kubernetes 1.20有哪些新功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
Kubernetes 1.20 版本有 43 个增强(从 1.19 版本增加的 34 个),包括 15 个全新的,11 个升级到稳定的,以及 17 个对现有特性的改进。
这表明这些增强的作用范围较小。例如,对 kube-apiserver 进行了一些更改,以使其在 HA 集群中更加友好并具有更好的性能。它还可以在升级后更有效地重新启动。
为什么会这样?
这些小的改进和新特性为未来的重大变化铺平了道路。然而,最新版本已经有了一个主要的变化(尽管人们期待已久)。
Kubernetes 弃用 Docker
从 1.20 版本开始,Kubernetes 将不再支持 Docker 作为容器运行时,而是支持容器运行时接口Container Runtime Interface(CRI)。
但是不要惊慌!
这并不意味着 Docker 已经死了,你不必放弃 Docker 工具。对于 Kubernetes 用户来说,不会有太大的改变,因为你仍然可以使用 Docker 构建容器,生成的映像也将继续在 Kubernetes 集群中运行。
然而,Kubernetes 计划在未来的版本中移除 kubelet 和 dockershim 中的 Docker 引擎支持,很可能在明年晚些时候。但是你可以通过将内置 dockershim 替换为外部 dockershim 来继续使用它。
Docker 和 Mirantis 还同意合作并维护 Kubernetes 之外的 shim 代码,作为 Docker 引擎的一个一致的 CRI 接口。这确保它通过了所有的一致性测试,并像以前的内置版本一样无缝地工作。
为了保持优秀的开发人员体验,Docker 计划继续将这个 shim 发布到 Docker 桌面,而 Mirantis 将在 Mirantis Kubernetes 引擎中利用这个功能。此外,对用 Docker 工具构建的容器映像的 net/net 支持不会被弃用,而且会像以前一样工作。
尽管 Docker 是领先的容器解决方案,但并不是为了嵌入到 Kubernetes 中而开发的。它不仅具有容器运行时功能,还具有多种 UX 增强功能,使开发人员能够与之无缝交互。
Docker 是一个完整的技术堆栈(而不仅仅是一个集装箱化平台),它也提供了称为"containerd"的高级容器运行时,从现在起,这将是您的容器运行时选项。
这些更新和增强功能不一定专注于 Kubernetes。取而代之的是,它们旨在克服障碍,使开发人员能够最大程度地利用障碍。例如,目前,Kubernetes 集群需要一个名为 Dockershim 的工具,该工具已容器化。它用于为团队必须维护的另一种工具增加一定程度的复杂性。但是,它是经常产生错误和其他问题的来源。因此,Kubernetes 项目计划在 1.23 版中删除 Dockershim 并终止对 Docker 的支持。
这意味着问题仅归结为将 Docker 换成 CRI 运行时。但是就目前而言,Docker 开发仍然是相同的没有任何明显的差异。内置 Docker 的映像不是特定于 Docker 的,而是Open Container Initiative (OCI) images。
OCI 是 Docker 在 2015 年建立的,以支持可互操作的容器标准(以确保容器可以在任何环境下运行)。在过去的五年里,它被证明是一个巨大的成功,在促进创新的同时保持互操作性。要使用这些图像,可以使用 containerd 或CRI-O。
令人兴奋的新功能
1. CronJobs 和 Kubelet CRI 支持
CronJobs 在 1.4 版中引入,并从 1.5 版开始具有 CRI 支持。但是,尽管被广泛使用,但都没有被认为是稳定的。因此,很高兴看到开发人员所依赖的用于运行生产集群的功能不再被视为 Alpha。
2. CSIServiceAccountToken
此更新通过增强身份验证和令牌处理,大大提高了安全性。现在您可以更安全地访问需要身份验证的卷(包括 secret vaults),设置和部署也要容易得多。
3.公开关注于资源请求和对 Pod 模型的限制的度量
现在有了更多指标可以更好地规划集群的容量,当遇到驱逐问题时,它也有助于排除故障。
4.优雅的节点关闭
虽然它是一个小特性,但它使开发人员的工作变得简单多了。通过在节点关闭时适当释放资源,您现在可以避免奇怪的行为。
5. kube-apiserver 身份标识
每个 kube-apiserver 实例的唯一标识符通常不会被注意到,但这是必要的,因为了解它将有助于确保未来 Kubernetes 版本中的高可用性特性。
6.系统组件日志清理
Kubernetes 系统漏洞最近曝光,尤其是凭证泄漏到日志输出中。牢记大局,现在您可以确定泄漏的潜在来源,并建立编辑机制以消除这些泄漏。
Kubernetes 的系统漏洞最近暴露出来,特别是凭证泄露到日志输出中。现在可以确定泄漏的潜在源,并设置一个修订机制来消除这些漏洞。
应该了解的关键弃用
1. kubeadm 主节点角色更名
阶段:弃用
功能组:集群生命周期
现在将node-role.kubernetes.io/master
更改为 node-role.kubernetes.io/control-plane
。
2.弃用和禁用 SelfLink
阶段:升级到 Beta
功能组:api-machinery
每个 Kubernetes 对象中的 SelfLink 字段都包含一个表示给定对象的 URL,但不提供任何新信息。同时,它的创建和维护会影响性能。
Kubernetes 1.16 开始弃用,从现在开始,特性门( feature gate)在默认情况下是禁用的,并计划在 Kubernetes 1.21 中删除。
3.流式代理重定向
阶段:弃用
功能组:节点
在 1.18 版中已标记为弃用,StreamingProxyRedirects 和--redirect-container-streaming
标志都不会启用。在 1.22 版本中,它也会被默认禁用,而在 1.24 版本中则完全删除。
从上面可以看到,Kubernetes 的开发人员和管理员没有什么可担心的。当他们利用 docker 命令和 kubectl 命令来管理 Kubernetes 集群时,本质上就是业务。
以上是"Kubernetes 1.20有哪些新功能"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!