gpt4 book ai didi

kubernetes - 如何为某些节点分配 namespace ?

转载 作者:行者123 更新时间:2023-12-04 10:33:55 25 4
gpt4 key购买 nike

有什么方法可以在 namespace 级别配置nodeSelector

我只想在此 namespace 的某些节点上运行工作负载。

最佳答案

为此,您可以使用PodNodeSelector接纳 Controller 。

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

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

  • 现在,您可以在 namespace 的注释中指定 scheduler.alpha.kubernetes.io/node-selector选项,例如:
    apiVersion: v1
    kind: Namespace
    metadata:
    name: your-namespace
    annotations:
    scheduler.alpha.kubernetes.io/node-selector: env=test
    spec: {}
    status: {}

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

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

    kubeadm用户

    如果您使用kubeadm部署了集群,并且想要使此配置持久化,则必须更新kubeadm配置文件:
    kubectl edit cm -n kube-system kubeadm-config

    extraArgs部分下使用自定义值指定 apiServer:
    apiServer: 
    extraArgs:
    enable-admission-plugins: NodeRestriction,PodNodeSelector

    然后在所有控制平面节点上更新kube-apiserver静态 list :
    kubeadm config view > kubeadm-config.yaml
    kubeadm init phase control-plane apiserver --config kubeadm-config.yaml

    kubespray用户

    您可以仅将 kube_apiserver_enable_admission_plugins变量用于api-server配置变量:
     kube_apiserver_enable_admission_plugins:
    - PodNodeSelector

    关于kubernetes - 如何为某些节点分配 namespace ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52487333/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com