这么说吧,假设有一个K8S集群,其中有多个节点,并且想将一个特定的应用程序只部署在具有特定标签的节点上。这时候就可以在Pod的定义中添加nodeSelector字段,指定一个键值对,例如app: my-app。然后,K8S调度器将查找具有app=my-app标签的节点,并将该Pod调度到其中之一上运行。 需要注意的是,nodeSelector是一种基本的...
默认情况下,k8s master 管理节点有污点标签,默认是NoSchedule,即不会被调度。新创建的pod 会随机选择除了master管理节点的以外的node工作节点上创建。如果想要使某个新建pod在某个node节点创建,可以使用nodeName或者nodeSelector两种方式 回到顶部 nodeName 这种方式适合某个pod在某台主机上创建。以nginx为例 [root@mat...
在k8s的调度中,有强制性的nodeSelector,节点亲和性nodeAffinity、Pod亲和性podAffinity、pod反亲和性podAntiAffinity。本篇先对nodeSelector和nodeAffinity做个初探。 进入主题之前,先看看创建pod的大概过程 图片 kubectl向apiserver发起创建pod请求,apiserver将创建pod配置写入etcd scheduler收到apiserver有新pod的事件,schedul...
```ymlapiVersion:apps/v1kind:Deploymentmetadata:labels:app:gowebname:gowebnamespace:goweb-namespacespec:replicas:3selector:matchLabels:app:gowebtemplate:metadata:labels:app:gowebspec:nodeSelector:# 添加nodeSelector字段app:goweb-nodecontainers:-image:192.168.11.253/library/goweb:latest# 注意替换为...
k8s NodeSelector 策略 k8s nodeport clusterip 1. 2. 1 Service 类型 在定义Service的时候可以指定一个自己需要的类型的Service,如果不指定的话默认是ClusterIP类型。 可以使用的服务类型如下: 1、ClusterIP:通过集群的内部 IP 暴露服务,选择该值,服务只能够在集群内部可以访问,这也是默认的Service类型。ClusterIP...
k8s本身就会根据资源等信息将pod分配到合适的node上,但有些场景下,我们需要更强的控制,比如云平台的租户只能使用购买的节点。有3种方式可以实现:node selector,affinity和node name。 Node Selector Node Selector是指定pod分配到指定node上最简单的方法,使用Pod中的nodeSelector属性来实现。Node Selector会指定key-...
从这里开始,通过实战演示如何在K8S集群中使用nodeSelector来将Pod调度到指定的节点上。 1步骤 1:创建Node标签 首先,我们需要为目标节点添加标签。在本次实战中,我们将以goweb应用为例,将Pod调度到具有app=goweb-node标签的节点上。在Master节点上执行以下命令,为节点添加标签: ...
nodeSelector: app: release containers: - name: mycontainer image: liwang7314/myapp:v1 imagePullPolicy: IfNotPresent ports: - name: http containerPort: 80 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ...
在k8s的调度中,有强制性的nodeSelector,节点亲和性nodeAffinity、Pod亲和性podAffinity、pod反亲和性podAntiAffinity。本篇先对nodeSelector和nodeAffinity做个初探。 进入主题之前,先看看创建pod的大概过程 kubectl向apiserver发起创建pod请求,apiserver将创建pod配置写入etcd ...
192.168.133.131 k8s-m3.cluster.local k8s-m3 127.0.0.1 lb.kubesphere.local 2.标签选择器nodeSelector的使用 1).查看各个节点的标签 [root@k8s-m1 ~]#kubectl get node --show-labels NAME STATUS ROLES AGE VERSION LABELS k8s-m1 Ready control-plane,master 15m v1.22.10 beta.kubernetes.io/arch=amd...