开发者社区> 问答> 正文

如何指定节点调度?

如何指定节点调度?

展开
收起
小天使爱美 2020-03-31 15:14:27 587 0
1 条回答
写回答
取消 提交回答
  • 出于业务场景需要,如您需要将管控服务部署到 Master 节点;或者将某些服务部署到具有 SSD 盘的机器上。您可以采用这种方式实现指定节点调度。

    前提条件 您已经成功部署一个 Kubernetes 集群,参见创建Kubernetes 集群。 背景信息 您可通过为节点设置节点标签,然后通过配置 nodeSelector 对 pod 调度进行强制约束,将 pod 调度到指定的 Node 节点上。关于 nodeSelector 的详细实现原理,请参见 nodeselector。 步骤1 为节点添加标签 登录容器服务管理控制台。 在 Kubernetes 菜单下,单击左侧导航栏中的集群 > 节点,进入节点列表页面。 选择所需的集群,在页面右上角单击标签管理。 标签管理 在节点列表中,选择所需节点,然后单击添加标签。本例中选择一个 worker 节点。 添加标签 在弹出的添加标签对话框中,输入标签的名称和值,然后单击确定。 设置标签 您可以在标签管理页面,看到该节点具有 group:worker标签。 设置标签2 您也可以通过命令 kubectl label nodes = 为节点添加标签。

    步骤2 将 pod 部署到指定节点 在 Kubernetes 菜单下,单击左侧导航栏中的应用 > 无状态,进入无状态(Deployment)页面。 单击页面右上角的使用模板创建。 模板创建 对模板进行相关配置,部署一个 pod,完成配置后,单击创建。 集群:选择所需的集群。 命名空间:选择资源对象所属的命名空间,本例中是 default。 示例模板:本示例选择自定义模板。 设置模板 本示例的编排模板如下。

    apiVersion: v1 kind: Pod metadata: labels: name: hello-pod name: hello-pod spec: containers: - image: nginx imagePullPolicy: IfNotPresent name: hello-pod ports: - containerPort: 8080 protocol: TCP resources: {} securityContext: capabilities: {} privileged: false terminationMessagePath: /dev/termination-log dnsPolicy: ClusterFirst restartPolicy: Always nodeSelector:
    group: worker ##注意与前面配置的节点标签一致 status: {} 单击创建 后,会提示部署状态信息。 成功后,单击Kubernetes 控制台前往控制台查看部署状态。 查看部署状态 您可单击 pod 名称,进入详情页,了解 pod 详情。 您可看到 pod 的标签、所处的节点 ID 等信息,表明该 pod 已经成功部署到具有 group:worker 标签的指定节点上。 查看pod详情

    2020-03-31 15:16:03
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
如何让k8s集群30s扩容3000个Pod 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载