0

I am trying to delete temporary pods and other artifacts using helm delete. I am trying to run this helm delete to run on a schedule. Here is my stand alone command which works

helm delete --purge $(helm ls -a -q temppods.*)

However if i try to run this on a schedule as below i am running into issues.

Here is what mycron.yaml looks like:

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

I ran

oc create -f ./mycron.yaml

This created the cronjob

Every 5th minute a pod is getting created and the helm command that is part of the cron job runs.

I am expecting the artifacts/pods name beginning with temppods* to be deleted.

What i get is:

Error: pods is forbidden: User "system:serviceacount:myproject:default" cannot list pods in the namespace "kube-system": no RBAC policy matched

i then created a service account cron-z and gave edit access to it. I added this serviceAccount to my yaml thinking when my pod will be created it will have the service account cron-z associated to it. Still no luck. I see the cron-z is not getting assoicated with the pod that gets created every 5 minutes and i still see default as the service name associated with the pod.

lr-pal
  • 339
  • 2
  • 6
  • 20

1 Answers1

0

You'll need to have a service account for helm to use tiller with as well as an actual tiller service account github.com/helm/helm/blob/master/docs/rbac.md

Rick Rackow
  • 1,490
  • 8
  • 19
  • i then created a service account cron-z and gave edit access to it. I added this serviceAccount to my yaml thinking when my pod will be created it will have the service account cron-z associated to it. Still no luck. I see the cron-z is not getting assoicated with the pod that gets created every 5 minutes and i still see default as the service name associated with the pod. Can you give me an example of how to achieve this. Thank you!! @rick rackow – lr-pal Jul 16 '19 at 01:19