Kubernetes ---- Pod控制器之DaemonSet
DaemonSet
官方介绍:https://kubernetes.io/zh/docs/concepts/workloads/controllers/daemonset/
DaemonSet确保全部(或者某些)节点上运行一个 Pod 的副本。当有节点加入集群时, 也会为他们新增一个 Pod 。当有节点从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod。
下面的案例是在每个节点上运行日志收集工具"filebeat"
通过YAML文件创建DaemonSet控制器.
apiVersion: apps/v1 kind: DaemonSet metadata: name: ds-demo namespace: default spec: selector: matchLabels: app: filebeat release: stable template: metadata: labels: app: filebeat release: stable spec: containers: - name: filebeat-container image: ikubernetes/filebeat:5.6.5-alpine imagePullPolicy: IfNotPresent env: - name: REDIS_HOST value: redis.default.svc.cluster.local - name: REDIS_LOG_LEVEL value: info
# 查询Pod会发现有两个,因为我们有两个node,这两个node上分别运行了一个Pod.
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
myapp-ds-rk6zw 1/1 Running 1 15h
myapp-ds-s5nxl 1/1 Running 1 15h
ds.spec.template.spec.hostNetwork <boolean> # 如果设为True,则会使用宿主机的网络名称空间.
动态升级:
DaemonSet也可以像Deployment一样动态的进行升级,也就是更改image;
$ kubectl set image ds myapp-ds filebeat=ikubernetes/filebeat:5.6.6-alpine
本文作者:k-free
本文链接:https://www.cnblogs.com/k-free-bolg/p/13097570.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步