Как запланировать стручки gitlab-runner только на рабочих узлах? - PullRequest
1 голос
/ 21 апреля 2020

У меня есть 1 вопрос относительно планирования стручков для стручков бегуна в k8s. Как я вижу, во время разных работ он создает модули типа runner-xxxx-project-xxxx-concurrent, и эти модули создаются динамически. Как настроить планирование (nodeSelector) только для этих модулей (runner-xxxx-project-xxxx-concurrent), а не для развертывания runner-gitlab-runner?

1 Ответ

1 голос
/ 21 апреля 2020

Во-первых, в зависимости от того, как вы установили свои мастер-узлы, они обычно имеют помехи node-role.kubernetes.io/master:NoSchedule, чтобы избежать планирования пакетов.

$ kubectl describe nodes node1
Name:               node1
Roles:              master
Labels:             beta.kubernetes.io/arch=amd64
                    beta.kubernetes.io/os=linux
                    kubernetes.io/hostname=node1
                    node-role.kubernetes.io/master=
Annotations:        node.alpha.kubernetes.io/ttl=0
                    volumes.kubernetes.io/controller-managed-attach-detach=true
Taints:             node-role.kubernetes.io/master:NoSchedule

Так что, если ваша установка kubernetes соответствует, нет необходимо использовать nodeSelector, чтобы установить узел, на котором будут планироваться модули (обычно это плохая практика).

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

kubectl taint nodes node1 node-role.kubernetes.io/master:NoSchedule-

Второе решение: установить метку для узлов, чтобы использовать nodeSelector

kubectl label nodes node1 gitlab-runner=true

И использовать nodeSelector, чтобы указать планировщику, что вы хотите узел с указанной c меткой :

spec:
  containers:
  - [...]
  nodeSelector:
    gitlab-runner: "true"

Как уже упоминалось @ Nicolas-pepinster , вы можете установить метку в разделе [runners.kubernetes] нашего gitlab-runner ( см. Do c).

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