空间站 对接,架设网站服务器,电子工程专辑网站,姑苏区网络推广服务目录
DaemonSet
1 什么是 DaemonSet
2 使用 DaemonSet
Job
1 什么是 Job
2 使用 Job
3 自动清理完成的 Job
控制器无法解决问题 DaemonSet
1 什么是 DaemonSet
DaemonSet | Kubernetes
DaemonSet 确保全部#xff08;或者某些#xff09;节点上运行一个 Pod 的副本… 目录
DaemonSet
1 什么是 DaemonSet
2 使用 DaemonSet
Job
1 什么是 Job
2 使用 Job
3 自动清理完成的 Job
控制器无法解决问题 DaemonSet
1 什么是 DaemonSet
DaemonSet | Kubernetes
DaemonSet 确保全部或者某些节点上运行一个 Pod 的副本。 当有节点加入集群时 也会为他们新增一个 Pod 。 当有节点从集群移除时这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod。
DaemonSet 的一些典型用法 在每个节点上运行集群守护进程 在每个节点上运行日志收集守护进程 在每个节点上运行监控守护进程
一种简单的用法是为每种类型的守护进程在所有的节点上都启动一个 DaemonSet。 一个稍微复杂的用法是为同一种守护进程部署多个 DaemonSet每个具有不同的标志 并且对不同硬件类型具有不同的内存、CPU 要求。
2 使用 DaemonSet
apiVersion: apps/v1
kind: DaemonSet
metadata:labels:app: nginxname: nginx
spec:selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- image: nginx:1.19imagePullPolicy: IfNotPresentname: nginxresources: {}restartPolicy: Always
Job
1 什么是 Job
Job | Kubernetes
Job 会创建一个或者多个 Pod并将继续重试 Pod 的执行直到指定数量的 Pod 成功终止。 随着 Pod 成功结束Job 跟踪记录成功完成的 Pod 个数。 当数量达到指定的成功个数阈值时任务即 Job结束。 删除 Job 的操作会清除所创建的全部 Pod。 挂起 Job 的操作会删除 Job 的所有活跃 Pod直到 Job 被再次恢复执行。
一种简单的使用场景下你会创建一个 Job 对象以便以一种可靠的方式运行某 Pod 直到完成。 当第一个 Pod 失败或者被删除比如因为节点硬件失效或者重启时Job 对象会启动一个新的 Pod。
你也可以使用 Job 以并行的方式运行多个 Pod。
2 使用 Job
apiVersion: batch/v1
kind: Job
metadata:name: pi
spec:template:spec:containers:- name: piimage: perl:5.34.0command: [perl, -Mbignumbpi, -wle, print bpi(2000)]restartPolicy: Never# 当前任务出现失败 最大的重试次数backoffLimit: 4
3 自动清理完成的 Job
完成的 Job 通常不需要留存在系统中。在系统中一直保留它们会给 API 服务器带来额外的压力。 如果 Job 由某种更高级别的控制器来管理例如 CronJob 则 Job 可以被 CronJob 基于特定的根据容量裁定的清理策略清理掉。 已完成 Job 的 TTL 机制 自动清理已完成 Job 状态为 Complete 或 Failed的另一种方式是使用由 TTL 控制器所提供的 TTL 机制。 通过设置 Job 的 .spec.ttlSecondsAfterFinished 字段可以让该控制器清理掉已结束的资源。TTL 控制器清理 Job 时会级联式地删除 Job 对象。 换言之它会删除所有依赖的对象包括 Pod 及 Job 本身。 注意当 Job 被删除时系统会考虑其生命周期保障例如其 Finalizers。
apiVersion: batch/v1
kind: Job
metadata:name: pi-with-ttl
spec:ttlSecondsAfterFinished: 100template:spec:containers:- name: piimage: perl:5.34.0command: [perl, -Mbignumbpi, -wle, print bpi(2000)]restartPolicy: Never
Job pi-with-ttl 在结束 100 秒之后可以成为被自动删除的对象。如果该字段设置为 0Job 在结束之后立即成为可被自动删除的对象。 如果该字段没有设置Job 不会在结束之后被 TTL 控制器自动清除。
控制器无法解决问题 如何为 Pod 提供网络服务 如何实现多个 Pod 间负载均衡