k8s将pod指定到某个节点
1、查看节点标签
1 | kubectl get nodes --show-labels |
2、给节点打标签
1 2 | kubectl label node 10.64.39.219 node=bmd kubectl label node 10.64.39.186 node=bmd |
3、指定程序的运行pod
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [root@apiserver k8s] # cat selec.yml apiVersion: extensions /v1beta1 kind: Deployment metadata: name: nginx- select -node1 spec: replicas: 2 template: metadata: labels: app: nginx spec: nodeSelector: node: bmd containers: - name: nginx- select -node1 image: nginx:latest ports: - containerPort: 80 |
4、相关选择节点说明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | nodeSelector 在 Kubernetes 中,nodeSelector 是一个用于指定哪些节点可以运行 Pod 的属性。它是一组键值对,其中键表示标签的名称,值表示标签的值。使用 nodeSelector,可以将 Pod 分配给具有特定标签的节点,从而更好地控制应用程序的部署。 下面是一个 nodeSelector 实例,其中标签名为 "disktype" ,标签值为 "ssd" : Copy CodenodeSelector: disktype: ssd 当 Pod 定义中包含 nodeSelector 字段时,Kubernetes 将尝试将 Pod 调度到具有匹配标签的节点上。如果没有满足条件的节点,Pod 将处于挂起状态,直到有符合条件的节点可用。请注意,引用不存在的标签会使 Pod 处于 Pending 状态。 nodeSelector 可以与标签控制器一起使用来确保 Pod 部署在所需的节点上。例如,可以使用标签控制器为所有类型为 SSD 的节点打上 "disktype=ssd" 的标签,并在 Pod 中使用 nodeSelector 字段将应用程序分配给这些节点。 以下是相关知识来源链接: [1]:此链接提供了有关 nodeSelector 字段的详细信息和示例。 nodeName 在 Kubernetes 中,nodename 是节点名称,用于唯一标识集群中的每个节点。可以使用 kubectl get nodes 命令查看节点名称列表。 nodename 可以在调试和故障排除期间十分有用。例如,在操作节点时可能需要指定节点名称来确保正确执行命令,或者查找在特定节点上运行的容器时需要查询节点名称。 另外需要注意的是,nodename 不是将 Pod 调度到特定节点的最佳方法。Kubernetes 通常会使用更高级别的策略来调度 Pod,如 nodeSelector、affinity /anti-affinity 和 taints /tolerations 等机制。如果尝试手动调度 Pod,除非明确知道后果,否则不要依赖 nodename。 以下是相关知识来源链接: [1]:此链接提供了 API 文档,其中包含 nodename 的详细信息,以及如何在 Kubernetes API 中使用它。 [2]:此链接提供了关于如何在调试期间使用 nodename 的示例和说明。 |
做一个决定,并不难,难的是付诸行动,并且坚持到底。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!