发出按计划运行helm命令

时间:2019-07-13 18:15:09

标签: openshift kubernetes-helm openshift-client-tools

我正在尝试使用头盔删除功能删除临时吊舱和其他工件。我正在尝试运行此头盔删除以按计划运行。这是我有效的独立命令

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 *开头的工件/容器名称。

我得到的是:

  

错误:禁止播客:用户“ system:serviceacount:myproject:default”无法在名称空间“ kube-system”中列出播客:未匹配RBAC策略

然后

i创建了一个服务帐户cron-z并授予了对其的编辑权限。我将此服务帐户添加到我的Yaml中,以为将在创建我的广告连播时将其与服务帐户cron-z关联。仍然没有运气。我看到cron-z没有与每5分钟创建的Pod相关联,我仍然看到default为与Pod相关联的服务名称。

1 个答案:

答案 0 :(得分:0)

您需要拥有使用舵柄的服务帐户以及实际的舵柄服务帐户github.com/helm/helm/blob/master/docs/rbac.md