本文已超过一年。较旧的文章可能包含过时的内容。请检查页面中的信息自发布以来是否已变得不正确。
Kubernetes 1.7:安全强化、有状态应用程序更新和可扩展性
本文由Aparna Sinha和Ihor Dvoretskyi代表Kubernetes 1.7发布团队撰写。
今天我们宣布 Kubernetes 1.7,这是一个重要的里程碑版本,它增加了安全、存储和可扩展性功能,这些功能是由 Kubernetes 在最苛刻的企业环境中的广泛生产使用所推动的。
概括地说,此版本中的安全增强功能包括加密的密钥、用于 Pod 到 Pod 通信的网络策略、用于限制 kubelet 访问的节点授权器以及客户端/服务器 TLS 证书轮换。
对于那些在 Kubernetes 上运行横向扩展数据库的用户来说,此版本具有一个主要功能,该功能可为 StatefulSets 添加自动更新,并增强对 DaemonSets 的更新。我们还宣布对本地存储的 alpha 支持以及用于更快扩展 StatefulSets 的突发模式。
此外,对于高级用户来说,此版本中的 API 聚合允许用户提供的 apiservers 与 Kubernetes API 的其余部分一起在运行时提供服务。其他亮点包括对可扩展的准入控制器、可插拔云提供商和容器运行时接口 (CRI) 增强功能的支持。
新增功能
安全
- 网络策略 API 提升为稳定版。网络策略通过网络插件实现,允许用户设置和强制执行控制哪些 Pod 可以相互通信的规则。
- 节点授权器 和准入控制插件是新增功能,可根据其节点限制 kubelet 对密钥、Pod 和其他对象的访问。
- 现在,可以使用 密钥加密和 etcd 中的其他资源作为 alpha 版。
- Kubelet TLS 引导 现在支持客户端和服务器证书轮换。
- API 服务器存储的审计日志现在更加可自定义和可扩展,支持事件过滤和 Webhook。它们还为系统审计提供更丰富的数据。
有状态工作负载
- StatefulSet 更新是 1.7 中的一项新的 beta 功能,允许使用包括滚动更新在内的一系列更新策略自动更新有状态应用程序(如 Kafka、Zookeeper 和 etcd)。
- StatefulSets 现在还支持通过 Pod 管理策略更快地扩展和启动不需要排序的应用程序。这可以是一个主要的性能改进。
- 本地存储 (alpha) 是有状态应用程序最常被请求的功能之一。用户现在可以通过标准 PVC/PV 接口和 StatefulSets 中的 StorageClasses 访问本地存储卷。
- DaemonSets(每个节点创建一个 Pod)已经具有更新功能,并且在 1.7 中添加了智能 回滚和历史功能。
- 新的 StorageOS 卷插件可从本地或附加节点存储提供高可用性的集群范围持久卷。
可扩展性
运行时 API 聚合是此版本中最强大的可扩展性功能,允许高级用户将 Kubernetes 风格的预构建、第三方或用户创建的 API 添加到其集群。
容器运行时接口 (CRI) 已经通过新的 RPC 调用进行了增强,以从运行时检索容器指标。CRI 的验证测试已经发布,并且与 containerd 的 Alpha 集成(支持基本的 Pod 生命周期和映像管理)现在可用。阅读我们之前的 深入文章,介绍 CRI。
其他功能
- 引入了对 外部准入控制器的 Alpha 支持,为 API 服务器添加自定义业务逻辑提供了两个选项,用于在创建对象时修改对象和验证策略。
- 引入了基于策略的联邦资源放置作为 Alpha,为联邦集群提供放置策略,基于法规、定价或性能等自定义要求。
弃用:
- 第三方资源 (TPR) 已被自定义资源定义 (CRD) 取代,后者提供了更简洁的 API,并解决了 TPR beta 期间提出的问题和极端情况。如果您使用 TPR beta 功能,我们鼓励您进行迁移,因为它计划在 Kubernetes 1.8 中被社区移除。
以上是 Kubernetes 1.7 中的功能亮点的一部分。有关完整列表,请访问发行说明。
采用
此版本的发布归功于我们庞大而开放的社区。我们一起在短短三年内已经推送了超过 50,000 次提交,而这仅仅是在主要的 Kubernetes 存储库中。Kubernetes 的其他扩展在相关的存储库中贡献,从而为项目带来了整体稳定性。这种速度使 Kubernetes 成为有史以来增长最快的开源项目之一。
Kubernetes 的采用来自世界各地的各个部门。来自社区的最近用户案例包括:
- GolfNow 是 NBC Sports Group 的一员,他们将应用程序迁移到 Kubernetes,从而提高了资源利用率,并将基础设施成本削减了一半。
- 视频基础设施解决方案提供商 Bitmovin 向我们展示了他们如何使用 Kubernetes 在云端和本地进行多阶段金丝雀部署。
- 世界上最大的在线超市 Ocado 使用 Kubernetes 为他们的智能仓库创建一个分布式数据中心。请在此处阅读有关他们完整设置的信息。
- Kubernetes 是否正在帮助您的团队?请与社区分享您的故事。查看我们不断增长的用户案例研究资源,并从 Box 等伟大公司学习,这些公司已经在其组织中采用了 Kubernetes。
非常感谢 Kubernetes 1.7 发布团队,该团队由 Google 的 Dawn Chen 领导。
可用性
Kubernetes 1.7 可在 GitHub 上下载。要开始使用 Kubernetes,请尝试其中一个交互式教程。
参与
加入社区,参加12月6日至8日在奥斯汀举行的CloudNativeCon + KubeCon,这是有史以来规模最大的 Kubernetes 聚会。演讲稿件提交截止日期为8月21日,优惠注册截止日期为10月6日。
参与的最简单方式是加入与您的兴趣相符的众多特别兴趣小组 (SIG) 之一。 您有想向 Kubernetes 社区广播的内容吗?在我们的每周社区会议和这些渠道中分享您的声音。
- 在Stack Overflow上发布问题(或回答问题)
- 加入K8sPort上的倡导者社区门户
- 在 Twitter 上关注我们 @Kubernetesio,获取最新更新
- 在 Slack 上与社区联系
- 分享您的 Kubernetes 故事。
非常感谢我们庞大的贡献者和支持者社区,使本次和所有版本的发布成为可能。