前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Rego Playground:新特性

Rego Playground:新特性

作者头像
CNCF
发布2020-04-01 23:05:42
1K0
发布2020-04-01 23:05:42
举报
文章被收录于专栏:CNCFCNCF

作者:Torin Sandall

去年这个时候,我们推出了Rego游乐场(Rego Playground)。游乐场提供了一个在线交互环境,用户可以在这里试验和共享OPA策略。

今天,我们很兴奋地发布了一些新特性,将帮助新用户更快地使用OPA。让我们看看。

特性:Kubernetes、Envoy和更多的例子

任何设计用户界面(或者任何软件项目/产品)的人可能都很熟悉“白板”问题:所有的设计都假定系统装载了数据。但是,当新用户到达时,数据不存在,系统感觉是空的。

自从OPA出现以来,我们一直致力于提供详细的文档,以便新用户(a)能够查看某些内容,(b)能够确定OPA是否能够解决他们的问题。当然,这是假设人们希望(或有时间)阅读文档!也不是完全没人有时间这么做。

我们并没有试图告诉每个人都去RTFM,而是决定为游乐场预加载一个常见用例的示例目录,比如Kubernetes准入控制、Envoy做API的授权等等:

目录可以搜索和过滤。随着时间的推移,我们计划继续整理目录,以确保它们在策略语言中展示通用的用例和模式。

特性:用OPA包做试验

当你编写了几个策略或修改了现有的策略,接下来你通常希望看到的是如何部署OPA并将策略分发给OPA。

OPA支持一个称为包“bundle”的特性,支持策略发现和分发。包只是包含策略和数据文件的压缩tar包。当bundle被启用时,OPA不断尝试下载和激活控制其决策制定的最新版本的策略和数据。捆绑包被设计为CDN兼容,因此策略分发可以很容易地扩展。你所要做的就是设置一个webserver来托管你的包(或依赖于AWS S3之类的服务),然而,这通常比人们想要做的工作要多。

为了帮助用户使用捆绑包启动和运行,我们扩展了游乐场,将发布的策略作为捆绑包提供。你所要做的就是点击发布“Publish”。

当你发布了你的策略,游乐场将显示以下步骤:

  • 下载并在本地运行OPA
  • 配置OPA以使用你发布的策略
  • 使用来自游乐场的输入测试策略

从同一浏览器窗口发布的对策略的任何编辑都将传播到配置为使用游乐场包的OPA。这使你可以使用OPA的动态策略更新功能(也称为“热重新加载”)。

特性:改进了对上下文感知策略的支持

当软件系统为策略决策查询OPA时,它们可以提供任意的JSON数据作为输入。然而,这些数据驱动政策决策,在许多情况下,这是不够的--需要更多关于世界状态的信息来做出决策。在OPA中,我们通常将这些信息称为上下文“context”。将上下文加载到OPA有多种方法,但是最常见的方法之一是将数据与策略一起缓存到内存中。

当上下文被缓存在内存中时,它是在‘data’全局变量下引用的。如果你使用OPA进行Kubernetes许可控制,你可能会看到在许可控制器部署中OPA内部维护的Kubernetes集群的缓存状态的策略(例如,data.kubernetes.ingresses)。

在游乐场的初始版本中,我们不支持在数据下加载任意的外部JSON值。这主要是为了让UI尽可能简单,而且从技术上讲,你可以在策略本身中定义任何JSON值--在策略中定义的对JSON的引用与在OPA中缓存的原始JSON的引用是相同的。

因此,虽然可以在游乐场内试验上下文感知策略,但它有点不明显。在最新的版本中,现在有一个空的数据“DATA”面板(以及输入“INPUT”和输出“OUTPUT”),让你可以加载数据下的任意JSON值:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CNCF 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档