job.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package kube
  2. var jobTmeplate = `apiVersion: batch/v1
  3. kind: CronJob
  4. metadata:
  5. name: {{.Name}}
  6. namespace: {{.Namespace}}
  7. spec:
  8. successfulJobsHistoryLimit: {{.SuccessfulJobsHistoryLimit}}
  9. schedule: "{{.Schedule}}"
  10. jobTemplate:
  11. spec:
  12. template:
  13. spec:{{if .ServiceAccount}}
  14. serviceAccountName: {{.ServiceAccount}}{{end}}
  15. {{end}}containers:
  16. - name: {{.Name}}
  17. image: # todo image url
  18. resources:
  19. requests:
  20. cpu: {{.RequestCpu}}m
  21. memory: {{.RequestMem}}Mi
  22. limits:
  23. cpu: {{.LimitCpu}}m
  24. memory: {{.LimitMem}}Mi
  25. command:
  26. - ./{{.ServiceName}}
  27. - -f
  28. - ./{{.Name}}.yaml
  29. volumeMounts:
  30. - name: timezone
  31. mountPath: /etc/localtime
  32. imagePullSecrets:
  33. - name: # registry secret, if no, remove this
  34. restartPolicy: OnFailure
  35. volumes:
  36. - name: timezone
  37. hostPath:
  38. path: /usr/share/zoneinfo/Asia/Shanghai
  39. `