概述
Kubernetes 允许通过准入控制器 Webhook 将策略决策与 API Server 的内部工作分离,每当创建、更新或删除资源时都会执行这些 Webhook。 Gatekeeper 是一个验证网络钩子,它强制执行由 Open Policy Agent 执行的基于 CRD 的策略,Open Policy Agent 是一个由 CNCF 作为孵化级项目托管的云原生环境的策略引擎。
除了准入场景之外,Gatekeeper 的审计功能还允许管理员查看当前违反任何给定策略的资源。
Gatekeeper 的引擎设计为可移植的,允许管理员检测和拒绝对基础设施即代码系统的真实来源的不合规提交,进一步加强合规工作并防止不良状态拖慢组织的速度。
Gatekeeper特点:
- 可扩展的参数化策略库
- 用于实例化策略库的本地 Kubernetes CRD(又名“约束”)
- 用于扩展策略库的本地 Kubernetes CRD(又名“约束模板”)
- 审计功能
先决条件
- helm v3.6.3
添加仓库
helm repo add gatekeeper https://open-policy-agent.github.io/gatekeeper/charts
helm repo update
安装gatekeeper
- 查看可用版本
# helm search repo gatekeeper -l
NAME CHART VERSION APP VERSION DESCRIPTION
gatekeeper/gatekeeper 3.5.2 v3.5.2 A Helm chart for Gatekeeper
gatekeeper/gatekeeper 3.5.1 v3.5.1 A Helm chart for Gatekeeper
gatekeeper/gatekeeper 3.5.0 v3.5.0 A Helm chart for Gatekeeper
gatekeeper/gatekeeper 3.4.1 v3.4.1 A Helm chart for Gatekeeper
gatekeeper/gatekeeper 3.4.0 v3.4.0 A Helm chart for Gatekeeper
gatekeeper/gatekeeper 3.3.0 v3.3.0 A Helm chart for Gatekeeper
gatekeeper/gatekeeper 3.2.3 v3.2.3 A Helm chart for Gatekeeper
gatekeeper/gatekeeper 3.2.2 v3.2.2 A Helm chart for Gatekeeper
gatekeeper/gatekeeper 3.2.1 v3.2.1 A Helm chart for Gatekeeper
gatekeeper/gatekeeper 3.2.0 v3.2.0 A Helm chart for Gatekeeper
gatekeeper/gatekeeper 3.1.3 v3.1.3 A Helm chart for Gatekeeper
gatekeeper/gatekeeper 3.1.2 v3.1.2 A Helm chart for Gatekeeper
gatekeeper/gatekeeper 3.1.1 v3.1.1 A Helm chart for Gatekeeper
gatekeeper/gatekeeper v3.1.0 v3.1.0 A Helm chart for Gatekeeper
- 选择安装版本(3.5.2)
# 安装同时创建命名空间
helm install -n gatekeeper-system gatekeeper gatekeeper/gatekeeper --version 3.5.2 --create-namespace
- 安装完成验证
kubectl get all -n gatekeeper-system
安装Web UI
- 克隆项目