文档详情

Docker容器技术应用 实验指导书 任务9.2.5 通过标签调度Pod.docx

发布:2025-04-13约2.13千字共5页下载文档
文本预览下载声明

任务9.2.5通过标签调度Pod

(1)任务目标

掌握通过标签调度Pod的方法

(2)任务内容

为K8S集群中的工作节点添加标签

创建Pod并指定其标签

通过标签进行调度

(3)完成任务所需的设备和软件

一台安装Windows10操作系统的计算机

VMwareWorkstation,Docker

远程管理工具MobaXterm

(4)任务实施步骤:

第一步:在master节点上查看Node节点的标签,操作命令如下:

[root@master~]#kubectlgetnodes--show-labels

命令运行结果如图9-37所示。

图9-37在master节点上查看Node节点的标签

第二步:修改Node节点的标签,操作命令如下:

[root@master~]#kubectllabelnodesnode1labelname=node1

[root@master~]#kubectllabelnodesnode2labelname=node2

[root@master~]#kubectlgetnodes--show-labels

命令运行结果如图9-38所示。

图9-38修改Node节点的标签

第三步:编写mynginx-label.yaml文件,操作命令及代码如下:

[root@master~]#vimmynginx-label.yaml

apiVersion:v1

kind:Pod

metadata:

labels:

app:mynginx-label

name:mynginx-label

spec:

containers:

-image:nginx:latest

imagePullPolicy:IfNotPresent

name:nginx

ports:

-name:nginx

protocol:TCP

containerPort:80

hostPort:30000

resources:{}

dnsPolicy:ClusterFirst

restartPolicy:Never

nodeSelector:

labelname:node1

第四步:通过mynginx-label.yaml创建Pod,操作命令如下:

[root@master~]#kubectlapply-fmynginx-label.yaml

[root@master~]#kubectlgetpod

[root@master~]#kubectldescribepodmynginx-label

命令运行结果如图9-39所示。

图9-39通过mynginx-label.yaml创建Pod

从图中可以看出,该Pod被调度到了node1节点上。

第五步:删除该Pod,操作命令如下:

[root@master~]#kubectldeletepodmynginx-label

[root@master~]#kubectlgetpod

命令运行结果如图9-40所示。

图9-40删除该Pod:mynginx-label

第六步:修改mynginx-label.yaml文件,将Pod调度到node2节点上,操作命令及代码如下:

[root@master~]#vimmynginx-label.yaml

apiVersion:v1

kind:Pod

metadata:

labels:

app:mynginx-label

name:mynginx-label

spec:

containers:

-image:nginx:latest

imagePullPolicy:IfNotPresent

name:nginx

ports:

-name:nginx

protocol:TCP

containerPort:80

hostPort:30000

resources:{}

dnsPolicy:ClusterFirst

restartPolicy:Never

nodeSelector:

labelname:node2

[root@master~]#kubectlapply-fmynginx-label.yaml

[root@master~]#kubectlgetpod

[root@master~]#kubectldescribepodmynginx-

显示全部
相似文档