Kubernetes 1.18: 完善与优化
我们很高兴地宣布 Kubernetes 1.18 发布,这是我们 2020 年的第一个版本!Kubernetes 1.18 包含 38 项增强功能:15 项增强功能进入稳定阶段,11 项增强功能处于 Beta 阶段,12 项增强功能处于 Alpha 阶段。
Kubernetes 1.18 是一个“修饰完善”版本。投入了大量工作来改进 Beta 和稳定功能,以确保用户获得更好的体验。同时,也投入了同样的努力来增加新的开发和令人兴奋的新功能,有望进一步提升用户体验。在 Alpha、Beta 和稳定阶段拥有几乎同等数量的增强功能是一项巨大的成就。这显示了社区在提高 Kubernetes 可靠性以及持续扩展其现有功能方面付出的巨大努力。
主要主题
Kubernetes Topology Manager 移至 Beta - 对齐!
Kubernetes 1.18 版本中的一项 Beta 功能,Topology Manager 功能支持 CPU 和设备(如 SR-IOV VF)的 NUMA 对齐,这将使您的工作负载能够在针对低延迟优化的环境中运行。在引入 Topology Manager 之前,CPU 和 Device Manager 会独立做出资源分配决策。这可能导致在多套接字系统上出现不理想的分配,从而导致对延迟敏感的应用性能下降。
Server-side Apply 引入 Beta 2
Server-side Apply 在 1.16 中晋升为 Beta,但在 1.18 中引入了第二个 Beta 版本。这个新版本将跟踪和管理所有新 Kubernetes 对象的字段更改,让您知道谁何时更改了您的资源。
扩展 Ingress,并使用 IngressClass 替换已弃用的注解
在 Kubernetes 1.18 中,Ingress 有两个重要的新增内容:一个新的 pathType
字段和一个新的 IngressClass
资源。pathType
字段允许指定路径应如何匹配。除了默认的 ImplementationSpecific
类型外,还有新的 Exact
和 Prefix
路径类型。
IngressClass
资源用于描述 Kubernetes 集群中的一种 Ingress 类型。Ingress 可以通过在 Ingress 上使用新的 ingressClassName
字段来指定与之关联的类。这个新的资源和字段取代了已弃用的 kubernetes.io/ingress.class
注解。
SIG-CLI 引入 kubectl alpha debug
SIG-CLI 一段时间以来一直在讨论调试工具的需求。随着临时容器的开发,我们如何通过构建在 kubectl exec
之上的工具来支持开发人员变得更加清晰。添加 kubectl alpha debug
命令(它是 Alpha 版本,但非常欢迎您的反馈)允许开发人员轻松地在集群内部调试他们的 Pod。我们认为这个添加非常有价值。此命令允许创建一个临时容器,该容器在您尝试检查的 Pod 旁边运行,同时也附加到控制台进行交互式故障排除。
介绍用于 Kubernetes 的 Windows CSI 支持 alpha
CSI Proxy for Windows 的 Alpha 版本将随 Kubernetes 1.18 一同发布。CSI proxy 通过允许 Windows 中的容器执行特权存储操作来在 Windows 上启用 CSI 驱动程序。
其他更新
晋升为稳定版 💯
- 基于污点的驱逐
kubectl diff
- CSI 块存储支持
- API Server dry run
- 在 CSI 调用中传递 Pod 信息
- 支持树外 vSphere Cloud Provider
- 支持 Windows 工作负载的 GMSA
- 跳过不可附加 CSI 卷的附加
- PVC 克隆
- 将 kubectl 包代码移至 staging
- Windows 的 RunAsUserName
- Services 和 Endpoints 的 AppProtocol
- 扩展大页(Hugepage)特性
- client-go 签名重构以标准化选项和上下文处理
- 节点本地 DNS 缓存
主要变化
- EndpointSlice API
- 将 kubectl 包代码移至 staging
- CertificateSigningRequest API
- 扩展大页(Hugepage)特性
- client-go 签名重构以标准化选项和上下文处理
发行说明
在我们的发行说明中查看 Kubernetes 1.18 发布的完整详细信息。
可用性
Kubernetes 1.18 可在 GitHub 上下载。要开始使用 Kubernetes,请查阅这些交互式教程,或使用 Docker 容器“节点”通过 kind 运行本地 Kubernetes 集群。您也可以使用 kubeadm 轻松安装 1.18。
发布团队
此版本的发布得益于数百名贡献了技术和非技术内容的个人的努力。特别感谢由 Searchable AI 站点可靠性工程师 Jorge Alarcon Ochoa 领导的发布团队。34 位发布团队成员协调了发布的许多方面,从文档到测试、验证和功能完整性。
随着 Kubernetes 社区的发展,我们的发布流程展示了开源软件开发中令人惊叹的协作。Kubernetes 正在快速吸引新用户。这种增长创造了一个积极的反馈循环,更多的贡献者提交代码,从而创建了一个更具活力的生态系统。截至目前,Kubernetes 已有超过 40,000 名个人贡献者,以及一个超过 3,000 人的活跃社区。
发布 Logo
为什么选择 LHC?
LHC 是世界上最大的、最强大的粒子加速器。它是世界各地成千上万科学家协作的成果,一切都为了科学的进步。同样,Kubernetes 也是一个项目,它汇聚了来自数百个组织的数千名贡献者——都为改进云计算的各个方面这一共同目标而努力!发布名称“A Bit Quarky”旨在提醒我们,非传统的想法可以带来巨大的变化,保持开放的心态面对多样性将帮助我们创新。
关于设计师
Maru Lango 是一位目前居住在墨西哥城的设计师。她的专业领域是产品设计,但也喜欢品牌、插画以及使用 CSS + JS 进行视觉实验,并为科技和设计社区的多样性工作做出贡献。您可以在大多数社交媒体上找到她 (@marulango) 或访问她的网站:https://marulango.com
用户亮点
- 爱立信正在使用 Kubernetes 和其他云原生技术来交付一个高要求的 5G 网络,由此节省了高达 90% 的 CI/CD 成本。
- Zendesk 正在使用 Kubernetes 运行其约 70% 的现有应用。他们也在构建所有新应用使其也能在 Kubernetes 上运行,这为其应用开发带来了时间节省、更大的灵活性和更快的速度。
- LifeMiles 由于转向 Kubernetes 将基础设施支出减少了 50%。这也使他们能够将其可用资源容量翻倍。
生态系统更新
- CNCF 发布了其年度调查结果,显示 Kubernetes 在生产中的使用量正在飙升。调查发现,78% 的受访者在生产中使用 Kubernetes,而去年这一比例为 58%。
- CNCF 主办的“Kubernetes 入门”课程注册人数已突破 10 万。
项目速度
CNCF 继续改进 DevStats,这是一个旨在可视化项目大量贡献的雄心勃勃的项目。K8s DevStats 展示了主要公司贡献者的贡献细分,以及一套令人印象深刻的预配置报告,涵盖从个人贡献者到 pull request 生命周期时间的方方面面。
过去一个季度,有 641 家不同的公司和超过 6,409 名个人为 Kubernetes 做出了贡献。查看 DevStats 了解更多关于 Kubernetes 项目和社区的整体速度。
活动更新
Kubecon + CloudNativeCon EU 2020 被推迟 – 如需最新信息,请查看新型冠状病毒更新页面。
即将到来的发布网络研讨会
加入 Kubernetes 1.18 发布团队的成员,于 2020 年 4 月 23 日了解此版本的主要特性,包括 kubectl debug、Topography Manager、Ingress 晋升到 V1 以及 client-go。在此注册:https://www.cncf.io/webinars/kubernetes-1-18/。
参与进来
参与 Kubernetes 最简单的方式是加入众多与您的兴趣相关的 Special Interest Groups (SIGs) 之一。有什么想向 Kubernetes 社区发布的吗?在我们的每周社区会议上,以及通过以下渠道分享您的声音。感谢您的持续反馈和支持。
- 在 Twitter 上关注我们 @Kubernetesio 获取最新更新
- 在 Discuss 上加入社区讨论
- 在 Slack 上加入社区
- 在 Stack Overflow 上发布问题(或回答问题)
- 分享您的 Kubernetes 故事
- 在博客上阅读更多关于 Kubernetes 的动态
- 了解更多关于Kubernetes 发布团队的信息