kubernetes - 如何使用 kubectl 补丁将 PolicyRule 添加到现有角色
问题描述
我有以下错误消息:
用户“system:serviceaccount:qserv:argo-workflow”无法在命名空间“qserv”的 API 组“batch”中创建资源“jobs”
这是相关的Role
:
kubectl describe role argo-workflows-workflow
Name: argo-workflows-workflow
Labels: app.kubernetes.io/managed-by=Helm
Annotations: meta.helm.sh/release-name: argo-workflows
meta.helm.sh/release-namespace: qserv
PolicyRule:
Resources Non-Resource URLs Resource Names Verbs
--------- ----------------- -------------- -----
pods [] [] [get watch patch]
pods/log [] [] [get watch]
您能否提供kubectl patch
允许argo-workflows-workflow
创建角色的正确命令Jobs
?
解决方案
此命令完成工作并允许成功运行 argo 工作流程:
kubectl patch roles.rbac.authorization.k8s.io argo-workflows-workflow --type='json' -p='[{"op": "add", "path": "/rules/-", "value": {"apiGroups": ["batch"],"resources": ["jobs"],"verbs": ["create", "get", "watch"]} }]
推荐阅读
- laravel - Laravel 分组多个中间件
- java - Swagger 文档中缺少参数端点的 Spring Boot GET 和 GET
- java - 使用 Hibernate 的 Spring Boot 应用程序如何与多个结构相同的表进行交互?
- bash - 递归地为所有字母创建目录
- c# - EF Core 为 group by 生成错误的 SQL
- javascript - 如何以 Angular 5 模态形式检查脏的或原始的?
- postgresql - 格式错误的数组文字:数组值必须以“{”或维度信息开头
- python - 实现 L-2 灵敏度 - 可能使用 numba 或 JAX
- c# - 如何从 API 调用中获取所有元素
- node.js - “SyntaxError: Unexpected token :” 在 express-vue 自述文件中使用示例代码时