kubernetes资源对象--DaemonSet

来源:互联网 发布:社区下单系统源码 编辑:程序博客网 时间:2024/05/22 08:24

本文基于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.yamlapiVersion: extensions/v1beta1kind: DaemonSetmetadata:  name: lykops-daemonset  labels:    software: apache    project: lykops    app: lykops-daemonset    version: v1spec:  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.1EOFkubectl create -f lykops-daemonset.yaml

选择运行节点:当指定.spec.template.spec.nodeSelector,DaemonSet将会在匹配的节点上创建pod。如果都没有指定,DaemonSet在所有node节点上创建pod.

原创粉丝点击