CC00147.CloudKubernetes——|KuberNetes&资源调度.V17|——|daemonset.v02|创建到特定主机|

一、将daemonset部署到符合条件的宿主机上
### --- 为符合条件的宿主机打标签
~~~     为所有node节点搭上标签
~~~     只需要在node节点上部署ds,忽略master节点。需要给node节点打个标签,

[root@k8s-master01 ~]# kubectl label node k8s-node01 k8s-node02 ds=true
node/k8s-node01 labeled
node/k8s-node02 labeled
### --- 查看所有节点的标签信息

[root@k8s-master01 ~]# kubectl get node --show-labels
NAME           STATUS   ROLES    AGE   VERSION   LABELS
k8s-master01   Ready    <none>   9d    v1.20.0   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master01,kubernetes.io/os=linux,node.kubernetes.io/node=
k8s-master02   Ready    <none>   9d    v1.20.0   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master02,kubernetes.io/os=linux,node.kubernetes.io/node=
k8s-master03   Ready    <none>   9d    v1.20.0   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master03,kubernetes.io/os=linux,node.kubernetes.io/node=
k8s-node01     Ready    <none>   9d    v1.20.0   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,ds=true,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-node01,kubernetes.io/os=linux,node.kubernetes.io/node=
k8s-node02     Ready    <none>   9d    v1.20.0   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,ds=true,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-node02,kubernetes.io/os=linux,node.kubernetes.io/node=
二、更改daemonset配置文件参数
### --- 更改一下DaemonSet

[root@k8s-master01 ~]# kubectl edit ds
    spec:
      nodeSelector:                                                                 //nodeSelector和containers是平级的,
        ds: "true"
      containers:
      - image: nginx:1.15.2
        imagePullPolicy: IfNotPresent
        name: nginx
        resources: {}
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
三、重新触发容器
### --- 重新触发容器,查看pod状态
~~~     不符合这个标签的pod会被删除掉

[root@k8s-master01 ~]# kubectl get po
NAME          READY   STATUS        RESTARTS   AGE
nginx-7lgnx   1/1     Running       0          6m24s
nginx-l9dkp   0/1     Running       0          6m24s
nginx-ps42t   1/1     Terminating   0          6m24s
nginx-v6687   1/1     Terminating   0          6m24s
nginx-zb474   1/1     Terminating   0          6m24s
### --- 查看更改配置后容器状态
~~~     删除的过程中,会做一次更新,因为DaemonSet是在线编译的,会产生之前的一个版本记录。
 
NAME          READY   STATUS    RESTARTS   AGE    IP              NODE         NOMINATED NODE   READINESS GATES
nginx-n47b7   1/1     Running   0          68s    172.17.125.2    k8s-node01   <none>           <none>
nginx-tsxcp   1/1     Running   0          2m8s   172.27.14.194   k8s-node02   <none>
四、查看pod的历史版本
### --- 通过rollout查看pod构建历史版本

[root@k8s-master01 ~]# kubectl rollout history ds nginx                             //可以查看到之前的记录。
daemonset.apps/nginx 
REVISION  CHANGE-CAUSE
1         <none>
2         <none>
五、新添加一个pod到指定的宿主机上
### --- 新添加一个节点;在master03上

[root@k8s-master01 ~]# kubectl label node k8s-master03 ds=true
node/k8s-master03 labeled
### --- 查看pod创建结果
 
[root@k8s-master01 ~]# kubectl get po -owide
NAME          READY   STATUS    RESTARTS   AGE     IP              NODE           NOMINATED NODE   READINESS GATES
nginx-n47b7   1/1     Running   0          3m40s   172.17.125.2    k8s-node01     <none>           <none>
nginx-tsxcp   1/1     Running   0          4m40s   172.27.14.194   k8s-node02     <none>           <none>
nginx-wfrpz   1/1     Running   0          10s     172.18.195.8    k8s-master03   <none>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值