Kubernetes RBAC,用于触发`Jobs`和`CronJobs`,而不使用`create`动词

aoyhnmkz  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(79)

考虑到安全性,我不希望在JobCronJob资源上允许使用create动词,因为这将允许有人创建pod(使用任何图像)并暴露敏感信息。但我还希望允许触发集群上已经创建的作业。
有没有一种方法可以允许在Kubernetes集群中触发JobsCronJobs,而无需在RoleClusterRole RBAC定义中分配create动词?
如果没有,是否有方法在群集上已存在JobCronJob时仅允许create
我简单地尝试了下面的RBAC定义,并能够创建任何我想要的pod(危险的)。

apiGroups:
  - batch
resources:
  - cronjobs
  - jobs
verbs:
  - get
  - create

字符串

vmjh9lq9

vmjh9lq91#

1.你不能“触发”一份工作。作业处于挂起(等待运行)、正在运行或已完成状态。如果已完成,则不能重新运行;只能删除并重新创建它。
1.手动运行CronJob的唯一方法是...使用它作为模板创建Job(kubectl create job --from=cronjob ...)。
因此,在这两种情况下,您都需要create a Job的能力。
最后:
1.您不能“允许在作业或CronJob已经存在时创建”,因为在这种情况下,资源已经被创建。没有什么可创造的。

相关问题