如何为某些节点分配名称空间?

kva*_*aps 7 kubernetes

有什么方法可以nodeSelector在名称空间级别进行配置?

我只想为此名称空间在某些节点上运行工作负载。

kva*_*aps 11

为此,您可以使用PodNodeSelector准入控制器。

首先,您需要在kubernetes-apiserver中启用它:

  • 编辑/etc/kubernetes/manifests/kube-apiserver.yaml
    • --enable-admission-plugins=
    • 添加PodNodeSelector参数

现在,您可以scheduler.alpha.kubernetes.io/node-selector在名称空间的注释中指定选项,例如:

apiVersion: v1
kind: Namespace
metadata
 name: ns1
 annotations:
   scheduler.alpha.kubernetes.io/node-selector: env=test
spec: {}
status: {}
Run Code Online (Sandbox Code Playgroud)

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

nodeSelector
  env: test
Run Code Online (Sandbox Code Playgroud)

PodNodeSelector您可以在Kubernetes官方文档中找到有关的更多信息:https ://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#podnodeselector

  • 运行“kubeadm init Phase control-plane apiserver --config kubeadm-config.yaml”时,我得到“GroupVersionKind /v1、Kind=ConfigMap 的无效配置:kind 和 apiVersion 是必须指定的强制信息” (3认同)
  • 我们如何在像 EKS 这样的托管 kubernetes 集群中实现这一目标? (2认同)