【问题标题】:Velero installation in kubernetes server using azure provider使用 azure 提供程序在 kubernetes 服务器中安装 Velero
【发布时间】:2020-06-03 11:41:44
【问题描述】:

在 Kubernetes 上使用 helm 图表安装 Velero 时,如下所示

helm install --namespace velero \
--set configuration.provider="Microsoft Azure" \
--set-file credentials.secretContents.cloud=<FULL PATH TO FILE> \
--set configuration.backupStorageLocation.name=azure \
--set configuration.backupStorageLocation.bucket=<BUCKET NAME> \
--set configuration.volumeSnapshotLocation.name=<PROVIDER NAME> \
--set configuration.volumeSnapshotLocation.config.region=<REGION> \
--set image.repository=velero/velero \
--set image.tag=v1.2.0 \
--set image.pullPolicy=IfNotPresent \
--set initContainers[0].name=velero-plugin-for-microsoft-azure:v1.0.0 \
--set initContainers[0].image=velero/velero-plugin-for-microsoft-azure:v1.0.0 \
--set initContainers[0].volumeMounts[0].mountPath=/target \
--set initContainers[0].volumeMounts[0].name=plugins \
stable/velero

我已经在 credential-velero 文件中配置了以下环境变量,并且在上面的命令中已经提供了路径。

凭证-velero 文件 -

AZURE_SUBSCRIPTION_ID=${AZURE_SUBSCRIPTION_ID}
AZURE_TENANT_ID=${AZURE_TENANT_ID}
AZURE_CLIENT_ID=${AZURE_CLIENT_ID}
AZURE_CLIENT_SECRET=${AZURE_CLIENT_SECRET}
AZURE_RESOURCE_GROUP=${AZURE_RESOURCE_GROUP}
AZURE_CLOUD_NAME=AzurePublicCloud

我遇到了错误 -

an error occurred: some backup storage locations are invalid: error getting backup store for location "default": rpc error: code = Unknown desc = unable to get all required environment variables: the following keys do not have values: AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, AZURE_SUBSCRIPTION_ID

您能帮忙解决上述错误吗?

【问题讨论】:

  • 提供者参数的值不正确。它必须是插件的名称,在本例中为--provider azure
  • 另外,错误是提到backup store for location "default",但是你已经配置了backupStorageLocation.name=azure。我建议您将 BSL 命名/重命名为 default。发生这种情况是因为在此版本中,Velero 自动将“默认”BSL 的名称设置为 default,当您没有具有该名称的 BSL 时,您会收到一些错误。

标签: azure kubernetes backup velero


【解决方案1】:

您的 velero 凭证文件应该包含这些值,而不是占位符。

cat << EOF  > ./credentials-velero
AZURE_SUBSCRIPTION_ID=${AZURE_SUBSCRIPTION_ID}
AZURE_TENANT_ID=${AZURE_TENANT_ID}
AZURE_CLIENT_ID=${AZURE_CLIENT_ID}
AZURE_CLIENT_SECRET=${AZURE_CLIENT_SECRET}
AZURE_RESOURCE_GROUP=${AZURE_RESOURCE_GROUP}
AZURE_CLOUD_NAME=AzurePublicCloud
EOF

https://github.com/vmware-tanzu/velero-plugin-for-microsoft-azure#setup

【讨论】:

  • 是的。我在文件中提到了实际值。
  • 你没有。您提到了文件的内容,并将令牌粘贴到那里。你能确认一下密码\ids在那里吗?
  • 我什至尝试过文件的内容如下(我已经用*替换了真实数据)AZURE_SUBSCRIPTION_ID=********-****-**** -****-************ AZURE_TENANT_ID=********-****-****-****-****** ****** AZURE_CLIENT_ID=********-****-****-****-************ AZURE_CLIENT_SECRET=**** ****************************** AZURE_RESOURCE_GROUP=******************** ** AZURE_CLOUD_NAME=AzurePublicCloud
  • 我遇到了类似的问题 velero install --provider azure --plugins velero/velero-plugin-for-microsoft-azure:v1.0.1 --bucket velero-cluster-backups -- secret-file .\credentials-velero --backup-location-config resourceGroup=MyResourceGroup,storageAccount=MyAzureStorageAccount--use-volume-snapshots=false “某些备份存储位置无效:获取位置“azure”的备份存储时出错:rpc错误:code = Unknown desc = 从 AZURE_CREDENTIALS_FILE (/credentials/cloud) 加载环境时出错:无法将键与值分开”
  • @user2425909,也许你的文件有一个奇怪的编码。不妨试试 UTF-8。
【解决方案2】:

这样用

AZURE_SUBSCRIPTION_ID=XXXX-XXXXX-XXXXXXX-XXXXXXX
AZURE_TENANT_ID=XXXX-XXXXX-XXXXXXX-XXXXXXX
AZURE_CLIENT_ID=XXXX-XXXXX-XXXXXXX-XXXXXXX
AZURE_CLIENT_SECRET=XXXXXXXXXXXXXXXXXX
AZURE_RESOURCE_GROUP=MC_RESOURCE_GROUP_NAME_OF_AKS # this should be the MC resource group
AZURE_CLOUD_NAME=AzurePublicCloud

也可以尝试使用主图像

--set initContainers[0].image=velero/velero-plugin-for-microsoft-azure:master

使用这种格式

helm install velero vmware-tanzu/velero --namespace velero \
--set-file credentials.secretContents.cloud=./credentials-velero \
--set configuration.provider=azure \
--set configuration.backupStorageLocation.name=azure \
--set configuration.backupStorageLocation.bucket='velero' \
--set configuration.backupStorageLocation.config.resourceGroup=RESOURCE_GROUP_OF_STORAGEACCOUNT \
--set configuration.backupStorageLocation.config.storageAccount=STORAGE_ACCOUNT_NAME \
--set snapshotsEnabled=true \
--set deployRestic=true \
--set image.repository=velero/velero \
--set image.pullPolicy=Always \
--set initContainers[0].name=velero-plugin-for-microsoft-azure \
--set initContainers[0].image=velero/velero-plugin-for-microsoft-azure:master \
--set initContainers[0].volumeMounts[0].mountPath=/target \
--set initContainers[0].volumeMounts[0].name=plugins

【讨论】:

  • 注意:master 已弃用。使用mainlatest
猜你喜欢
  • 2018-10-22
  • 2021-01-27
  • 2020-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-04
  • 2012-08-14
  • 1970-01-01
相关资源
最近更新 更多