【发布时间】:2021-10-07 21:37:36
【问题描述】:
我正在尝试为多个 AWS 区域中的多个集群设置 velero,尽管我使用 Github Actions 并在两个不同的虚拟机中运行备份,us-east-1 的 EKS 集群正在毫无问题地进行备份,但不是集群在ap-southeast-2。
下面是我使用的 velero 安装命令,它的安装没有任何问题,但是 ap-southeast-2 集群的备份失败,并且在 pod 日志中出现错误。
velero install \
--provider aws \
--plugins velero/velero-plugin-for-aws:v1.0.1 \
--no-secret \
--bucket $VELERO_BUCKET \
--backup-location-config region=$AWS_REGION \
--snapshot-location-config region=$AWS_REGION
日志:
time="2021-08-02T13:57:30Z" level=info msg="Checking existence of namespace" logSource="pkg/cmd/server/server.go:337" namespace=velero
time="2021-08-02T13:57:30Z" level=info msg="Namespace exists" logSource="pkg/cmd/server/server.go:343" namespace=velero
time="2021-08-02T13:57:33Z" level=info msg="Checking existence of Velero custom resource definitions" logSource="pkg/cmd/server/server.go:372"
time="2021-08-02T13:57:37Z" level=info msg="All Velero custom resource definitions exist" logSource="pkg/cmd/server/server.go:406"
time="2021-08-02T13:57:37Z" level=info msg="Checking that all backup storage locations are valid" logSource="pkg/cmd/server/server.go:413"
An error occurred: some backup storage locations are invalid: backup store for location "default" is invalid: rpc error: code = Unknown desc = AccessDenied: Access Denied
status code: 403, request id: 1HE7G5DSTZ52KTZW, host id: z65l7EaF66KuZmIxYwWiysO2FaSU4udT39HmajfMii0wXxx6V4I3IoQ7RFwGQSPQAJBqCHcTPME=
注意:我有两个存储桶,一个在 us-east-1 中用于该地区的集群,一个在 ap-southeast-1 中用于悉尼地区的集群,两者都是公共的。
【问题讨论】:
-
请不要使用公共存储桶进行备份
-
因此通过创建
creds.json并在安装velero时引用该文件来修复它。 no-secrets 适用于us-east-1,但不适用于其他地区。
标签: amazon-web-services kubernetes github-actions velero