您的位置:首页 > 其它

kubernetes资源对象--DaemonSet

2018-02-01 00:00 986 查看
本文基于kubernetes 1.5.2版本编写

概念

DaemonSet能够让所有(或者特定)的节点运行同一个pod。

当节点加入到K8S集群中,pod会被(DaemonSet)调度到该节点上运行,当节点从K8S集群中被移除,被DaemonSet调度的pod会被移除,如果删除DaemonSet,所有跟这个DaemonSet相关的pods都会被删除。

在某种程度上,DaemonSet承担了RC的部分功能,它也能保证相关pods持续运行,如果一个DaemonSet的Pod被杀死、停止、或者崩溃,那么DaemonSet将会重新创建一个新的副本在这台计算节点上。

一般应用于日志收集、监控采集、分布式存储守护进程、ingress等

例子

cat<< EOF > lykops-daemonset.yaml
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
name: lykops-daemonset
labels:
software: apache
project: lykops
app: lykops-daemonset
version: v1
spec:
template:
metadata:
labels:
name: lykops-daemonset
software: apache
project: lykops
app: lykops-daemonset
version: v1
spec:
containers:
- name: hostname
image: docker.io/kubernetes/serve_hostname:1.1
EOF

kubectl create -f lykops-daemonset.yaml


选择运行节点:当指定.spec.template.spec.nodeSelector,DaemonSet将会在匹配的节点上创建pod。如果都没有指定,DaemonSet在所有node节点上创建pod.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: