Policy Controller 概览

本页面介绍了什么是 Policy Controller,以及如何使用它来确保 Kubernetes 集群和工作负载以安全且合规的方式运行。

Policy Controller 支持为 Kubernetes 集群应用和实施可编程政策。这些政策可作为保障措施,有助于实现集群和舰队的最佳实践、安全性和合规性管理。Policy Controller 基于开源 Open Policy Agent Gatekeeper 项目,与 Google Cloud 完全集成,包含一个用于可观测的内置信息中心,并附带一个完整的预构建政策库,用于实现常见的安全性和合规性控制措施。

Policy Controller 可通过 Google Kubernetes Engine (GKE) Enterprise 版本许可使用。

Policy Controller 的优势

  • 与 Google Cloud 集成:平台管理员可以使用 Google Cloud 控制台、使用 Terraform 或在连接到舰队的任何集群上使用 Google Cloud CLI 安装 Policy Controller。Policy Controller 可与其他 Google Cloud 服务搭配使用,例如 Config Syncmetrics和 Cloud Monitoring。
  • 支持多个强制执行点:除了集群审核和准入控制之外,Policy Controller 还可以选择启用左移方法在应用之前分析和捕获不合规的更改
  • 预建的政策包:Policy Controller 提供完整的预构建政策库,用于实现常见的安全性和合规性控制。其中包括由 Google 构建和维护的政策包以及限制条件模板库
  • 支持自定义政策:如果除了使用限制条件模板库提供的功能要求之外,还需要自定义政策,则 Policy Controller 还支持开发自定义限制条件模板
  • 内置可观测性:Policy Controller 包含一个 Google Cloud 控制台信息中心,可提供应用于舰队的所有政策的状态概览(包括未注册的集群)。在信息中心中,查看合规性和强制执行状态以帮助您排查问题,并获取专业的建议来解决政策违规问题。

政策包

您可以使用政策包来应用一些限制条件,这些限制条件分组到特定的 Kubernetes 标准、安全性或合规性主题下。这些政策包由 Google 构建和维护,因此无需编写任何代码即可供您使用。例如,您可以使用以下政策包:

Policy Controller 包概览提供了更多详细信息和当前可用的政策包列表。

限制条件

政策控制器使用称为限制条件的对象来实施集群的合规性。您可以将限制条件视为政策的“组成要素”。每个限制条件都会定义对 Kubernetes API 的特定更改,以允许或不允许对限制条件应用于的集群进行此更改。您可以设置政策主动屏蔽不符合政策的 API 请求,或者审核集群的配置并报告违规行为。在任一情况下,您都可以查看警告消息,并详细了解集群中发生了什么违规行为。借助这些信息,您可以修复问题。例如,您可以使用以下单个限制条件:

这些只是 Policy Controller 附带的限制条件模板库中提供的部分限制条件。此库包含许多政策,可用于帮助您实施最佳实践并限制风险。如果除了限制条件模板库中提供的功能之外,您还需要进行更多自定义,还可以创建自定义限制条件模板

您可以使用 Kubernetes API 将限制条件直接应用于集群,也可以使用 Config Sync 将限制条件从可靠来源分发到一组集群。

后续步骤