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