k8s运行DaemonSet控制器管理pod

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s运行DaemonSet控制器管理pod相关的知识,希望对你有一定的参考价值。

前面介绍了k8s的deployment和statefulset这两种控制器。
deployment是属于无状态的服务,nginx,Tomcat,没有关联的pod
statefulset是属于有状态的服务。mysql,zk、etcd,集群形式的pod


下面我们来介绍一下第三种方式DaemonSet这种控制器模式
DaemonSet 的典型应用场景:
在集群的每个节点上运行存储 Daemon,比如:glusterd 或 ceph。
在每个节点上运行日志收集 Daemon,比如:flunentd 或 logstash。
在每个节点上运行监控 Daemon,比如:Prometheus Node Exporter 或 collectd。


DaemonSet 与 Deployment 的区别
Deployment 部署的副本 Pod 会分布在各个 Node 上,每个 Node 都可能运行好几个副本。
DaemonSet 的不同之处在于:每个 Node 上最多只能运行一个副本。


总结: DaemonSet这种控制器方式,主要是用来对node节点上面每个节点平均分配一个pod的,比如每个node节点上面运行的监控agent,或者是收集日志的agent。。。

----------------------------------------------------------------------------------、
接下来部署一个
cat daemonset.yaml
kind: DaemonSet
apiVersion: extensions/v1beta1
metadata:
name: nginx-ds
labels:
k8s-app: nginx
spec:
template:
metadata:
labels:
k8s-app: nginx
spec:
containers:

  • image: nginx:1.7.9
    name: nginx
    ports:
    • name: http
      containerPort: 80
      技术图片

如果我们要是修改为deployment在测试一下

注意这里没有指定副本数量哈

技术图片
看到了吧,这里只是启动了1个。DaemonSet这个还是比较简单的

今天讲解就到这里,欢迎大家私信留言

以上是关于k8s运行DaemonSet控制器管理pod的主要内容,如果未能解决你的问题,请参考以下文章

简洁实用轻松学会k8s的pod控制器DaemonSet(DS)

简洁实用轻松学会k8s的pod控制器DaemonSet(DS)

k8s pod控制器详解(DaemonSetJobCronJob)

k8s的ReplicaSet,DaemonSet及标签

K8S-[二]Deployment控制器

k8s之Service资源