使用PodNodeSelector准入控制器

一、 plugin方式

1、修改kube-apiserver配置文件,找到–enable-admission-plugins=参数,添加PodNodeSelector参数

–enable-admission-plugins=PodNodeSelector

这里–enable-admission-plugins的value 可以是一个[]string也就是说可以多个逗号隔开

2、修改指定命名空间内容

  kubectl edit ns default
apiVersion: v1
kind: Namespace
metadata:
 name: default
 annotations: # 增加
   scheduler.alpha.kubernetes.io/node-selector: env=test # 增加
spec: {}
status: {}

完成这些步骤之后,在此命名空间中创建的所有pod都会自动添加以下部分:

nodeSelector
  env: test

3、给node打标签

kubectl label node k8s-node01 env=test

4、接下来只要是在default空间下创建的pod都会被分配到node1节点

二、 label方式

这里只说一下思路

1.在node上面可以打标签 同一的3
2.在部署deploy的时候手动使用nodeselector来锁定node 可以根据ns来选择不同的node 取决于标签内容
3.也就是说我们在做标签的时候可以打 label 为 ns=default 来简单明了

三、 两种方式对比

k8s默认提供了一些插件 但是有些插件默认不启用,那么就需要我们手动启用比如一方式在master的配置文件中启用 plugin

但是如果我们是托管k8s master不可见这时候只能选择第二种方式,当然方式可能还有很多

kubernetes之namespace与node绑定_k8s命名空间指定node_来自万古的忧伤的博客-CSDN博客

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐