Обновить виртуальную машину для cassandra на GCP

Я перемещаю свое приложение MVP в GCP. Это обычное веб-приложение со стандартной рабочей нагрузкой базы данных (CRUD). Я использую cassandra и play, у каждого свой образ докера. Я не ожидаю большого трафика для начала, поэтому хотел бы начать с небольших виртуальных машин, чтобы снизить затраты. Я также использую оператор kubernetes для Cassandra - https://github.com/datastax/cass-operator

Можно ли будет позже изменить конфигурацию машины (процессоры, размер диска) для Cassandra, когда увеличится трафик? Придется ли мне полностью останавливать приложение при обновлении или я смогу выполнить последовательное обновление?

Любые советы о том, как подойти к обновлению позже, будут высоко оценены.

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

Serhii Rohoza 17.12.2020 15:19

Я буду использовать GKE для этого.

Manu Chadha 17.12.2020 15:21

Я отправил ответ с подробностями для GKE

Serhii Rohoza 17.12.2020 16:08
Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
1
3
74
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Да, при использовании кластера GKE можно изменить конфигурацию машины позже без простоев.

Ознакомьтесь с документацией Перенос рабочих нагрузок на разные типы машин:

Пул узлов — это подмножество машин, имеющих одинаковые конфигурация, включая авторизацию типа машины (процессор и память) масштабы. Пулы узлов представляют собой подмножество узлов в кластере; а кластер контейнеров может содержать один или несколько пулов узлов.

Когда вам нужно изменить профиль машины вашего Compute Engine кластер, вы можете создать новый пул узлов, а затем перенести рабочие нагрузки в новый пул узлов.

и

Чтобы перенести рабочие нагрузки без простоев, вам необходимо:

  • Отметьте существующий пул узлов как незапланированный.
  • Сбросьте рабочие нагрузки, выполняемые в существующем пуле узлов.
  • Удалите существующий пул узлов.

Kubernetes — система оркестровки кластеров GKE. автоматически переназначает выселенные поды в новый пул узлов по мере истощает существующий пул узлов.

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

Подробная пошаговая инструкция с командами и примерами доступна в документации. Чтобы отключить автомасштабирование кластера, вы можете следовать документации Отключение автомасштабирования для существующего пула узлов:

gcloud container clusters update cluster-name --no-enable-autoscaling \
    --node-pool pool-name [--zone compute-zone --project project-id]

Другие вопросы по теме