Как назначить пространство имен для определенных узлов? - PullRequest
0 голосов
/ 25 сентября 2018

Есть ли способ настроить nodeSelector на уровне пространства имен?

Я хочу запустить рабочую нагрузку только на определенных узлах для этого пространства имен.

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Я полностью согласен с ответом @kvaps, но чего-то не хватает: необходимо добавить метку в ваш узел:

kubectl label node <yournode> env=test

Таким образом, модуль, созданный в пространстве имен с помощью scheduler.alpha.kubernetes.io/node-selector: env=test, будетбыть запланированным только на узле с env=test меткой

0 голосов
/ 25 сентября 2018

Для этого вы можете использовать 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: {}

После этих шагов ко всем модулям, созданным в этом пространстве имен, автоматически добавляется этот раздел:

nodeSelector
  env: test

Дополнительная информация о PodNodeSelectorВы можете найти в официальной документации Kubernetes: https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#podnodeselector

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...