美文网首页
Kubernetes nodeSelector

Kubernetes nodeSelector

作者: 程序员同行者 | 来源:发表于2018-11-13 10:19 被阅读0次

labels 在 K8s 中是一个很重要的概念,作为一个标识,Service、Deployments 和 Pods 之间的关联都是通过 label 来实现的。而每个节点也都拥有 label,通过设置 label 相关的策略可以使得 pods 关联到对应 label 的节点上。

nodeSelector

nodeSelector 是最简单的约束方式。nodeSelectorPodSpec 的一个字段。

通过 --show-labels 可以查看当前 nodeslabels

$ kubectl get nodes --show-labels
NAME       STATUS    ROLES     AGE       VERSION   LABELS
minikube   Ready     <none>    1m        v1.10.0   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/
hostname=minikube

如果没有额外添加 nodes labels,那么看到的如上所示的默认标签。我们可以通过 kubectl label node 命令给指定 node 添加 labels:

$ kubectl label node minikube disktype=ssd
node/minikube labeled
$ kubectl get nodes --show-labels
NAME       STATUS    ROLES     AGE       VERSION   LABELS
minikube   Ready     <none>    5m        v1.10.0   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,disktype=ssd,kubernetes.io/host

当然,你也可以通过 kubectl label node 删除指定的 labels(标签 key 接 - 号即可)

$ kubectl label node minikube disktype-
node/minikube labeled
$ kubectl get node --show-labels
NAME       STATUS    ROLES     AGE       VERSION   LABELS
minikube   Ready     <none>    23m       v1.10.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=minikube

创建测试 pod 并指定 nodeSelector 选项绑定节点:

$ cat nginx.yaml
apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    env: test
spec:
  containers:
  - name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent
  nodeSelector:
    disktype: ssd
$ kubectl create -f nginx.yaml
pod/nginx created

查看 pod 调度的节点,即我们指定有 disktype=ssd label 的 minikube 节点:

$ kubectl get pods -o wide
NAME      READY     STATUS    RESTARTS   AGE       IP           NODE
nginx     1/1       Running   0          1m        172.18.0.4   minikube

相关文章

  • Kubernetes nodeSelector

    labels 在 K8s 中是一个很重要的概念,作为一个标识,Service、Deployments 和 Pods...

  • Kubernetes中pod绑定node节点

    固定节点nodeName和nodeSelector调度 一、Kubernetes Pod调度说明 Schedule...

  • K8s Pod调度

    nodeSelector pod只会运行在匹配nodeSelector的node上。 要使用这个功能需要先配置no...

  • LFS258-LAB-shedule

    nodeSelector调度 1.查看节点的label 2.创建基于nodeselector的pod 查看pod的...

  • k8s ingress对外暴露接口的几种方式

    先看结果 DaemonSet+HostNetwork+nodeSelector Deployment+NodePo...

  • k8s 节点调度

    nodeSelector 用节点亲和性把 Pods 分配到节点

  • K8s Scheduler(4-1)

    Affinity 和 AntiAffinity Affinity: 和nodeSelector很像,提供了更多维度...

  • k8s基础

    endpoint、虚拟二层网络技术、nodeSelector、label、controller、deploymen...

  • 关闭efk

    把ds里面的改nodeselector的 改了这个他就选不到可用的node

  • kubernetes 高级调度方式

    高级调度方式 3种影响调度方式:节点选择器:nodeSelector,nodeName节点亲和调度:nodeAff...

网友评论

      本文标题:Kubernetes nodeSelector

      本文链接:https://www.haomeiwen.com/subject/dwugxqtx.html