2017-02-15 10 views
6

Я новичок в среде кубернетов. При развертывании приложения я мог бы выяснить, как сделать автоматическое масштабирование, но не совсем понял, как обеспечивается высокая доступность? Если это не так, как я могу его настроить?Kubernetes - Как обеспечивается высокая доступность, если я развертываю контейнерное приложение?

Редактировать: По HA, я имею в виду, как обеспечить, чтобы pod был запланирован на нескольких узлах, чтобы обеспечить HA на уровне подкачки/услуги.

Просим руководствоваться. Заранее спасибо! :)

+0

По HA, вы имеете в виду общую доступность всего вашего кластера k8s, или вы просто имеете в виду, как вы можете обеспечить, чтобы ваш модуль был запланирован на нескольких узлах, чтобы обеспечить HA на уровне POD/уровень обслуживания (при условии, что ваша базовая настройка кластера k8s уже HA)? – fishi

+0

@fishi - Я имею в виду, как обеспечить, чтобы pod был запланирован на нескольких узлах, чтобы обеспечить HA на уровне обслуживания/обслуживания. Я редактировал вопрос, добавляя его. Спасибо, отметив. :) – Tarun

+0

Посмотрите на [node affinity] (https://kubernetes.io/docs/user-guide/node-selection/). Особенно раздел о ** межподовой аффинности и анти-аффинности **. Благодаря этому вы можете заставить планировщик k8s всегда планировать свои контейнеры на нескольких узлах. – fishi

ответ

1

С помощью HA я имею в виду, как обеспечить, чтобы pod был запланирован через несколько узлов , чтобы обеспечить HA на уровне подкаса/обслуживания.

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

  • DaemonSets: контейнеров на demonsets будет работать на каждый узел. Если вы не включите/исключите определенные узлы.
  • Deployments: Deployments следующее поколение Replication Controllers. Используя deployments, вы можете легко масштабировать приложение, а также обеспечить доступность определенного количества контейнеров. Пожалуйста, обратите внимание, чтобы быть доступным при сбое узла, вам нужно установить правила привязки узлов на контейнерах. Для этого вам нужно установить его в шаблонах pod. В аффинности 1.6 может быть указано как поле в PodSpec, а не с использованием annotations.
+0

Спасибо :) Попробуем эти :) – Tarun