在kubernetes上安装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
我已经在凭据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
你能帮助解决上述错误吗?
您的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
使用这种方式
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