Kubernetes的政策现状
Kubernetes对该行业的影响显著增长;随着快速增长,我们开始看到各个组件在定义和应用策略方面的差异。
目前,策略相关组件存在于身份服务、网络服务、存储服务、多集群联合、RBAC等诸多领域,其成熟度不同,针对具体问题的动机也不同。在每个组件中,有些策略是可扩展的,而另一些则不能。每个项目表达意图所用的语言根据最初的作者和经验而有所不同。推动整个领域的政策观点一致是一项艰巨的任务。
在受监管行业采用Kubernetes还将推动确保部署的集群符合各种法律要求的需求,如PCI、HIPPA或GDPR。这些合规标准中的每一项都对用户信息、数据和隔离实施了一定程度的隐私保护。
当前Kubernetes策略实施的核心问题如下:
- 缺乏跨平台的整体规划
- 不同政策组成部分之间缺乏协调和共同语言
- 跨平台的可扩展策略创建缺乏一致性。
- 在某些领域,策略组件是可扩展的,在某些领域,严格的端到端解决方案是强制实施的。对于首选可扩展和可插拔的体系结构,还没有达成共识。
- 在Kubernetes架构中,创建、修改或禁用的策略以及代表应用的策略执行的操作缺乏一致的可审计性。
成立Kubernetes政策工作组
我们成立了一个新的工作组,直接解决这些问题。我们打算提供一个总体架构,描述Kubernetes中当前与策略相关的实现以及未来与策略相关的建议。通过协作方法,我们希望向开发人员和最终用户展示Kubernetes中的通用策略视图。
我们不寻求重新定义和替换通过彻底讨论和共识达成的现有实现。而是对当前实施情况进行总结性审查,并解决差距,以解决初始设计提案中定义的广泛端到端场景。
Kubernetes政策工作组一直专注于设计方案文件,并利用每周会议在工作组成员之间进行讨论。设计方案概述了我们为什么建立工作组的背景和动机、从中推断差距/需求分析的具体用例、总体架构和容器策略接口方案。
Kubernetes中的关键政策场景
在工作组头脑风暴的几个用例中,最终有三个主要场景脱颖而出。
第一个是关于立法/法规合规性,这要求Kubernetes集群遵守。合规性场景以GDPR为例,讨论中建议的策略架构是让datapolicy控制器负责审核。
第二个场景是关于能力租赁、或多租户配额在传统IaaS概念,处理当大型企业想委托资源控制不同的业务线,应该如何配置有Kubernetes集群政策驱动机制实施配额制度。多租户工作组中提出的正在进行的多租户控制器设计可能是配额策略控制器的理想实施点,而配额策略控制器可能会从kube-arbitrator获得灵感。
最后一个场景是关于集群策略的,它涉及到一般的安全性和面向资源的策略控制。Luster策略将涉及群集级别和命名空间级别的策略控制以及强制执行,策略工作组成员正在开发一个名为Kubernetes Security Profile的提案,为该用例提供PoC。
Kubernetes策略体系结构
在这三个场景的基础上,工作组目前正在与sig arch、sig auth和其他相关项目一起制定三个具体方案。除了针对集群策略用例的Kubernetes安全配置文件方案外,我们还有部分针对容量租赁用例的调度策略方案和基于服务需求处理亲和性并在路由级别执行的拓扑服务策略方案。
当这些具体的建议变得更加清晰时,WG将能够提供一个高级的Kubernetes政策体系结构,作为建立政策工作组的动机的一部分。
面向云本地策略驱动架构
策略肯定超越了Kubernetes,并应用于更广泛的云本地上下文。我们在KubNeNETS政策WG中的工作将为构建CNCF宽的政策架构提供基础,Kubernetes和各种其他云本地组件(如开放策略代理、Istio、特使、SPIFEE/SpIP等)的集成。政策工作组已经与CNCF安全工作组(正在组建)团队合作,并将致力于更多的协调,以确保社区驱动的云本地政策架构设计。
作者:黄志鹏、托林·桑代尔、迈克尔·埃尔德、埃里卡·冯·布洛、哈立德·艾哈迈德、胡怡瑞