开发OpenShift自定义操作符及集群规模化运营实践
1. 指定RBAC权限
在与OpenShift API Server交互时,之前介绍的方法使用Go客户端,这类似于使用 oc CLI从命令行运行命令。要创建路由等资源,用户需要具备必要的权限。
操作符以通过 make deploy 命令创建的服务账户的权限运行。这意味着必须确保操作符代码中的所有操作都包含在操作符服务账户的RBAC规则中。在本地运行操作符和将其部署到集群时,常常会看到不同的行为。本地运行时,操作符使用用户的配置连接到集群,通常比操作符服务账户具有更多权限。因此,在部署代码之前,需要验证操作符在集群内是否仍能按预期工作,最好使用CI来验证其行为。
幸运的是,无需手动编写所有RBAC YAML,可直接在源代码中使用Kubebuilder指令。Operator SDK生成的样板代码中已经包含了一些权限。可以在代码中添加类似的注释,为服务账户授予更多权限。
以下注释授予创建HTTP - 01挑战所需路由的必要权限:
//+kubebuilder:rbac:groups=route.openshift.io,
resources=routes,verbs=get;list;watch;create;delete;update;patch
//+kubebuilder:rbac:groups=route.openshift.io,
resources=routes/custom-host,verbs=get;list;watch;create;delete;upda
超级会员免费看
订阅专栏 解锁全文
26

被折叠的 条评论
为什么被折叠?



