加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

运用 Kube-Mgmt 将 OPA 集成到 Kubernetes 集群中

发布时间:2022-04-11 21:53:58 所属栏目:云计算 来源:互联网
导读:Open Policy Agent 简称 OPA,是一种开源的通用策略代理引擎,是 CNCF 毕业的项目。OPA 提供了一种高级声明式语言 Rego,简化了策略规则的定义,以减轻程序中策略的决策负担。在微服务、Kubernetes、CI/CD、API 网关等场景中均可以使用 OPA 来定义策略。 哪
        Open Policy Agent 简称 OPA,是一种开源的通用策略代理引擎,是 CNCF 毕业的项目。OPA 提供了一种高级声明式语言 Rego,简化了策略规则的定义,以减轻程序中策略的决策负担。在微服务、Kubernetes、CI/CD、API 网关等场景中均可以使用 OPA 来定义策略。
  
哪些用户可以访问哪些资源。
哪些子网的出口流量被允许。
工作负载必须部署到哪些集群。
二进制文件可以从哪里下载。
容器可以用哪些操作系统的能力来执行。
系统在一天中的哪些时间可以被访问。
       策略决定不限于简单的是/否或允许/拒绝,与查询输入一样,你的策略可以生成任意结构化数据作为输出。让我们看一个例子。OPA 的策略是用一种叫做 Rego 的高级声明性语言来声明的,Rego 是专门为表达复杂的分层数据结构的策略而设计的。
 
       在 Kubernetes 中,准入控制器在创建、更新和删除操作期间对对象实施策略。准入控制是 Kubernetes 中策略执行的基础。通过将 OPA 部署为准入控制器,可以:
 
要求在所有资源上使用特定标签。
要求容器镜像来自企业镜像仓库。
要求所有 Pod 指定资源请求和限制。
防止创建冲突的 Ingress 对象。
......
Kubernetes APIServer 配置为在创建、更新或删除对象时查询 OPA 以获取准入控制策略。APIServer 将 webhook 请求中的整个对象发送给 OPA,OPA 使用准入审查作为输入来评估它已加载的策略。这个其实和我们自己去实现一个准入控制器是类似的,只是不需要我们去编写代码,只需要编写策略规则,OPA 就可以根据我们的规则去对输入的对象进行验证。
 
部署
接下来我们介绍下如何在 Kubernetes 集群中集成 OPA,由于 Kubernetes 中是通过准入控制器来集成 OPA 的,所以我们必须在集群中启用 ValidatingAdmissionWebhook 这个准入控制器。

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!