Доступ к информации о наборе реплик из модуля

Я хочу получить доступ к количеству реплик, а также к текущему идентификатору реплики для данного модуля изнутри самого модуля. Например, если существует 3 реплики любого заданного модуля, скажем, foo_A, foo_B и foo_C, созданные в этом конкретном порядке, возможно ли, чтобы общее количество реплик и индекс модуля в наборе реплик были доступны в этом модуле?

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

Я знаю, что этого можно добиться с помощью Downward API, но к каким полям получить доступ? Может ли кто-нибудь помочь?

1 ответ

Как упоминалось в комментариях, вы можете использовать StatefulSets:

Модули StatefulSet Pods имеют уникальную идентичность, которая состоит из порядкового номера, стабильной сетевой идентичности и стабильного хранилища. Идентификатор остается за модулем независимо от того, на каком узле он (повторно) запланирован.

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

  • Для StatefulSet с N репликами при развертывании модулей они создаются последовательно, начиная с {0..N-1}. Когда поды удаляются, они завершаются в обратном порядке, начиная с {N-1..0}.
  • Прежде чем операция масштабирования будет применена к модулю, все его предшественники должны быть запущены и готовы.
  • Перед завершением работы пода все его преемники должны быть полностью остановлены.
Другие вопросы по тегам