Kubernetes 1.8 改进安全性、稳定性和 Workloads API

  • Unni Sathyarajan
  • 大愚若智

2017 年 11 月 30 日

话题:安全DevOpsKubernetes

Kubernetes 团队刚刚发布了 1.8 版 Kubernetes,新版在改进安全性的同时提供了更好的稳定性,并将 Workloads API 升级到了 Beta 版本。此外还对原本已经成熟的功能进行了更新,包括基于角色的访问控制(RBAC),为卷挂载选项提供支持允许特权提升,以及对高级卷操作度量提供的支持

在合规方面,RBAC网络策略是两个非常强大的功能,有助于帮助客户满足管控和安全方面的需求。集群管理员可以根据Kubernetes API 资源的作用范围,使用 RBAC 为用户和应用程序(服务帐户)定义不同级别的细化访问权限。网络策略可以在异构集群环境中针对不同 Pod 提供不同级别的隔离。

举例来说,如果只有一个应用程序服务器(源)连接到数据库服务器(目标),管理员可以定义两条策略,第一条应用于数据库 Pod,只允许在特定端口接受来自应用程序 Pod 的入站流量;第二条应用于应用程序 Pod,只允许将流量发送给数据库 Pod 的指定端口。这种策略可针对名称空间CIDR的范围生效。默认情况下,同一个 Kubernetes 集群内的所有 Pod(例如前端 Pod、后端 Pod、数据库 Pod、缓存 Pod 等)可以毫无限制地相互随意通信。

此外新版本还包括一些重要的 Beta 版功能,例如可通过网络策略对来自 Pod 的出站流量进行筛选,可以为KubeletWorkloads API配置自动进行的传输层安全(TLS)证书轮换。Kubernetes 团队称,Workloads API“可以对现有工作负载向 Kubernetes 进行的迁移,以及以 Kubernetes 为原生目标的云原生应用程序开发提供所需的抽象和稳健的基础”。

Workloads API 包含Daemon Sets(Pod 管理)、Replica Sets(管理 Pod 的跨节点复制)、Deployments(管理 Pod 的更新和复制集)、Stateful Sets(对数据库等有状态应用程序提供 Pod 管理)。例如bootkube项目就使用了 Workloads API。对于大数据工作负载,Workloads API 还为 Apache Stark 提供了原生的 Kubernetes 支持

Kubernetes 社区对于 1.8 版本的发布表现的极为活跃,这是今年内的第三次发布,总共为 Kubernetes 增加了 40 个功能,这些功能(目前)来自29 个特殊兴趣组(Special interest group,SIG)以及6 个工作组(Working group,WG)SIG是一种很多贡献者为了让项目更完善,围绕共同目标和具体的主题做贡献的群体,WG 的成员则主要负责新概念的实现,以及协调于不同 SIG 的合作。

Kubernetes 目前的开发重心主要围绕可以进一步改善稳定性的功能,并非围绕全新的功能。目前功能的生命周期主要分为三个阶段:Alpha、Beta 和 Stable。Alpha 阶段主要面向处于初步阶段的功能,这些功能都是实验性的,并且可能在后续版本中取消。Beta 阶段更进一步,会针对各种功能收集反馈并进一步完善。处于 Stable 阶段的功能通常已经不太可能继续改动,已经可以准备好用于生产环境。

1.8 版约有 40 个新功能,其中 4 个处于 Stable 状态,16 个为 Beta 状态,其余均为 Alpha 状态。预计这些功能将在 1.9 版进入 Stable 状态:Workloads API、与Prometheus更完善的集成、自定义资源定义(CRD)、在资源管理方面更丰富的节点级改进,以及常规的 Bug 修复。

阅读英文原文Kubernetes 1.8 Improves Security, Stability and Workloads

安全DevOpsKubernetes