【发布时间】:2019-11-23 02:12:09
【问题描述】:
我正在尝试使用 helm delete 删除临时 pod 和其他工件。我正在尝试运行此 helm delete 以按计划运行。这是我的独立命令,它有效
helm delete --purge $(helm ls -a -q temppods.*)
但是,如果我尝试按如下时间表运行它,我会遇到问题。
下面是 mycron.yaml 的样子:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: cronbox
spec:
serviceAccount: cron-z
successfulJobsHistoryLimit: 1
schedule: "*/5 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: cronbox
image: alpine/helm:2.9.1
args:
- delete
- --purge
- $(helm ls -a -q temppods.*)
restartPolicy: OnFailure
我跑了
oc create -f ./mycron.yaml
这创建了 cronjob
每 5 分钟创建一个 pod,并且作为 cron 作业一部分的 helm 命令运行。
我希望删除以 temppods* 开头的工件/pod 名称。
我得到的是:
错误:pod 被禁止:用户“system:serviceacount:myproject:default”无法列出命名空间“kube-system”中的 pod:没有匹配的 RBAC 策略
然后我创建了一个服务帐户 cron-z 并授予它编辑权限。我将此 serviceAccount 添加到我的 yaml 中,认为当我的 pod 将被创建时,它将具有与之关联的服务帐户 cron-z。仍然没有运气。我看到 cron-z 没有与每 5 分钟创建一次的 pod 相关联,我仍然将 default 视为与 pod 关联的服务名称。
【问题讨论】:
-
错误:版本名称无效,必须匹配正则表达式 ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0- 9])+$且长度不能超过53
-
你找到答案了吗?你能提供我 RBAC 的详细信息吗
标签: openshift kubernetes-helm openshift-client-tools