azure - heptio velero 无法备份 azure AKS 中的持久卷
问题描述
我正在使用
- AKS - k8s 版本 1.12.5
- Velero 版本:- v0.11.0 -链接
中引用的文档
在服务器上安装 velero
- 安装 prereq 即 00-prereqs.yaml 它安装 velero 命名空间、velero 服务帐户 rbac 规则等。
- 在其中创建了 azure 存储帐户和容器。(我使用 terraform 创建存储帐户,同时使用 AZ CLI 创建存储容器)。这一切都基于他们可用的文档。
创造了秘密。
kubectl create secret generic cloud-credentials --namespace velero --from-literal AZURE_SUBSCRIPTION_ID="" --from-literal AZURE_TENANT_ID="" --from-literal AZURE_CLIENT_ID="" --from-literal AZURE_CLIENT_SECRET="" --from -literal AZURE_RESOURCE_GROUP="name-of-resource-group-where-my-vm etc created 通常以 MC_ in azure"
应用了剩余的k8s 资源
也为其他备份创建了类似的结构。
在检查 pod 日志时,观察到以下信息
time="2019-03-22T14:38:02Z" level=info msg="执行 takePVSnapshot " 备份=velero/d042203191536 group=v1 groupResource=pods logSource="pkg/backup/item_backupper.go:378" name=pvc- 6dd56a3d-4c90-11e9-bc92-1297bc38e414 namespace=default time="2019-03-22T14:38:02Z" level=info msg="label \" failure-domain.beta.kubernetes.io/zone\" 不存在在持久卷上”
再次
level=error msg="获取卷快照的块存储时出错
time="2019-03-22T14:38:02Z" level=info msg=" PersistentVolume 不是快照支持的卷类型,正在跳过。" 备份=velero/d042203191536 group=v1 groupResource=pods logSource="pkg/backup/item_backupper.go:436"
以及以下错误
level=error msg="backup failed" controller=backup error="[clusterroles.rbac.authorization.k8s.io \"system:auth-delegator\" not found, clusterroles.rbac.authorization.k8s.io \"system: auth-delegator\" 未找到]" key=velero/d042203191618 logSource="pkg/controller/backup_controller.go:202"
我在多个时间间隔执行备份后观察到的所有这些日志
不确定我是否遗漏了任何东西。解决这些问题的任何指针都非常有帮助。
解决方案
这些是当前支持的 Volume提供程序
| [Azure Managed Disks][3] | Ark Team | [Slack][10], [GitHub Issue][11] |
| [Google Compute Engine Disks][4] | Ark Team | [Slack][10], [GitHub Issue][11] |
| [Restic][1] | Ark Team | [Slack][10], [GitHub Issue][11] |
| [Portworx][6] | PortWorx | |
| [DigitalOcean][7] | StackPointCloud | |
确保您的音量类型与 velero 插件兼容
推荐阅读
- spring-boot - 非 bean 属性抛出 Bean 属性不可读或具有无效的 getter 方法
- entity-framework - 处理具有通用类约束的多个 EF Core 存储库的依赖注入
- vb.net - keydown 时如何检测我的datagridview?
- java - Fongo - Fake Mongo:无法从位置加载数据集以使用 fongo 对 mongrepository 进行单元测试
- bash - 如何检查两个设备是否安装在 macOS 中?
- assembly - 什么时候在汇编语言中使用扩展移动指令
- sql - SELECT where not in other table with COLLATE
- php - 为什么我有这个卷曲的问题?
- docker - 如何创建 docker 映像的临时实例并在 Azure Pipeline 中的实例上执行命令?
- python - 如何在不根据距离缩放的情况下创建从字符到目标的单位向量?