2020 年Kubernetes 1.18 版本发布,核心优化

前言

Kubernetes 1.18 发布了,这是 2020 年首次版本发布。

此版本包含 38 项功能增强,其中 15 项为稳定版功能、11 项 beta 功能以及 12 项 alpha 版功能。

Kubernetes (通常称为 K8s) 是来自 Google 云平台的开源容器集群管理系统,用于自动部署、扩展和管理容器化(containerized)应用程序。该系统基于 Docker 构建一个容器的调度服务。

Kubernetes 可以自动在一个容器集群中选择一个工作容器供使用。其核心概念是 Container Pod。详细的设计思路请参考这里。

Kubernetes 由 Google 设计并捐赠给 Cloud Native Computing Foundation 使用。它旨在提供“跨主机集群的自动部署、扩展以及运行应用程序容器的平台”。它支持一系列容器工具,包括 Docker 等。


2020 年Kubernetes 1.18 版本发布,核心优化

更新内容


2020 年Kubernetes 1.18 版本发布,核心优化

1、Kubernetes 拓扑管理器 beta

拓扑管理器的作用是让 CPU 与其它设备(例如 SR-IOV-VF)实现 NUMA 对齐,进而让工作负载运行在优化环境中以降低延迟。在拓扑管理器推出之前,CPU 与设备管理器只能彼此独立地做出资源分配决策。此版本拓扑管理器已经发展到 beta 版本。

2、Serverside Apply beta 2

beta 2 版本将跟踪并管理所有新 Kubernetes 对象的字段变更,确保用户及时了解哪些资源在何时进行过更改。

3、使用 IngressClass 扩展 Ingress 并替换不推荐使用的注解

此版本 Ingress 有两个重要的附加功能:一个新的 pathType 字段和一个新的 IngressClass 资源。pathType 字段允许指定如何匹配路径。除了默认的 ImplementationSpecific 类型,还有新的 Exact 和 Prefix 路径类型。

IngressClass 资源用于描述 Kubernetes 集群内的 Ingress 类型。此新资源和字段替换了不推荐使用的 kubernetes.io/ingress.class 注解。

4、SIG-CLI 引入 kubectl alpha debug 命令

SIG-CLI到底需不需要调试功能,一直是个颇具争议的问题。随着即席容器[1]的发展,这个问题变得愈发尖锐,而我们也开始考虑利用基于kubectl exec构建的工具为开发人员提供支持。此次新增的kubectl debug命令(目前为alpha版)允许开发人员在集群当中轻松调试自己的Pod,进而获得巨大的便利性增益。这项命令将创建一个即席容器,容器运行在待检查Pod旁边,同时附带有控制台以执行交互式故障排查。

SIG-CLI 调试程序的能力变得越来越必要,基于 kubectl exec,增加了 kubectl alpha debug 命令(目前为 alpha 阶段),使开发人员可以轻松地在集群中调试其 Pod。此命令允许创建一个临时容器,该容器在要检查的 Pod 旁边运行,并且还附加到控制台以进行交互式故障排除。

5、Windows CSI 支持

带来了用于 Windows 的 CSI 代理,目前处于 alpha 版。CSI 代理使非特权的容器能够在 Windows 上执行特权存储操作(预先批准)。现在可以利用 CSI 代理在 Windows 中支持 CSI 驱动。

如何入门?

1、知识图谱


2020 年Kubernetes 1.18 版本发布,核心优化

2、链接和备注


2020 年Kubernetes 1.18 版本发布,核心优化


2020 年Kubernetes 1.18 版本发布,核心优化


2020 年Kubernetes 1.18 版本发布,核心优化


2020 年Kubernetes 1.18 版本发布,核心优化


2020 年Kubernetes 1.18 版本发布,核心优化


2020 年Kubernetes 1.18 版本发布,核心优化


2020 年Kubernetes 1.18 版本发布,核心优化


2020 年Kubernetes 1.18 版本发布,核心优化


2020 年Kubernetes 1.18 版本发布,核心优化


2020 年Kubernetes 1.18 版本发布,核心优化


2020 年Kubernetes 1.18 版本发布,核心优化

容器的优点

  • 敏捷地应用创建和部署:相较于VM增加了容器镜像创建的效率。
  • 持续开发,集成和部署:通过快速的回滚操作(因为镜像的稳定性)提供可靠的经常的容器镜像的创建和部署。
  • 开发和运行相分离:在build或者release 的阶段(而非部署阶段),使得应用和基础设施解耦。
  • 开发,测试和生产环境的持续:在笔记本上可以像在云中一样的运行。
  • 云和操作系统版本的可移植性:可以运行在 Ubuntu, RHEL, CoreOS, on-prem, Google Container Engine,和任何其它的运行环境中。
  • 应用为中心的管理:提升了虚拟化的层次,从虚拟硬件上运行操作系统的抽象到操作系统中应用逻辑资源的虚拟。
  • 松耦合,分布式,弹性,自由的微服务:应用被打散成更小的,独立的小碎片并且可以动态地部署和管理——而非是一个在用途单一的庞大机器中运行的一个臃肿堆栈中。
  • 资源隔离:可以预测的应用性能。

  • 分享到:


    相關文章: