1

我有一个安装了 Velero 的 Azure Kubernetes 集群。根据说明的选项 1,为 Velero 创建了一个服务主体。

Velero 工作正常,直到服务主体的凭据被重置。现在计划的备份失败了。

NAME                                    STATUS      ERRORS   WARNINGS   CREATED                         EXPIRES   STORAGE LOCATION   SELECTOR
daily-entire-cluster-20210727030055     Failed      0        0          2021-07-26 23:00:55 -0000       13d       default            <none>

如何更新 Velero 的秘密?

4

1 回答 1

2

1.更新凭证文件

首先,更新您的凭证文件(对于大多数提供商,这是credentials-velero插件安装说明中描述的内容:AWSAzureGCP

2.更新秘籍

现在更新 velero 秘密。在 Linux 上:

kubectl patch -n velero secret cloud-credentials -p '{"data": {"cloud": "'$(base64 -w 0 credentials-velero)'"}}'
  • patch告诉kubectl通过合并提供的数据来更新资源
  • -n velero告诉kubectl使用velero命名空间
  • secret是资源类型
  • cloud-credentials是 Velero 用于存储凭据的密钥的名称
  • -p 指定下一个单词是补丁数据。使用 JSON 而不是 YAML 进行修补更为常见
  • '{"data": {"cloud": "<your-base64-encoded-secret-will-go-here>"}}'这是与 Kubernetes 中 Velero 密钥的现有结构相匹配的 JSON 数据。<your-base64-encoded-secret-will-go-here>是我们将插入的命令的占位符。
  • $(base64 -w 0 credentials-velero)读取credentials-velero当前目录中的文件,关闭输出的自动换行 ( -w 0),对文件内容进行 BASE64 编码,并将结果插入数据中。
于 2021-08-01T22:29:01.280 回答