k8s笔记-daemonSet、Job、CronJob
官方文档https://kubernetes.io/zh/docs/concepts/workloads/controllers/daemonset/创建daemonSet文件确保所有node运行同一个pod,守护进程集。确保集群中每个node中运行一份pod副本,当node加入集群时,创建pod,当node离开集群时,回收pod,如果删除daemonset,其创建的所有pod也被删除,d...
·
官方文档
https://kubernetes.io/zh/docs/concepts/workloads/controllers/daemonset/
创建daemonSet文件
确保所有node运行同一个pod,守护进程集。
确保集群中每个node中运行一份pod副本,当node加入集群时,创建pod,当node离开集群时,回收pod,如果删除daemonset,其创建的所有pod也被删除,daemonset的pod覆盖整个集群。
应用场景:集群存储守护进程,集群日志收集守护进程,节点监控守护进程。
vi ds.yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: ds-test
namespace: test
labels:
app: filebeat
spec:
selector:
matchLabels:
app: filebeat
template:
metadata:
labels:
app: filebeat
spec:
containers:
- name: logs
image: nginx
ports:
- containerPort: 80
volumeMounts:
- name: varlog
mountPath: /tmp/log
volumes:
- name: varlog
hostPath:
path: /var/log
使用filebeat工具,部署到每一个node上采集宿主机的日志目录。
可以在创建完成后,查看日志目录
kubectl apply -f ds.yaml
kubectl get pods -n test
进入查看日志目录:
kubectl exec -it ds-test-gxh75 -n test bash
Job 普通任务
一次性执行,适合临时跑一个任务,跑完就停止了。
应用场景:离线数据处理,视频解码等业务。
apiVersion: batch/v1
kind: Job
metadata:
name: pi
namespace: test
spec:
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
backoffLimit: 4
# 查看job
kubectl get jobs -n test
CronJob 定时任务
应用场景:通知、备份
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: hello
namespace: test
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: hello
image: busybox
args:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
restartPolicy: OnFailure
每一分钟处理一次
更多推荐
已为社区贡献8条内容
所有评论(0)