Рейтинг:0

Модули k3s не развернуты на правильном узле

флаг cn

У меня есть кластер k3s с несколькими узлами, скажем, 3 узла. На каждом узле у меня есть несколько модулей для развертывания. Это «статическое развертывание», означающее, что я хочу развернуть каждый модуль на определенном узле. Я не хочу, чтобы k3s делал это автоматически.

Например:

Узел_1:
    pod_a
    pod_b
    pod_c
Узел_2:
    pod_d
    pod_e
    pod_f
Узел_3:
    pod_h
    pod_i
    pod_g

Для этого я использую метки. Я помечаю каждый узел определенными метками, а затем указываю метку в батат файл развертывания:

Например, что-то вроде этого:

апиВерсия: v1
вид: узел
метаданные:
  имя: узел3
  этикетки:
    дб: «правда»

И батат файлы развертывания, например для базы данных:

apiVersion: приложения/v1
вид: StatefulSet
метаданные:
  имя: дб
  пространство имен: по умолчанию
спецификация:
    спецификация:
      селектор узла:
        дб: «правда»

Итак, обычно стручок дБ должны быть развернуты на узел 3. Но иногда это не так. Когда я выполняю повторное развертывание, модуль повторно развертывается на другом узле, и я не понимаю, почему и как переместить его обратно на правильный узел.

Это очень раздражает, потому что для некоторых критических модулей у меня есть данные, смонтированные на хосте, и если модуль не развернут правильно, мое приложение может завершиться ошибкой.

Как убедиться, что мой стручок всегда правильно разворачивает? И почему иногда он не может правильно развернуться? Спасибо

флаг in
Основываясь исключительно на вашем описании, похоже, что вы пометили несколько узлов с помощью `db: 'true'`, но это в стороне, если «хотите развернуть каждый модуль на определенном узле. Я не хочу, чтобы k3s делал это автоматически " затем используйте `nodeName:` ​​вместо системы сопоставления меток, и это полностью положит конец этому
Andrew Skorkin avatar
флаг tr
Согласитесь с @mdaniel по поводу одинаковых меток для нескольких узлов. Можете ли вы добавить выходные данные для ваших узлов с текущими метками, которые вы хотите использовать для распределения модулей? Или вы можете попробовать использовать маркировку узлов, предоставив соответствующий nodeSelector в спецификациях модуля.
iAmoric avatar
флаг cn
Я подтверждаю, что каждая метка находится на одном и только одном узле. Но я снова проверил свой yml и только что заметил, что у одного модуля нет fireld nodeSelector. Я исправлю это и снова протестирую развертывание
Andrew Skorkin avatar
флаг tr
Привет @iAmoric Есть ли у вас какие-либо новости о тестировании развертывания?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.