Планировщик не планирует Pod для DaemonSet в главном узле

Я хочу развернуть DaemonSet для целей мониторинга. Таким образом, эти блоки должны быть развернуты во всех узлах.

DaemonSet гарантирует, что все (или некоторые) Узлы запускают копию Pod.

Я использую DaemonSet, чтобы все узлы получали копию.

    spec:
      containers:
      - name: fluentd
        image: aerocloud.io/containers/fluentd:0.0.1
        volumeMounts:
        - name: varlog
          mountPath: /var/log
      volumes:
      - name: varlog
        hostPath:
          path: /var/log

Когда я создаю это DaemonSet в моем кластере Kubernetes я не вижу, что Pod работает в моем главном узле.

Модуль для этого DaemonSet работает во всех узлах, кроме главного узла.

Что мне здесь не хватает? Как я могу принудить планировщик планировать Pod в главном узле?

1 ответ

Решение

Начиная с Kubernetes 1.6, DaemonSets не планируют работу на главных узлах по умолчанию. Для того, чтобы запланировать это на мастер, вы должны добавить допуск в раздел спецификации Pod:

tolerations:
- key: node-role.kubernetes.io/master
  effect: NoSchedule

Для получения более подробной информации, ознакомьтесь с примерами YAML-файлов в документации Kuamnetss DeamonSet. Это также упомянуто в главе " Как строятся демоны".

Другие вопросы по тегам