Планировщик не планирует 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. Это также упомянуто в главе " Как строятся демоны".