编写yaml文件
vim esDeleteJob.yaml
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: es-delete-job
namespace: kube-system –需要和es在同一个命名空间,否则修改请求curl,基础k8s知识
spec:
schedule: “0 0 1/1 * *” –每天一次
jobTemplate:
spec:
template:
spec:
containers:
– name: es-delete-job
image: centos –选择一个有curl的镜像即可,自己做也行
args:
– /bin/sh
– -c
– curl -XDELETE http://elasticsearch-logging:9200/logstash-$(date +”%Y.%m.%d” -d “10 days ago”) –清理十天前的
restartPolicy: OnFailure
创建cronjob
kubectl apply -f esDeleteJob.yaml
检查cronjob
kubectl get cronjob –all-namespaces
这时候我们想要测试下效果,所以从cronjob中手动创建下job,不了解job和cronjob的自行查找文档 = =
kubectl create job testjob –from=cronjob/es-delete-job -n kube-system
检查job
kubectl get job -n kube-system
获取pod
kubectl describe job testjob -n kube-system
从最下面一行获取pod
查看日志,检查是否成功
kubectl logs testjob-b6d69 -n kube-system