Развертывание Kubernetes с нулевым временем простоя - PullRequest
0 голосов
/ 04 октября 2018

Как разработчик концепций Kubernetes, их работа и развертывание вместе с ним.У меня есть пара случаев, которых я не знаю, как добиться.Я ищу совет или какое-либо руководство для его достижения.

Я использую Google Cloud Platform.Текущий рабочий поток описан ниже.Нажатие на исходный репозиторий Google запускает Cloud Build, который создает образ докера и помещает его в работающие узлы кластера.

Случай 1: Теперь я хочу это, когда новые модули запущены и работают.Затем трафик направляется на новые модули.Убейте старого стручка, но после того, как каждый стручок завершит свой ходовой запрос.Я рассчитываю достичь нулевого простоя.

Случай 2: Что произойдет, если пространство работающего модуля достигнет 100, а в случае Debian число инодов достигнет полной емкости.Будут ли kubernetes создавать новые модули для управления?

Пример 3. Как управлять лимитами подключения модуля к базе данных?

Ответы [ 2 ]

0 голосов
/ 04 октября 2018
  1. Как и в другом ответе, используйте Датчики жизнеспособности и готовности .По сути, новый модуль добавляется в пул услуг, тогда он будет обслуживать трафик только после прохождения проверки готовности.Старый модуль удаляется из пула служб, затем сливается и завершается.Это происходит по очереди по одному пакету за один раз.

  2. Это действительно зависит от емкости вашего кластера и способности планировать пакеты в зависимости от ограничений на контейнеры в них.Подробнее о настройке лимитов для контейнеров см. здесь .С точки зрения предела inode, если вы достигнете его на узле, kubelet не сможет запускать больше модулей на этом узле.Менеджер выселения kubelet также имеет механизм , в котором некоторые из модулей выгружаются с использованием большинства инодов.Вы также можете настроить пороги выселения на кубеле.

  3. Это было бы более ограничением на уровне ОС в сочетании с конфигурацией приложения с сохранением состояния.Вы можете сохранить эту конфигурацию в ConfigMap .И, например, в чем-то для MySql опция будет max_connections .

0 голосов
/ 04 октября 2018

Я могу ответить на случай 1, так как я сделал это сам.

Использовать развертывания с readinessProbes & livelinessProbes

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...