Устранение неполадок Служба Azure Kubernetes резервного копирования и восстановления

В этой статье приведены действия по устранению неполадок, которые помогут устранить ошибки резервного копирования, восстановления и управления Служба Azure Kubernetes (AKS).

Устранение ошибок установки расширения резервного копирования AKS

Сценарий 1

Сообщение об ошибке

{Helm installation from path [] for release [azure-aks-backup] failed with the following error: err [release azure-aks-backup failed, and has been uninstalled due to atomic being set: failed post-install: timed out waiting for the condition]} occurred while doing the operation: {Installing the extension} on the config"`

Причина: расширение было установлено успешно, но модули pod не вызываются. Это происходит, так как необходимые вычислительные ресурсы и память недоступны для модулей pod.

Решение. Чтобы устранить проблему, увеличьте количество узлов в кластере. Это позволяет обеспечить доступность вычислительных ресурсов и памяти для модулей pod. Чтобы масштабировать пул узлов в портал Azure, выполните следующие действия.

  1. В портал Azure откройте кластер AKS.
  2. Перейдите в пулы узлов в Параметры.
  3. Выберите пул узлов масштабирования, а затем обновите минимальные и максимальные значения в диапазоне счетчиков узлов.
  4. Выберите Применить.

Сценарий 2

Сообщение об ошибке

BackupStorageLocation "default" is unavailable: rpc error: code = Unknown desc = azure.BearerAuthorizer#WithAuthorization: Failed to refresh the Token for request to https://management.azure.com/subscriptions/e30af180-aa96-4d81-981a-b67570b0d615/resourceGroups/AzureBackupRG_westeurope_1/providers/Microsoft.Storage/storageAccounts/devhayyabackup/listKeys?%24expand=kerb&api-version=2019-06-01: StatusCode=404 -- Original Error: adal: Refresh request failed. Status Code = '404'. Response body: no azure identity found for request clientID 4e95##### REDACTED #####0777`

Endpoint http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&client_id=4e95dcc5-a769-4745-b2d9-

Причина. При включении управляемого pod удостоверения в кластере AKS в пространство имен kube-system добавляется azurePodIdentityException с именем aks-addon-exception. AzurePodIdentityException позволяет pod с определенными метками получать доступ к конечной точке службы метаданных экземпляра Azure (IMDS), не перехватывая сервер NMI.

Модули pod расширения не исключаются и требуют, чтобы удостоверение pod Microsoft Entra было включено вручную.

Решение. Создание исключения удостоверений pod в кластере AKS (которое работает только для пространства имен dataprotection-microsoft и не kube-system). Подробнее.

  1. Выполните следующую команду:

    az aks pod-identity exception add --resource-group shracrg --cluster-name shractestcluster --namespace dataprotection-microsoft --pod-labels app.kubernetes.io/name=dataprotection-microsoft-kubernetes
    
  2. Чтобы проверить azurepodidentityexceptions в кластере, выполните следующую команду:

    kubectl get Azurepodidentityexceptions --all-namespaces
    
  3. Чтобы назначить роль участника данных большого двоичного объекта служба хранилища идентификатору расширения, выполните следующую команду:

    az role assignment create --assignee-object-id $(az k8s-extension show --name azure-aks-backup --cluster-name aksclustername --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/storageaccountname
    

Сценарий 3

Сообщение об ошибке

{"Message":"Error in the getting the Configurations: error {Post \https://centralus.dp.kubernetesconfiguration.azure.com/subscriptions/ subscriptionid /resourceGroups/ aksclusterresourcegroup /provider/managedclusters/clusters/ aksclustername /configurations/getPendingConfigs?api-version=2021-11-01\: dial tcp: lookup centralus.dp.kubernetesconfiguration.azure.com on 10.63.136.10:53: no such host}","LogType":"ConfigAgentTrace","LogLevel":"Error","Environment":"prod","Role":"ClusterConfigAgent","Location":"centralus","ArmId":"/subscriptions/ subscriptionid /resourceGroups/ aksclusterresourcegroup /providers/Microsoft.ContainerService/managedclusters/ aksclustername ","CorrelationId":"","AgentName":"ConfigAgent","AgentVersion":"1.8.14","AgentTimestamp":"2023/01/19 20:24:16"}`

Причина. Для использования расширений кластера в кластерах AKS требуются определенные правила полного доменного имени или приложения. Подробнее.

Эта ошибка возникает из-за отсутствия этих правил полного доменного имени из-за того, какие сведения о конфигурации из службы расширений кластера не были доступны.

Решение. Чтобы устранить проблему, необходимо создать настраиваемую переопределение CoreDNS для конечной точки DP для передачи через общедоступную сеть.

  1. Чтобы получить в кластере пользовательский YAML для существующих CoreDNS (сохраните его в локальном каталоге позже), выполните следующую команду:

    kubectl get configmap coredns-custom -n kube-system -o yaml
    
  2. Чтобы переопределить сопоставление конечной точки центральной части США DP на общедоступный IP-адрес (скачайте подключенный файл YAML), выполните следующую команду:

    kubectl apply -f corednsms.yaml
    
  3. Чтобы принудительно перезагрузить coredns модули pod, выполните следующую команду:

    kubectl delete pod --namespace kube-system -l k8s-app=kube-dns
    
  4. Чтобы выполнить выполнение NSlookup из модуля Pod ExtensionAgent, чтобы проверка, если coreDNS-custom работает, выполните следующую команду:

    kubectl exec -i -t pod/extension-agent-<pod guid that's there in your cluster> -n kube-system -- nslookup centralus.dp.kubernetesconfiguration.azure.com
    
  5. Чтобы проверка журналы pod ExtensionAgent, выполните следующую команду:

    kubectl logs pod/extension-agent-<pod guid that’s there in your cluster> -n kube-system --tail=200
    
  6. Удалите и переустановите расширение резервного копирования для запуска резервного копирования.

Ошибки, связанные с установкой расширения резервного копирования

Эти коды ошибок появляются из-за проблем с расширением резервного копирования, установленным в кластере AKS.

KubernetesBackupListExtensionsError:

Причина. Резервное хранилище в рамках проверки проверка, если в кластере установлено расширение резервного копирования. Для этого MSI Хранилища требуется разрешение на читатель в кластере AKS, позволяющее ему перечислить все расширения, установленные в кластере.

Рекомендуемое действие. Переназначьте роль читателя в MSI хранилища (удалите существующее назначение ролей и снова назначьте роль чтения), так как назначенная роль читателя отсутствует разрешение расширения списка в нем. Если переназначение завершается ошибкой, используйте другое хранилище резервных копий для настройки резервного копирования.

UserErrorKubernetesBackupExtensionNotFoundError

Причина. Резервное хранилище в процессе проверки проверка, если в кластере установлено расширение резервного копирования. Хранилище выполняет операцию для перечисления расширений, установленных в кластере. Если расширение резервного копирования отсутствует в списке, эта ошибка появится.

Рекомендуемое действие: используйте клиент CL или портал Azure для удаления расширения, а затем снова установите расширение.

UserErrorKubernetesBackupExtensionHasErrors

Причина. Расширение резервного копирования, установленное в кластере, имеет некоторые внутренние ошибки.

Рекомендуемое действие: используйте клиент CL или портал Azure для удаления расширения, а затем снова установите расширение.

UserErrorKubernetesBackupExtensionIdentityNotFound

Причина. Для резервного копирования AKS требуется расширение резервного копирования, установленное в кластере. Расширение вместе с его установкой имеет удостоверение пользователя, созданное с именем MSI расширения. Этот файл MSI создается в группе ресурсов, включающей пулы узлов для кластера AKS. Этот MSI получает необходимые роли, назначенные для доступа к расположению резервного копирования служба хранилища. Код ошибки предполагает, что удостоверение расширения отсутствует.

Рекомендуемое действие. Используйте интерфейс командной строки или клиент портал Azure для удаления расширения, а затем снова установите расширение. Новое удостоверение создается вместе с расширением.

KubernetesBackupCustomResourcesTrackingTimeOutError

Причина. Azure Backup для AKS требует установки расширения резервного копирования в кластере. Для выполнения операций резервного копирования и восстановления в кластере создаются пользовательские ресурсы. Модули pod с расширением, выполняющие операции резервного копирования с помощью этих CR. Эта ошибка возникает, когда расширение не может обновить состояние этих CR.

Рекомендуемое действие. Для проверки работоспособности расширения необходимо выполнить команду kubectl get pods -n dataprotection.microsoft. Если модули pod не выполняются, увеличьте количество узлов в кластере на 1 или увеличьте пределы вычислений. Затем подождите несколько минут и снова запустите команду, которая должна изменить состояние модулей pod на выполнение. Если проблема сохраняется, удалите и переустановите расширение.

BackupPluginDeleteBackupOperationFailed

Причина: расширение резервного копирования должно выполняться для удаления резервных копий.

Рекомендуемое действие. Если кластер запущен, проверьте, работает ли расширение в работоспособном состоянии. Проверьте, создаются ли модули pod расширения, в противном случае увеличьте узлы. Если это не удается, попробуйте удалить и переустановить расширение. При удалении резервного копирования кластера вручную удалите моментальные снимки и метаданные.

ExtensionTimedOutWaitingForBackupItemSync

Причина. Расширение резервного копирования ожидает синхронизации элементов резервного копирования с учетной записью хранения.

Рекомендуемое действие. Если появится этот код ошибки, повторите операцию резервного копирования или переустановите расширение.

Ошибки, связанные с расположением хранилища резервных копий

Эти коды ошибок появляются из-за проблем, связанных с расширением резервного копирования, установленным в кластере AKS.

UserErrorDeleteBackupFailedBackupStorageLocationReadOnly

Причина. Учетная запись хранения, предоставляемая в качестве входных данных во время установки расширения резервного копирования, находится в состоянии только для чтения, что не позволяет удалять данные резервной копии из контейнера BLOB-объектов.

Рекомендуемое действие. Измените состояние учетной записи хранения только для чтения на запись.

UserErrorDeleteBackupFailedBackupStorageLocationNotFound

Причина. Во время установки расширения необходимо предоставить расположение резервного копирования служба хранилища в качестве входных данных, включающих учетную запись хранения и контейнер BLOB-объектов. Эта ошибка возникает, если расположение удаляется или неправильно добавляется во время установки расширения.

Рекомендуемое действие. Удалите расширение резервного копирования, а затем переустановите его с правильной учетной записью хранения и контейнером BLOB-объектов в качестве входных данных.

UserErrorBackupFailedBackupStorageLocationReadOnly

Причина. Учетная запись хранения, предоставляемая в качестве входных данных во время установки расширения резервного копирования, находится только в состоянии чтения , что не позволяет записывать данные резервного копирования в контейнер больших двоичных объектов.

Рекомендуемое действие. Измените состояние учетной записи хранения только для чтения на запись.

UserErrorNoDefaultBackupStorageLocationFound

Причина. Во время установки расширения необходимо предоставить расположение резервного копирования служба хранилища в качестве входных данных, включающее учетную запись хранения и контейнер BLOB-объектов. Ошибка появляется, если расположение удаляется или неправильно введено во время установки расширения.

Рекомендуемое действие. Удалите расширение резервного копирования, а затем переустановите его с правильной учетной записью хранения и контейнером BLOB-объектов в качестве входных данных.

UserErrorExtensionMSIMissingPermissionsOnBackupStorageLocation

Причина. Расширение резервного копирования должно иметь роль участника данных BLOB-объектов служба хранилища в расположении резервного копирования служба хранилища (учетная запись хранения). Удостоверение расширения получает эту роль.

Рекомендуемое действие. Если эта роль отсутствует, используйте портал Azure или CLI для переназначения этого отсутствующих разрешений в учетной записи хранения.

UserErrorBackup служба хранилища LocationNotReady

Причина. Во время установки расширения необходимо указать расположение резервного копирования служба хранилища в качестве входных данных, включающих учетную запись хранения и контейнер BLOB-объектов. Расширение резервного копирования должно иметь роль участника данных BLOB-объектов служба хранилища в расположении резервного копирования служба хранилища (учетная запись хранения). Удостоверение расширения получает эту роль.

Рекомендуемое действие. Ошибка появляется, если удостоверение расширения не имеет правильных разрешений для доступа к учетной записи хранения. Эта ошибка возникает при первом установке расширения резервного копирования AKS при настройке операции защиты. Это происходит на время, затраченное на распространение предоставленных разрешений на расширение резервного копирования AKS. В качестве обходного решения подождите час и повторите настройку защиты. В противном случае используйте портал Azure или CLI для переназначения этого отсутствующих разрешений для учетной записи хранения.

Ошибки на основе резервного копирования в хранилище

Этот код ошибки может отображаться при включении резервного копирования AKS для хранения резервных копий в стандартном хранилище данных.

DppUserErrorVaultTierPolicyNotSupported

Причина. Этот код ошибки появляется при создании политики резервного копирования с правилом хранения, определенным для хранилища данных уровня "Стандартный" для хранилища резервных копий в регионе, где это хранилище данных не поддерживается.

Рекомендуемое действие. Обновите правило хранения с использованием стандартной длительности хранилища, определенной в портал Azure:

  1. Щелкните значок "Изменить" рядом с правилом.

    Screenshot shows how to edit the retention duration of the AKS backups.

  2. Снимите флажок проверка box рядом со стандартом Vault и нажмите кнопку "Обновить".

    Screenshot shows clearing the vault-standard checkbox.

  3. Создайте политику резервного копирования для резервного копирования уровня операций (только моментальные снимки для кластера AKS).

Задания резервного копирования и восстановления AKS, завершенные с предупреждениями

UserErrorPVSnapshotDisallowedByPolicy

Код ошибки: UserErrorPVSnapshotDisallowedByPolicy

Причина. Политика Azure назначается по подписке, которая перестает драйвер CSI принимать моментальный снимок тома.

Рекомендуемое действие. Удалите Политика Azure отменяя операцию моментального снимка диска, а затем выполните резервное копирование по запросу.

UserErrorPVSnapshotLimitReached

Код ошибки: UserErrorPVSnapshotLimitReached

Причина. Существует ограниченное количество моментальных снимков для постоянного тома, которое может существовать в определенный момент времени. Для постоянных томов на основе дисков Azure ограничение составляет 500 моментальных снимков. Эта ошибка возникает, когда моментальные снимки для определенных постоянных томов не принимаются из-за наличия моментальных снимков выше поддерживаемых ограничений.

Рекомендуемое действие. Обновите политику резервного копирования, чтобы сократить продолжительность хранения и дождаться удаления старых точек восстановления хранилищем резервных копий.

CSISnapshottingTimedOut

Код ошибки: CSISnapshottingTimedOut

Причина: сбой моментального снимка, так как драйвер CSI получает время ожидания, чтобы получить дескриптор моментального снимка.

Рекомендуемое действие. Просмотрите журналы и повторите операцию, чтобы получить успешные моментальные снимки, выполнив резервную копию по запросу или дождитесь следующего запланированного резервного копирования.

UserErrorHookExecutionFailed

Код ошибки: UserErrorHookExecutionFailed

Причина. При применении перехватчиков к запуску вместе с резервными копиями и восстановлением произошла ошибка, и они не были успешно применены.

Рекомендуемое действие: просмотрите журналы, обновите перехватчики, а затем повторите операцию резервного копирования и восстановления.

UserErrorNamespaceNotFound

Код ошибки: UserErrorNamespaceNotFound

Причина. Пространства имен, предоставляемые в конфигурации резервного копирования, отсутствуют при выполнении резервных копий. Либо пространство имен было неправильно предоставлено или удалено.

Рекомендуемое действие. Проверьте правильность резервного копирования пространств имен.

UserErrorPVCHasNoVolume

Код ошибки: UserErrorPVCHasNoVolume

Причина. Утверждение постоянного тома (ПВХ) в контексте не имеет постоянного тома, подключенного к нему. Таким образом, ПВХ не будет резервного копирования.

Рекомендуемое действие: присоединение тома к ПВХ, если требуется создать резервную копию.

UserErrorPVCNotBoundToVolume

Код ошибки: UserErrorPVCNotBoundToVolume

Причина: ПВХ в контексте находится в состоянии ожидания и не имеет постоянного тома, подключенного к нему. Таким образом, ПВХ не будет резервного копирования.

Рекомендуемое действие: присоединение тома к ПВХ, если требуется создать резервную копию.

UserErrorPVNotFound

Код ошибки: UserErrorPVNotFound

Причина. Отсутствует базовый носитель хранилища для постоянного тома.

Рекомендуемое действие. Проверьте и подключили новый постоянный том с фактическим подключенным носителем хранилища.

UserError служба хранилища ClassMissingForPVC

Код ошибки: UserError служба хранилища ClassMissingForPVC

Причина: резервные копии AKS проверка для используемого класса хранилища и пропускают постоянный том от создания моментальных снимков из-за недоступности класса.

Рекомендуемое действие: обновите спецификации ПВХ с используемым классом хранения.

UserErrorSourceandTargetClusterCRDVersionMismatch

Код ошибки: UserErrorSourceandTargetClusterCRDVersionMismatch

Причина. Исходный кластер AKS и целевой кластер AKS во время восстановления имеют разные версии FlowSchema и PriorityLevelConfigurations CR. Некоторые ресурсы Kubernetes не восстанавливаются из-за несоответствия в версиях кластера.

Рекомендуемое действие. Используйте ту же версию кластера для целевого кластера, что и исходный кластер, или вручную примените ЦС.

Следующие шаги