Kubernetes的政策现状

Kubernetes对行业的影响已显着增长。随着快速增长,我们开始看到各个组件在定义和应用策略方面的差异。

当前,可以在身份服务,网络服务,存储服务,多集群联合,RBAC和许多其他领域中找到与策略相关的组件,这些组件的成熟度不同,并且针对特定问题的动机也不同。在每个组件中,某些策略是可扩展的,而另一些则不能。每个项目用来表达意图的语言会根据原始作者和经验而有所不同。在整个域中驱动一致的策略视图是一项艰巨的任务。

在受监管的行业中采用Kubernetes也将促使需要确保已部署的集群能够确认各种法律要求,例如PCI,HIPPA或GDPR。这些合规性标准中的每一个都对用户信息,数据和隔离实施了一定程度的隐私。

当前Kubernetes政策实施的核心问题如下:

  • 整个平台缺乏全局
  • 不同政策组成部分之间缺乏协调和通用语言
  • 缺乏跨平台可扩展策略创建的一致性。
    • 在某些领域中,策略组件是可扩展的,在某些领域中,实施严格的端到端解决方案。对于偏爱可扩展和可插入的体系结构,尚未达成共识。
  • 在Kubernetes体系结构中,创建,修改或禁用的策略以及代表所应用策略执行的操作缺乏一致的可审核性。

组建Kubernetes政策工作组

我们已经建立了一个新的工作组来直接解决这些问题。我们打算提供一个总体架构,该架构描述Kubernetes中当前与策略相关的实现以及未来与策略相关的提议。通过一种协作方法,我们希望向开发人员和最终用户展示Kubernetes中策略的通用视图。

我们不打算重新定义和替换经过充分讨论和达成共识的现有实现。而是要对当前的实施情况进行总结,并解决差距以解决最初设计建议中定义的广泛的端到端方案。

Kubernetes Policy WG一直专注于设计提案文档,并利用每周一次的会议在WG成员之间进行讨论。设计建议概述了为什么我们建立工作组的背景和动机,从中得出差距/需求分析的具体用例,总体架构和容器策略接口建议。

Kubernetes中的关键策略方案

在工作组头脑风暴的几个用例中,最终出现了三种主要情况。

第一个是关于立法/法规合规性,这要求Kubernetes集群必须遵守。合规性方案以GDPR为例,立法建议,讨论中建议的策略体系结构是由负责审计的数据策略控制器。

第二种情况是关于容量租赁或传统IaaS概念中的多租户配额,该方案处理大型企业何时要将资源控制委托给它拥有的各种业务,如何配置Kubernetes集群以具有策略驱动配额制度的机制。多租户工作组中提议的正在进行的多租户控制器设计可能是配额策略控制器的理想执行点,而配额策略控制器反过来又可以看一下kube仲裁器以寻求启发。

最后一种情况是关于群集策略,它是指一般的安全性和面向资源的策略控制。光泽策略将涉及群集级别和命名空间级别的策略控制以及强制执行,并且有一个名为Kubernetes安全配置文件的建议,策略工作组成员正在开发中,以为该用例提供PoC。

Kubernetes政策架构

在这三种方案的基础上,工作组现在正在与sig-arch,sig-auth和其他相关项目一起制定三个具体的提案。除了针对集群策略用例的Kubernetes安全概要建议之外,我们还拥有部分针对容量租赁用例的调度策略建议和基于服务需求以及在路由级别上的强制性处理拓扑的拓扑服务策略建议。

当这些具体建议变得更加清晰时,工作组将能够提供高级别的Kubernetes政策体系结构,以此作为建立政策工作组的动力之一。

迈向云原生策略驱动架构

策略绝对是超越Kubernetes并适用于更广泛的云原生环境的东西。我们在Kubernetes Policy WG中的工作将为构建CNCF宽泛的策略体系结构提供基础,并将Kubernetes与其他各种云本机组件(例如开放策略代理,Istio,Envoy,SPIFEE / SPIRE等)集成在一起。 Policy WG已经与CNCF SAFE WG(信息传递)团队合作,并将进行更多的协调,以确保社区驱动的云原生策略架构设计。

s:黄志鹏,托林·桑德尔,迈克尔·埃尔德,埃里卡·冯·布洛,哈立德·艾哈迈德,胡依穗