在 GKE 上安排磁盘快照

在 GKE 上安排磁盘快照

我想安排此命令行在 Google Container Engine 上每 12 小时运行一次:

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。

此命令行需要访问 gcloud API 才能成功。我该如何实现这一点?

(我不能使用gcloud cron因为它仅是 HTTP 调用,并且Kubernetes cron jobs 处于 alpha 阶段,另外我也不知道如何验证)

答案1

我们的解决方案建立在一个名为k8s-快照。此工具需要使用 PersistentVolumes,但使用注释会定期执行快照。它还可以管理保留。我们对它的扩展如果这对您有用,则通过 slack 通知。它作为我们的 k8s 集群内的单独服务运行,并使用集群正在运行的 GCE 主机上的本机身份验证。

答案2

另一个选择是快照控制器。它与 k8s-snapshots 类似,但功能较少。我无法让 k8s-snapshots 工作,原因是这个错误

答案3

请看这里:https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver (k8s 1.13 上的测试版)它支持快照和恢复为 k8s 资源。

答案4

看一眼https://github.com/backube/snapscheduler. 它允许为 GKE 集群中的 PVC 创建 VolumeSnapshots

相关内容