Продолжая осваивать Kubernetes установил dashboard. После установки, один из двух dashboard pods постоянно крашился перезапускался. После гугления, выяснилось, что оба pods должны быть запущены на мастер ноде, а в моем случае они запустились на worker. Перекинув их на мастер ноду, все заработало.
Мне показалось странно, что разработчик не позаботился о том, чтобы dashboard сразу разворачивался на мастере, где ему и место. Я стал гуглить, как привязать pod к конкретной ноде и нашел такой параметр как nodeSelector. Потом открыл yaml файл dashboard и какого было мое удивление, когда я там тоже нашел этот параметр. Т.е., как я понимаю, у разработчиков была задумка сделать чтобы dashboard разворачивался именно на мастере, вот так это выглядит:
nodeSelector:
«beta.kubernetes.io/os»: linux
# Comment the following tolerations if Dashboard must not be deployed on master
tolerations:
- key: node-role.kubernetes.io/master
effect: NoSchedule
Я не очень понял этот код и тем более не понял почему он не сработал в моем случае. Объясните мне пожалуйста :)