成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何使用DaemonSet控制器

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)如何使用DaemonSet控制器,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)建站網(wǎng)絡(luò)公司擁有十余年的成都網(wǎng)站開發(fā)建設(shè)經(jīng)驗,超過千家客戶的共同信賴。提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)站開發(fā)、網(wǎng)站定制、友情鏈接、建網(wǎng)站、網(wǎng)站搭建、成都響應(yīng)式網(wǎng)站建設(shè)公司、網(wǎng)頁設(shè)計師打造企業(yè)風(fēng)格,提供周到的售前咨詢和貼心的售后服務(wù)

我們通過幾個簡單的例子來快速體驗DaemonSet控制器。

環(huán)境準備

我們使用Kind工具來創(chuàng)建一個包含三個節(jié)點的集群,使用的配置如下所示:

[root@ecs-d8b6 book]# cat config_kind.yaml 
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
- role: worker

然后,創(chuàng)建一 個v1.18.0版本的Kubernetes集群:

[root@ecs-d8b6 book]# kind create cluster --config config_kind.yaml --image=kindest/node:v1.18.0
Creating cluster "kind" ...
 ? Ensuring node image (kindest/node:v1.18.0) ???? 
 ? Preparing nodes ???? ???? ???? ????  
 ? Writing configuration ???? 
 ? Starting control-plane ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 
 ? Installing CNI ???? 
 ? Installing StorageClass ???? 
 ? Joining worker nodes ???? 
Set kubectl context to "kind-kind"
You can now use your cluster with:

kubectl cluster-info --context kind-kind

集群創(chuàng)建完成后,檢查各節(jié)點是否已正常工作:

[root@ecs-d8b6 book]# kubectl get nodes
NAME                 STATUS   ROLES    AGE     VERSION
kind-control-plane   Ready    master   3m6s    v1.18.0
kind-worker          Ready    <none>   2m30s   v1.18.0
kind-worker2         Ready    <none>   2m31s   v1.18.0
kind-worker3         Ready    <none>   2m30s   v1.18.0

可以看到所有節(jié)點都已處于Ready狀態(tài),接下來我們就創(chuàng)建一個DaemonSet對象,它可以保證在每個工作節(jié)點上創(chuàng)建一個Pod副本。

創(chuàng)建

首先我們先將以下配置保存到名為daemonset.yaml的文件中。

[root@ecs-d8b6 manifests]# cat daemonset.yaml 
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: nginx-daemonset
  labels:
    app: nginx
spec:
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - name: nginx
          image: nginx:1.19.0

該份配置將創(chuàng)建一個DaemonSet對象,然后DaemonSet控制器會根據(jù)該對象信息分別在每個節(jié)點上創(chuàng)建一個Pod副本。

接下來使用kubectl create命令將該配置提次給kube-apiserver,如下所示:

[root@ecs-d8b6 manifests]# kubectl create -f daemonset.yaml 
daemonset.apps/nginx-daemonset created

查看

首先查看剛剛創(chuàng)建的DaemonSet對象:

[root@ecs-d8b6 manifests]# kubectl get daemonset 
NAME              DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
nginx-daemonset   3         3         3       3            3           <none>          5m6s

命令行輸出中各字段含義如下:

  • NAME: DaemonSet對象名稱,同配置中的metadata.name;

  • DESIRED:需求副本個數(shù),由于沒有刻意篩選節(jié)點,所以副本個數(shù)等同于節(jié)點個數(shù);

  • CURRENT:當前已創(chuàng)建的副本個數(shù);

  • READY:處于Ready狀態(tài)的副本個數(shù);

  • UP-TO-DATE:已按最新Pod模版創(chuàng)建的Pod個數(shù);

  • AVAILABLE:可用的副本個數(shù);

  • NODE SELECTOR:節(jié)點選擇器,本例中我們沒有選擇,值為空;

  • AGE:創(chuàng)建至今經(jīng)歷的時間。

上面的字段中,除了NODE SELECTOR以外,我們已在前面的章節(jié)中介紹過。其實Node Selector并不是DaemonSet對象特有的配置,它是Pod模版中用于為Pod匹配節(jié)點的配置,DaemonSet控制器使用該Node Selector來篩選需要創(chuàng)建副本的節(jié)點,如果沒有指定,則默認選擇全部節(jié)點。

接著,查看DaemonSet控制器所創(chuàng)建的Pod副本信息:

[root@ecs-d8b6 manifests]# kubectl get pods -o wide
NAME                    READY   STATUS    RESTARTS   AGE     IP           NODE           NOMINATED NODE   READINESS GATES
nginx-daemonset-78dbc   1/1     Running   0          5m13s   10.244.3.2   kind-worker3   <none>           <none>
nginx-daemonset-gmpdg   1/1     Running   0          5m13s   10.244.1.2   kind-worker2   <none>           <none>
nginx-daemonset-l6wn4   1/1     Running   0          5m13s   10.244.2.2   kind-worker    <none>           <none>

可以看到,每個節(jié)點上均創(chuàng)建了一個副本,符合預(yù)期。

更新

接下來我們試圖調(diào)整Pod部署策略,我們只希望Pod運行在名為kind-worker的節(jié)點上,這樣我們只需要配置DaemonSet對象的spec.template.spec.nodeSelector來選擇節(jié)點即可。

kind-worker的節(jié)點中存在一個標識節(jié)點的label:

kubernetes.io/hostname: kind-worker

所以DaemonSet對象的spec.template.spec.nodeSelector配置如下:

apiVersion: apps/v1
kind: DaemonSet
metadata:
  ...
spec:
  ...
  template:
    ...
    spec:
      ...
      nodeSelector:
        kubernetes.io/hostname: kind-worker

使用kubectl edit命令修改配置,然后再次觀察DaemonSet對象和Pod副本:

[root@ecs-d8b6 manifests]# kubectl get daemonsets
NAME              DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                        AGE
nginx-daemonset   1         1         1       1            1           kubernetes.io/hostname=kind-worker   37m
[root@ecs-d8b6 manifests]# kubectl get pods -o wide
NAME                    READY   STATUS    RESTARTS   AGE   IP           NODE          NOMINATED NODE   READINESS GATES
nginx-daemonset-66gk2   1/1     Running   0          10s   10.244.2.3   kind-worker   <none>           <none>

可以發(fā)現(xiàn)DaemonSet狀態(tài)中,NODE SELECTOR正確地體現(xiàn)了我們的修改,而且需求的Pod副本數(shù)也變成了1個,符合預(yù)期。 原來運行的3個Pod副本減少到1個,而且只在我們選定的節(jié)點上運行。

刪除

像其他Pod控制器一樣,當刪除DaemonSet對象時,其所管理的Pod默認也會被刪除,操作如下所示:

[root@ecs-d8b6 ~]# kubectl delete daemonsets nginx-daemonset 
daemonset.apps "nginx-daemonset" deleted
[root@ecs-d8b6 ~]# kubectl get pods 
No resources found in default namespace.

上述就是小編為大家分享的如何使用DaemonSet控制器了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站題目:如何使用DaemonSet控制器
轉(zhuǎn)載來于:http://jinyejixie.com/article38/pshjsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)網(wǎng)站設(shè)計公司、網(wǎng)頁設(shè)計公司、搜索引擎優(yōu)化、網(wǎng)站內(nèi)鏈營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)
鄂伦春自治旗| 肇庆市| 青冈县| 福鼎市| 永寿县| 蛟河市| 稷山县| 长丰县| 繁昌县| 博客| 绍兴市| 正镶白旗| 文化| 乐安县| 武乡县| 墨脱县| 澳门| 海淀区| 宣城市| 宁明县| 酉阳| 弥勒县| 迭部县| 泾源县| 惠来县| 仲巴县| 白朗县| 京山县| 嘉善县| 洱源县| 宁都县| 台东市| 陇南市| 万山特区| 卫辉市| 柘荣县| 宁南县| 米泉市| 罗源县| 会同县| 永顺县|