再来看下 CronJob
cat <<EOF >./cronJob-demo.yamlapiVersion: batch/v1beta1kind: CronJobmetadata:name: hellospec:schedule: "* * * * *"jobTemplate:spec:template:spec:containers:- name: helloimage: busybox:1.28imagePullPolicy: IfNotPresentcommand:- /bin/sh- -c- date; echo HellorestartPolicy: OnFailureEOF
通过 kubectl get jobs --watch
就能查看 CronJob 的调度
$ kubectl get jobs --watchNAMECOMPLETIONSDURATIONAGEhello-16644498601/12s4shello-16644499200/10shello-16644499200/10s0shello-16644499201/12s2s
总结关于 pod 中的几个控制器最常用的就是 Deployment 和 ReplicaSet;
使用 Deployment 来管理 RS , 来实现服务的部署 , 更新和滚动升级;
StatefulSet 主要用来管理无状态应用;
DaemonSet:主要是用来保证集群中的每个节点只运行一个 Pod , 且保证只有一个 Pod , 这非常适合一些系统层面的应用 , 例如日志收集、资源监控等 , 这类应用需要每个节点都运行 , 且不需要太多实例 , 一个比较好的例子就是 Kubernetes 的 kube-proxy;
Job 和 CronJob 是负责处理定时任务的;
Job 负责处理一次性的定时任务 , 即仅需执行一次的任务;
CronJob 是基于时间的 Job , 就类似于 Linux 系统的 crontab 文件中的一行 , 在指定的时间周期运行指定的 Job 。
参考【Deployments】https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/deployment/【Kubernetes 部署策略详解】https://www.qikqiak.com/post/k8s-deployment-strategies/【StatefulSet 和 Deployment 区别及选择方式】https://blog.csdn.net/nickDaDa/article/details/90401635【K8S: 有状态 vs 无状态服务】https://zhuanlan.zhihu.com/p/390440336【StatefulSet】https://support.huaweicloud.com/basics-cce/kubernetes_0015.html【k8s 中 Pod 的控制器】https://boilingfrog.github.io/2022/09/30/k8s中Pod控制器/
【k8s 中 Pod 的控制器】
经验总结扩展阅读
- 无常中人物的性格特点
- 地中海风情用一个词语表示
- 中考加油祝福语
- 中间测试是什么意思?
- 河北任丘哪个初中好
- 世界银行的两条贫困线 世界贫困线标准
- 内增高鞋十大品牌是哪些呢。 中国鞋垫十大排名
- 木香花种植时间
- mapboxgl加载tiff
- 怎么取消锁屏的时间