使用存储访问密钥创建 Velero 存储位置时遇到问题
Trouble creating Velero storage location with storage access key
我正在尝试使用 Velero 备份 AKS 集群,但出于某种原因我无法在 velero 中设置备份位置。
我收到以下错误
我可以确认我拥有的 credentials-velero 文件获得了正确的存储访问密钥,并且秘密(cloud-credentials)也反映了它。
有点不知所措,为什么会抛出这个错误。以前从未使用过 Velero。
编辑:
所以我使用了以下命令来获取凭证文件:
获取 Azure 存储帐户访问密钥
AZURE_STORAGE_ACCOUNT_ACCESS_KEY=`az storage account keys list --account-name storsmaxdv --query "[?keyName == 'key1'].value" -o tsv`
然后我创建凭证文件
cat << EOF > ./credentials-velero
AZURE_STORAGE_ACCOUNT_ACCESS_KEY=${AZURE_STORAGE_ACCOUNT_ACCESS_KEY}
AZURE_CLOUD_NAME=AzurePublicCloud
EOF
那么我的安装命令是:
./velero install \
--provider azure
--plugins velero/velero-plugin-for-microsoft-azure:v1.3.0 \
--bucket velero \
--secret-file ./credentials-velero \
--backup-location-config resourceGroup=resourcegroupname,storageAccount=storageAccount,storageAccountKeyEnvVar=AZURE_STORAGE_ACCOUNT_ACCESS_KEY[,subscriptionId=numbersandlettersandstuff] \
--use-volume-snapshots=false
我可以验证 Velero 创建了一个名为 cloud-credentials 的秘密,当我使用 base64 解密它时,我能够看到我的 credentials-velero 文件的内容。例如:
AZURE_STORAGE_ACCOUNT_ACCESS_KEY=MYAZURESTORAGEACCOUNTKEY
AZURE_CLOUD_NAME=AzurePublicCloud
不确定您的 cred 文件格式如何以及您使用的命令 运行。
请尝试以下文件并根据需要更新命令。
示例命令:
./velero install --provider azure --plugins velero/velero-plugin-for-microsoft-azure:v1.0.1 --bucket velero-cluster-backups --backup-location-config resourceGroup=STORAGE-ACCOUNT-RESOURCEGROUP,storageAccount=STORAGEACCOUNT --use-volume-snapshots=false --secret-file ./credentials-velero
信誉文件
AZURE_STORAGE_ACCOUNT_ACCESS_KEY=MYAZURESTORAGEACCOUNTKEY
AZURE_CLOUD_NAME=AzurePublicCloud
我建议检查在 K8s 集群中创建的秘密,并检查该秘密和数据的格式。
在此处参考更多内容:https://github.com/vmware-tanzu/velero/issues/2272
检查这个插件:https://github.com/vmware-tanzu/velero-plugin-for-microsoft-azure
1:在 Azure 广告中为 velero 创建服务主体
您可以创建以下格式的凭证文件
AZURE_CLOUD_NAME=AzurePublicCloud
AZURE_SUBSCRIPTION_ID=*************
AZURE_TENANT_ID=**************
AZURE_CLIENT_ID=********
AZURE_CLIENT_SECRET=**********
AZURE_RESOURCE_GROUP=(name of your cluster resorce group where your pvc reside)
原来是安装命令中的括号导致了问题
--backup-location-config resourceGroup=resourcegroupname,storageAccount=storageAccount,storageAccountKeyEnvVar=AZURE_STORAGE_ACCOUNT_ACCESS_KEY[,subscriptionId=numbersandlettersandstuff] \
删除了括号:
--backup-location-config resourceGroup=resourcegroupname,storageAccount=storageAccount,storageAccountKeyEnvVar=AZURE_STORAGE_ACCOUNT_ACCESS_KEY,subscriptionId=numbersandlettersandstuff \
现在可以使用了
我正在尝试使用 Velero 备份 AKS 集群,但出于某种原因我无法在 velero 中设置备份位置。
我收到以下错误
我可以确认我拥有的 credentials-velero 文件获得了正确的存储访问密钥,并且秘密(cloud-credentials)也反映了它。
有点不知所措,为什么会抛出这个错误。以前从未使用过 Velero。
编辑:
所以我使用了以下命令来获取凭证文件:
获取 Azure 存储帐户访问密钥
AZURE_STORAGE_ACCOUNT_ACCESS_KEY=`az storage account keys list --account-name storsmaxdv --query "[?keyName == 'key1'].value" -o tsv`
然后我创建凭证文件
cat << EOF > ./credentials-velero
AZURE_STORAGE_ACCOUNT_ACCESS_KEY=${AZURE_STORAGE_ACCOUNT_ACCESS_KEY}
AZURE_CLOUD_NAME=AzurePublicCloud
EOF
那么我的安装命令是:
./velero install \
--provider azure
--plugins velero/velero-plugin-for-microsoft-azure:v1.3.0 \
--bucket velero \
--secret-file ./credentials-velero \
--backup-location-config resourceGroup=resourcegroupname,storageAccount=storageAccount,storageAccountKeyEnvVar=AZURE_STORAGE_ACCOUNT_ACCESS_KEY[,subscriptionId=numbersandlettersandstuff] \
--use-volume-snapshots=false
我可以验证 Velero 创建了一个名为 cloud-credentials 的秘密,当我使用 base64 解密它时,我能够看到我的 credentials-velero 文件的内容。例如:
AZURE_STORAGE_ACCOUNT_ACCESS_KEY=MYAZURESTORAGEACCOUNTKEY
AZURE_CLOUD_NAME=AzurePublicCloud
不确定您的 cred 文件格式如何以及您使用的命令 运行。
请尝试以下文件并根据需要更新命令。
示例命令:
./velero install --provider azure --plugins velero/velero-plugin-for-microsoft-azure:v1.0.1 --bucket velero-cluster-backups --backup-location-config resourceGroup=STORAGE-ACCOUNT-RESOURCEGROUP,storageAccount=STORAGEACCOUNT --use-volume-snapshots=false --secret-file ./credentials-velero
信誉文件
AZURE_STORAGE_ACCOUNT_ACCESS_KEY=MYAZURESTORAGEACCOUNTKEY
AZURE_CLOUD_NAME=AzurePublicCloud
我建议检查在 K8s 集群中创建的秘密,并检查该秘密和数据的格式。
在此处参考更多内容:https://github.com/vmware-tanzu/velero/issues/2272
检查这个插件:https://github.com/vmware-tanzu/velero-plugin-for-microsoft-azure
1:在 Azure 广告中为 velero 创建服务主体
您可以创建以下格式的凭证文件
AZURE_CLOUD_NAME=AzurePublicCloud
AZURE_SUBSCRIPTION_ID=*************
AZURE_TENANT_ID=**************
AZURE_CLIENT_ID=********
AZURE_CLIENT_SECRET=**********
AZURE_RESOURCE_GROUP=(name of your cluster resorce group where your pvc reside)
原来是安装命令中的括号导致了问题
--backup-location-config resourceGroup=resourcegroupname,storageAccount=storageAccount,storageAccountKeyEnvVar=AZURE_STORAGE_ACCOUNT_ACCESS_KEY[,subscriptionId=numbersandlettersandstuff] \
删除了括号:
--backup-location-config resourceGroup=resourcegroupname,storageAccount=storageAccount,storageAccountKeyEnvVar=AZURE_STORAGE_ACCOUNT_ACCESS_KEY,subscriptionId=numbersandlettersandstuff \
现在可以使用了