Preparing the Azure Kubernetes Service cluster to back up the server data
When you want to back up the server data, you must prepare your Azure Kubernetes Service (AKS) cluster to store the backed-up data.
Before you begin
You must have completed the following tasks:
-
Created an Azure subscription along with an Owner or Contributor and User-Access Administrator role on the Azure subscription.
You can create a subscription from Microsoft Azure if you do not have a valid subscription.
-
Downloaded the Velero 1.5.3 plugin for Microsoft Azure from the Velero repository.
CAUTION: The instructions provided in this procedure are an example of how an AKS cluster can be configured to use Velero 1.5.3 Microsoft Azure plugin for backing up and restoring the HCL OneTest™ Server data. The procedures to backup and restore the server data might be not valid in all the scenarios. -
Copied the Velero executable file into one of the directories in the PATH environment variable.
-
Installed Azure Command-Line Interface (CLI). For more information, refer to the Azure CLI documentation.
About this task
Velero is one of the tools that is available to back up and restore the server data. You must prepare your AKS cluster where you installed HCL OneTest™ Server before you back up the data by using Velero.
Procedure
-
Run the following command to log in to AKS interactively:
az login
The command-line interface opens a browser and displays the Log-in page of AKS. - Sign in with your AKS account credentials.
-
Run the following command to set your active subscription:
az account set --subscription <subscription_name>
You must replace
<subscription_name>
with the name of your active Azure subscription. -
Run the following command to set the location of your AKS
cluster:
az configure --defaults location=<location_name>
For example, az configure --defaults location=eastus2
Tip: You can run the following command to get the list of all the available locations:az account list-locations --query "[].{DisplayName:displayName, Name:name}" -o table
-
Run the following commands to create a storage account within the AKS cluster
for the Velero to store the backup files:
AZURE_BACKUP_SUBSCRIPTION_NAME=<subscription_name> AZURE_BACKUP_SUBSCRIPTION_ID=$(az account list --query="[?name=='$AZURE_BACKUP_SUBSCRIPTION_NAME'].id | [0]" -o tsv) AZURE_BACKUP_RESOURCE_GROUP=Velero_Backups az group create -n $AZURE_BACKUP_RESOURCE_GROUP --location <location_name> AZURE_STORAGE_ACCOUNT_ID="velero$(date -u +%s)" az storage account create \ --name $AZURE_STORAGE_ACCOUNT_ID \ --resource-group $AZURE_BACKUP_RESOURCE_GROUP \ --sku Standard_GRS \ --encryption-services blob \ --https-only true \ --kind BlobStorage \ --access-tier Hot
Note: You must replace<subscription_name>
and<location_name>
with the name of your active Azure subscription and location of the AKS cluster. -
Run the following command to create a container within the storage account to
store the backup files:
AZURE_BLOB_CONTAINER=velero az storage container create -n $AZURE_BLOB_CONTAINER --public-access off --account-name $AZURE_STORAGE_ACCOUNT_ID
-
Run the following commands to obtain a key of Azure storage account and to
create a file that contains all the relevant environment variables:
AZURE_STORAGE_ACCOUNT_ACCESS_KEY=$(az storage account keys list \ --account-name $AZURE_STORAGE_ACCOUNT_ID \ --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
Note: There are several ways Velero can authenticate to Azure. This procedure is based on using a storage account access key. The available values forAZURE_CLOUD_NAME
in the Storage account access key method are AzurePublicCloud, AzureUSGovernmentCloud, AzureChinaCloud, and AzureGermanCloud. -
Run the following command to install Velero with the restic option by using the
Azure storage account key:
velero install \ --provider azure \ --plugins velero/velero-plugin-for-microsoft-azure:v1.1.0 \ --bucket $AZURE_BLOB_CONTAINER \ --secret-file ./credentials-velero \ --backup-location-config resourceGroup=$AZURE_BACKUP_RESOURCE_GROUP,storageAccount=$AZURE_STORAGE_ACCOUNT_ID,storageAccountKeyEnvVar=AZURE_STORAGE_ACCOUNT_ACCESS_KEY,subscriptionId=$AZURE_BACKUP_SUBSCRIPTION_ID \ --use-volume-snapshots=false \ --use-restic