Планирование pods на узлы только после запуска kube2iam - PullRequest
0 голосов
/ 05 декабря 2018

В нашем кластере Kubernetes на основе AWS мы используем kube2iam для предоставления ролей IAM уровня pod.

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

Я могу придумать несколько решений, которые мне не нравятся:

  • Требование кода приложения для проверки собственной роли
  • Добавление контейнера инициализации для проверки ожидаемой роли
  • Добавление podAffinity к каждому модулю, чтобы убедиться, что он совмещен с работающим экземпляром kube2iam

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

Есть ли способ сделать это глобально?Я предполагаю, что это будет означать что-то вроде пометки Node как недопустимого по умолчанию и изменения этого статуса, когда kube2iam активен.Не уверен, как этого добиться.

1 Ответ

0 голосов
/ 06 декабря 2018

Как насчет использования датчика живучести в ваших шаблонах Pod для Pod, созданного DaemonSet от kube2iam?Он должен продолжать перезапускать вновь созданные модули, пока kube2iam не будет готов.(например, HTTP-запрос к порту 8181 - порт прослушивания по умолчанию для kube2iam)

...