Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом кратком руководстве описывается настройка защищённого резервного копирования для кластера Azure Kubernetes Services (AKS) с помощью Azure CLI.
Azure Backup для AKS — это облачная, корпоративная, ориентированная на приложение служба резервного копирования, которая позволяет быстро настроить резервное копирование для кластеров AKS.
Перед началом работы
Перед настройкой хранилища резервного копирования для кластера AKS убедитесь, что выполнены следующие предварительные требования:
- Выполните все пререквизиты перед началом операции резервного копирования AKS.
Создать резервное хранилище
Чтобы создать хранилище резервных копий, выполните следующую команду:
az dataprotection backup-vault create --resource-group $backupvaultresourcegroup --vault-name $backupvault --location $region --type SystemAssigned --storage-settings datastore-type="VaultStore" type="GeoRedundant"
Только что созданное хранилище имеет параметры хранилища, заданные как глобально избыточные, поэтому резервные копии, хранящиеся на уровне хранилища, будут доступны в парном регионе Azure. После завершения создания хранилища данных создайте политику резервного копирования и восстановления для защиты кластеров AKS.
создание политики архивации;
Получите шаблон политики с помощью команды az dataprotection backup-policy get-default-policy-template.
az dataprotection backup-policy get-default-policy-template --datasource-type AzureKubernetesService > akspolicy.json
Мы обновляем шаблон по умолчанию для политики резервного копирования и добавляем правило хранения, чтобы сохранить первую успешную резервную копию в день на уровне хранилища в течение 30 дней.
az dataprotection backup-policy retention-rule create-lifecycle --count 30 --retention-duration-type Days --copy-option ImmediateCopyOption --target-datastore VaultStore --source-datastore OperationalStore > ./retentionrule.json
az dataprotection backup-policy retention-rule set --lifecycles ./retentionrule.json --name Daily --policy ./akspolicy.json > ./akspolicy.json
После того как json политики содержит все необходимые значения, перейдите к созданию новой политики из объекта политики.
az dataprotection backup-policy create -g testBkpVaultRG --vault-name TestBkpVault -n mypolicy --policy akspolicy.json
Подготовка кластера AKS к резервному копированию
После завершения создания хранилища и политики необходимо выполнить следующие предварительные требования для подготовки кластера AKS к резервному копированию:
Создайте учетную запись хранения и контейнер BLOB.
Резервное копирование для AKS сохраняет ресурсы Kubernetes в BLOB-контейнере в качестве резервных копий. Чтобы подготовить кластер AKS к резервному копированию, необходимо установить расширение в кластере. Для этого расширения требуется учетная запись хранения и контейнер блобов в качестве входных данных.
Чтобы создать новую учетную запись хранения, выполните следующую команду:
az storage account create --name $storageaccount --resource-group $storageaccountresourcegroup --location $region --sku Standard_LRSПосле завершения создания учетной записи хранения создайте контейнер объектов BLOB внутри, выполнив следующую команду:
az storage container create --name $blobcontainer --account-name $storageaccount --auth-mode loginУстановите расширение резервного копирования.
Расширение резервного копирования является обязательным для установки в кластере AKS для выполнения любых операций резервного копирования и восстановления. Расширение резервного копирования создает пространство имен
dataprotection-microsoftв кластере и использует это пространство для развертывания своих ресурсов. Для установки расширения требуется учетная запись для хранения и контейнер BLOB.az k8s-extension create --name azure-aks-backup --extension-type microsoft.dataprotection.kubernetes --scope cluster --cluster-type managedClusters --cluster-name $akscluster --resource-group $aksclusterresourcegroup --release-train stable --configuration-settings blobContainer=$blobcontainer storageAccount=$storageaccount storageAccountResourceGroup=$storageaccountresourcegroup storageAccountSubscriptionId=$subscriptionIdВ процессе установки расширения в группе ресурсов пула узлов кластера AKS создается идентификатор пользователя. Для того чтобы расширение имело доступ к учетной записи хранения, вы должны предоставить этому удостоверению роль участника данных BLOB-объектов хранилища. Чтобы назначить требуемую роль, выполните следующую команду:
az role assignment create --assignee-object-id $(az k8s-extension show --name azure-aks-backup --cluster-name $akscluster --resource-group $aksclusterresourcegroup --cluster-type managedClusters --query aksAssignedIdentity.principalId --output tsv) --role 'Storage Blob Data Contributor' --scope /subscriptions/$subscriptionId/resourceGroups/$storageaccountresourcegroup/providers/Microsoft.Storage/storageAccounts/$storageaccountВключение доверенного доступа
Чтобы хранилище резервных копий было подключено к кластеру AKS, необходимо включить доверенный доступ , так как это позволяет хранилищу резервного копирования иметь прямую линию зрения к кластеру AKS.
Чтобы включить доверенный доступ, выполните следующую команду:
az aks trustedaccess rolebinding create --cluster-name $akscluster --name backuprolebinding --resource-group $aksclusterresourcegroup --roles Microsoft.DataProtection/backupVaults/backup-operator --source-resource-id /subscriptions/$subscriptionId/resourceGroups/$backupvaultresourcegroup/providers/Microsoft.DataProtection/BackupVaults/$backupvault
Настройка архивных резервных копий для кластера AKS
Создав хранилище резервных копий и политику резервного копирования, и убедившись, что кластер AKS находится в состоянии готовности к резервному копированию, вы можете теперь приступить к резервному копированию кластера AKS.
Подготовка запроса
Настройка резервного копирования выполняется двумя шагами.
Подготовьте конфигурацию резервного копирования, чтобы определить, какие ресурсы кластера необходимо создать резервную копию с помощью
az dataprotection backup-instance initialize-backupconfigкоманды. Команда создает JSON, который можно обновить, чтобы определить конфигурацию резервного копирования для кластера AKS по мере необходимости.az dataprotection backup-instance initialize-backupconfig --datasource-type AzureKubernetesService > aksbackupconfig.jsonПодготовьте соответствующий запрос при помощи соответствующего хранилища, политики, кластера AKS, конфигурации резервного копирования и группы ресурсов моментальных снимков, используя команду
az dataprotection backup-instance initialize.az dataprotection backup-instance initialize --datasource-id /subscriptions/$subscriptionId/resourceGroups/$aksclusterresourcegroup/providers/Microsoft.ContainerService/managedClusters/$akscluster --datasource-location $region --datasource-type AzureKubernetesService --policy-id /subscriptions/$subscriptionId/resourceGroups/$backupvaultresourcegroup/providers/Microsoft.DataProtection/backupVaults/$backupvault/backupPolicies/$backuppolicy --backup-configuration ./aksbackupconfig.json --friendly-name ecommercebackup --snapshot-resource-group-name $snapshotresourcegroup > backupinstance.json
Теперь используйте выходные данные JSON этой команды для настройки резервного копирования для кластера AKS.
Назначение необходимых разрешений и проверка
При подготовке запроса сначала необходимо проверить, назначены ли необходимые роли ресурсам, задействованным в этом процессе, с помощью выполнения следующей команды:
az dataprotection backup-instance validate-for-backup --backup-instance ./backupinstance.json --ids /subscriptions/$subscriptionId/resourceGroups/$backupvaultresourcegroup/providers/Microsoft.DataProtection/backupVaults/$backupvault
Если проверка завершается ошибкой и отсутствуют определенные разрешения, их можно назначить, выполнив следующую команду:
az dataprotection backup-instance update-msi-permissions command.
az dataprotection backup-instance update-msi-permissions --datasource-type AzureKubernetesService --operation Backup --permissions-scope ResourceGroup --vault-name $backupvault --resource-group $backupvaultresourcegroup --backup-instance backupinstance.json
После назначения разрешений повторите проверку с помощью предыдущей проверки для команды резервного копирования, а затем перейдите к настройке резервного копирования :
az dataprotection backup-instance create --backup-instance backupinstance.json --resource-group $backupvaultresourcegroup --vault-name $backupvault