K8S 之使用DaemonSet在每个节点上运行一个POD
一、DaemonSet作用
Relicationcontroller和ReplicaSet都用于在Kubernetes集群上运行部署特定数量的pod。但是,当你希望pod在集群中的每个节点上运行时,就可使用DaemonSet。
apiVersion: apps/v1beta2 kind: DaemonSet metadata: name: ssd-monitor namespace: test spec: selector: matchLabels: app: ssd-monitor template: metadata: labels: app: ssd-monitor spec: nodeSelector: #指定节点标签disk带有ssd的主机上运行 disk: ssd #如没有nodeSelector,即会在所有节点上运行一个POD containers: - name: main image: luksa/ssd-monitor
[ k8s-yaml-file]# kubectl get nodes -l disk=ssd #查看带有disk=ssd的标签 NAME STATUS ROLES AGE VERSION test-nodes1.cedarhd.com Ready master,node 66d v1.15.2 test-nodes2.cedarhd.com Ready master,node 66d v1.15.2 [ k8s-yaml-file]# kubectl label node test-nodes1.cedarhd.com disk=hhd --overwrite #修改其中一个节点的标签不带disk=ssd node/test-nodes1.cedarhd.com labeled [ k8s-yaml-file]# kubectl get nodes -l disk=ssd NAME STATUS ROLES AGE VERSION test-nodes2.cedarhd.com Ready master,node 66d v1.15.2 [ k8s-yaml-file]# kubectl create -f kubia-daemonset.yaml #创建DaemonSet daemonset.apps/ssd-monitor created [ k8s-yaml-file]# kubectl get pod -o wide -n test NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES ssd-monitor-q7kbz 1/1 Running 0 16s 172.7.22.6 test-nodes2.cedarhd.com <none> <none> [ k8s-yaml-file]# kubectl get ds -n test #查看DaemonSet NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE ssd-monitor 1 1 1 1 1 disk=ssd 5m7s
相关推荐
XiaoMuFireAnt 2020-09-02
akcsdno 2020-07-21
xiunai 2020-06-28
薛正华 2020-06-21
JustHaveTry 2020-06-21
xingyuzhe 2020-06-10
hyxinyu 2020-06-10
xingyuzhe 2020-06-09
wishli 2020-06-08
JayFighting 2020-06-08
guan000 2020-06-05
wishli 2020-06-03
远远的山 2020-11-09
kaidiphp 2020-10-13
JustHaveTry 2020-09-29
cloudvtech 2020-09-18
BigDataMining 2020-08-21
IT兄弟团 2020-08-01
孝平 2020-07-18