1kubectl apply -f cron-job.yaml
2serviceaccount/restart-nginx-deployment created
3role.rbac.authorization.k8s.io/restart-nginx-deployment created
4rolebinding.rbac.authorization.k8s.io/restart-nginx-deployment created
5cronjob.batch/restart-nginx-deployment created
1# Create file cron-job.yaml2---3kind: ServiceAccount
4apiVersion: v1
5metadata:6name: restart-nginx-deployment
7namespace:test
89---10apiVersion: rbac.authorization.k8s.io/v1
11kind: Role
12metadata:13name: restart-nginx-deployment
14namespace:test
15rules:16-apiGroups:["apps","extensions"]17resources:["deployments"]18resourceNames:["nginx-deployment"]19verbs:["get","patch"]2021---22apiVersion: rbac.authorization.k8s.io/v1
23kind: RoleBinding
24metadata:25name: restart-nginx-deployment
26namespace:test
27roleRef:28apiGroup: rbac.authorization.k8s.io
29kind: Role
30name: restart-nginx-deployment
31subjects:32-kind: ServiceAccount
33name: restart-nginx-deployment
34namespace:test
35---36apiVersion: batch/v1beta1
37kind: CronJob
38metadata:39name: restart-nginx-deployment
40namespace:test
41spec:42concurrencyPolicy: Forbid # Do not run concurrently!43schedule:'*/5 * * * *'# At every 5th minute44jobTemplate:45spec:46backoffLimit:247activeDeadlineSeconds:60048template:49spec:50serviceAccountName: restart-nginx-deployment # Run under the service account created above51restartPolicy: Never
52containers:53-name: kubectl
54image: raspbernetes/kubectl # Specify the kubectl image55command:# The kubectl command to execute56-'kubectl'57-'rollout'58-'restart'59-'deployment/nginx-deployment'60# kubectl apply -f cron-job.yaml61# kubectl get cronjob -n test