Есть ли какой-либо способ остановить кластеры GKE в определенное время и перезапустить в определенное время с помощью облачной функции

#python #python-3.x #python-2.7 #google-cloud-platform

# #python #python-3.x #python-2.7 #google-cloud-platform

Вопрос:

Есть ли какой-либо способ остановить кластеры GKE GCP и MySQL DB в определенное время и запустить в определенное время с помощью облачной функции (с помощью скрипта Python)

Комментарии:

1. Что вы подразумеваете под «остановкой» кластера? А MySQL DB — это управляемая облачная служба SQL или что-то еще?

2. Чтобы сэкономить, я хочу приостановить работу своего кластера QA Kubernetes (сделать пул узлов равным 0) и базы данных MySQL в определенное время автоматически (в 9:30 вечера по восточному времени он должен быть приостановлен, а в 9:30 утра по восточному времени он должен быть запущен автоматически).

Ответ №1:

Вы можете использовать два сценария в двух заданиях cron облачного планировщика или другой виртуальной машине / хосте с crontab, которые используются gcloud для переключения пула узлов между 0 и исходным количеством узлов и остановки / запуска экземпляра Cloud SQL с обновлением пулов узлов контейнера и исправлением экземпляров sql соответственно:

Остановить задание (запуск в 9:30 вечера):

 gcloud container node-pools update NODE_POOL_NAME --cluster=CLUSTER_NAME --zone=CLUSTER_ZONE_OR_REGION --min-nodes=0 --max-nodes=0
gcloud sql instances patch CLOUD_SQL_INSTANCE_NAME --zone=CLOUD_SQL_INSTANCE_ZONE --activation-policy=NEVER 
 

Запуск задания (запуск в 9:30 утра):

 gcloud container node-pools update NODE_POOL_NAME --cluster=CLUSTER_NAME --zone=CLUSTER_ZONE_OR_REGION --min-nodes=NODE_POOL_NODES --max-nodes=NODE_POOL_NODES
gcloud sql instances patch CLOUD_SQL_INSTANCE_NAME --zone=CLOUD_SQL_INSTANCE_ZONE --activation-policy=ALWAYS