北京建设执业注册中心网站,php语言 电商网站建设,传媒公司骗人套路,网站的内容和功能DaemonSet#xff1a;简称DS#xff0c;守护进程控制器 DS的主要作用#xff0c;是在kubernetes集群里#xff0c;运行一个daemon pod。DS只管理POD 对象#xff0c;然后通过nodeAffinity和Toleration这两个调度器的小功能#xff0c;保证每个节点上有且只有一个pod。
特…DaemonSet简称DS守护进程控制器 DS的主要作用是在kubernetes集群里运行一个daemon pod。DS只管理POD 对象然后通过nodeAffinity和Toleration这两个调度器的小功能保证每个节点上有且只有一个pod。
特征
集群内的每个节点都运行这一个相同的pod当有新节点接入集群后该pod会自动在新节点上创建在删除节点时对应的pod 也不回删除会跟踪每个pod 的状态当这个pod出现异常时Crash掉了会及时的去recovery这个状态
典型用法
在每个节点上运行集群的守护进程在每个节点上运行日志收集守护进程。在每个节点上运行监控收集进程
案例
apiVersion: apps/v1
kind: DaemonSet
metadata:name: daemonlabels:app: nginx
spec:revisionHistoryLimit: 10selector:matchLabels:app: nginxtemplate:metadata:creationTimestamp: nulllabels:app: nginxspec:nodeSelector:ds: truecontainers:- name: nginximage: nginx:1.15.3ports:- containerPort: 80name: nginxupdateStrategy:#rollingUpdate:# maxUnavailable: 1#type: RollingUpdatetype: OnDelete
创建完成之后就可以看到在每个节点上有一个pod
[rootk8s-master-1 test]# kubectl get pod -owide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
busybox 1/1 Running 11 46h 10.244.1.85 k8s-node-2 none none
daemon-s5lnb 1/1 Running 0 7m1s 10.244.1.93 k8s-node-2 none none
daemon-wjv2k 1/1 Running 0 7m4s 10.244.0.120 k8s-node-1 none none#如果不想在某一个节点创建DaemonSet那么就给需要创建DS的节点打一个标签
[rootk8s-master-1 test]# kubectl label node k8s-node-2 dstrue
node/k8s-node-2 labeled#然后在yaml文档中添加标签spec.template.spec.nodeSelector: dstrue#然后更新yaml文件
[rootk8s-master-1 test]# kubectl replace -f DaemonSet.yaml
daemonset.apps/daemon replaced#就看到只在节点2上创建了DS
[rootk8s-master-1 test]# kubectl get pod -owide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
daemon-xwtz8 1/1 Running 0 9s 10.244.1.94 k8s-node-2 none noneDaemonSet的更新和回滚和Deployment相同[rootk8s-master-1 test]# kubectl get node --show-labels 查看标签
[rootk8s-master-1 test]# kubectl rollout history ds daemon 查看历史版本记录
[rootk8s-master-1 test]# kubectl rollout undo ds daemon 回滚
[rootk8s-master-1 test]# kubectl set image ds daemon nginxnginx:1.15.4 --record