首页 > 其他分享 >k8s将pod指定到某个节点

k8s将pod指定到某个节点

时间:2023-04-21 14:25:21浏览次数:46  
标签:nodename Kubernetes 标签 节点 nodeSelector Pod k8s pod

1、查看节点标签

kubectl get nodes --show-labels
2、给节点打标签
kubectl label node 10.64.39.219 node=bmd
kubectl label node 10.64.39.186 node=bmd
3、指定程序的运行pod
[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、相关选择节点说明

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 的示例和说明。

  

  

  

  

标签:nodename,Kubernetes,标签,节点,nodeSelector,Pod,k8s,pod
From: https://www.cnblogs.com/wukc/p/17340180.html

相关文章

  • 单机单节点Flink的部署
    一、Flink的下载和安装1、Flink的下载官方下载网址:https://archive.apache.org/dist/flink/这里选择1.15.2这个版本 2、把Flink上传到主机上把下载好的文件上传到/opt/software上3、解压Flink安装包把Flink解压到/opt/module中,要提前创建module文件夹tar-zxvfflink-......
  • k8s 1.23部署ingress
    1.安装部署ingress-nginx前言:坑比较多,pod启动running成功也并不代表ingress就能使用,需要进去pod内查看logs还有pod的描述也要看看是否有报错。文件地址:https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.1/deploy/static/provider/cloud/deploy.y......
  • iOS:Cocoapods 常用命令
    命令描述安装与卸载sudogeminstallcocoapods安装cocoapodssudogeminstallcocoapods-v1.10.0安装cocoapods1.10.0版本sudogemuninstallcocoapods卸载cocoapodssudogemuninstallcocoapods-v1.10.0卸载版本1.10.0---安装在个......
  • k8s编写cronjob
    1.k8s编写cronjob的知识点:通过sed对cronjob的yaml文件中的image属性进行替换:seds/old/new/gfile当old和new均为变量的时候,书写方式如下:sed-i's#'''$old_image'''#'''$new_image'''#g'quota-cronjob.yaml 2.cron......
  • leetcode-876链表的中间节点
    找链表的中间节点思路心得当不知道while的终止条件时,可以先写while(true),然后在循环体中写终止条件,这样写的好处是可以暂时不考虑终止条件,使思路更清晰;坏处是这样有时候会使循环体的内容很混乱要注意分类!本题中把情况分为节点个数是奇数和偶数去分析,最终找到统一的......
  • JavaScript的节点操作
    目录节点概述节点层级添删等节点操作使用节点操作的示例节点概述一般来说,节点至少拥有nodeType,nodeName,nodeValue这三个基本属性1.元素节点的nodeType为12.属性节点的nodeType为23.文本节点的nodeType为3(包括换行,文字,空格)节点层级1.父节点:node.parentNode(1)paren......
  • Linux设备节点创建方式的演变历史
    引子  遵从"Everythingisafile"的思想,在Linux下想要操作设备的话,是需要通过一类叫做设备节点(devicenode)的特殊文件。设备节点通常位于/dev这个目录下,但是位于其它目录也是可以的。只要翻开一本介绍Linux驱动的书,或者在网上搜索相关的文章,很大概率上会教你在写好驱动代码后......
  • CF 580C- Kefa and Park, 1500 / 树的遍历 / 根节点到叶节点的路径上某性质的点不能
    CF580C-KefaandPark这个1500的题这么水?这还不如1200、1300的思维题我开始没考虑周全,这题给出的连边没有讲都是从父节点连向子节点,所有要建双边。#include<iostream>#include<cstring>usingnamespacestd;constintN=1e5+10,M=N*2;typedeflonglon......
  • k3s 基础 —— 配置 traefik dashboard & k8s dashboard 域名访问
    配置k8sdashboard域名访问安装略①kubectl代理(只支持localhost或http):kubectlproxy--address='0.0.0.0'--accept-hosts='^*$'②若k8s在虚拟机中部署,局域网中临时访问,可使用端口转发:kubectlport-forward-nkubernetes-dashboardservice/kubernetes-dashboard......
  • k8s基于RBAC权限生成config和token
    一、背景Kubernetes主要通过APIServer对外提供服务,对于这样的系统来说,如果不加以安全限制,那么可能导致请求被滥用,甚至导致整个集群崩塌。Kubernetes中提供了良好的多租户认证管理机制,RBAC正式其中重要的一个,今天我们来详细聊聊K8s中的RBAC。二、相关概念2.1在RBAC模型里面......