当前位置: 首页 > 工具软件 > Gatekeeper > 使用案例 >

gatekeeper调研

梁丘缪文
2023-12-01

动机及简介

如果你的组织在运行 Kubernetes,那么你可能一直在寻找控制终端用户可以在集群上做什
么,以及确保集群符合公司或组织政策的方法。这些政策可能是用来满足治理和法律需求,或者
执行最佳实践和组织约定。使用 Kubernetes,你如何在不牺牲开发灵活性和操作独立性的情况下
确保遵从性?例如,你可以执行以下政策:

  • 所有镜像必须来自已批准的存储库
  • 所有pod都必须有资源限制
  • 所有 namespace都必须有一个列出联系点的标签
  • 所有的 namespace都必须有一个所有者信息

技术出发点:上面的需求,需要为 Kubernetes实现一个准入控制, Kubernetes允许通过准入控制器( admission controller) webhook将政策决策与API服务器解耦,以便在将它们持久化为
Kubernetes中的对象之前拦截允许请求。

Gatekeeper是 Kubernetes一个可定制的准入 webhook,它执行 open Policy Agent
(OPA)的政策,OPA是CNCF托管的云原生环境的政策引擎;除了准入控制功能之外, gatekeeper的
审计功能可以允许管理者查看哪些资源正在违反哪些政策,也就是让管理者意识到集群的状态
而不仅仅是单个对象

更多详细的介绍可以参考 官网 链接1 链接2

功能及场景

gatekeeper的功能主要有两个,一个是准入控制( admission controller),另一个是审计(audit);

准入控制

当k8s集群中安装了所有 Gatekeeper组件,无论何时创建、更新或删除k8s集群中的资源,API服务器都触发 Gatekeeper准入webhook来处理准入请求。
在验证过程中, Gatekeeper充当API服务器和OPA之间的桥梁。API服务器将强制执行OPA执行的所
有政策。

审计
审计功能支持根据集群中强制的约束对复制资源进行定期评估,以检测预先存在的错误配
置。 Gatekeeper将审计结果存储为相关约束的 status字段中列出的违规行为( violations)

 

部署与尝试

推荐按github上的方法进行部署之后,使用下面的demo进行体验过程

https://github.com/open-policy-agent/gatekeeper/tree/master/demo

 类似资料: