使用k8s的cronjob定时清理es索引
编写yaml文件vim esDeleteJob.yamlapiVersion: batch/v1beta1kind: CronJobmetadata:name: es-delete-jobnamespace: kube-system --需要和es在同一个命名空间,否则修改请求curl,基础k8s知识spec:schedule: "0 0 1/1 * *" --...
编写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
更多推荐
所有评论(0)