Назад | Перейти на главную страницу

Запланировать моментальный снимок диска на GKE

Я хотел бы запланировать запуск этой командной строки каждые 12 часов в Google Container Engine:

gcloud compute --project "qvitoo-com" disks snapshot \
  "SPECIFIC_INSTANCE_ID" --zone "europe-west1-c" --snapshot-names \
  "DB-staging-$(date -u +"%Y-%m-%dT%H-%M-%SZ")"

Мы используем размещенный Kubernetes.

Для успешной работы этой командной строке требуется доступ к API gcloud. Как мне этого добиться?

(Я не могу использовать gcloud cron потому что это только HTTP-вызовы, и Kubernetes cron - задачи в альфа-версии, плюс я не знаю, как пройти аутентификацию)

Наше решение построено на инструменте с открытым исходным кодом, который называется k8s-снимки. Этот сбор требует использования PersistentVolumes, но с аннотациями выполняет моментальный снимок с определенным интервалом. Он также управляет удержанием. Наше продолжение к нему уведомляет через Slack, если это полезно для вас. Он работает как отдельная служба внутри нашего кластера k8s и использует аутентификацию, встроенную в хост GCE, на котором работает кластер.

Другой вариант - снимок-контроллер. Он похож на k8s-snapshots, но имеет меньше интересных функций. Я не мог заставить работать k8s-снапшоты из-за эта ошибка.

Взгляните сюда: https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver (бета на k8s 1.13) Он поддерживает снимок и восстановление как ресурс k8s.