Устранение неполадок Служба 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, выполните следующие действия.
- В портал Azure откройте кластер AKS.
- Перейдите в пулы узлов в Параметры.
- Выберите пул узлов масштабирования, а затем обновите минимальные и максимальные значения в диапазоне счетчиков узлов.
- Выберите Применить.
Сценарий 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). Подробнее.
Выполните следующую команду:
az aks pod-identity exception add --resource-group shracrg --cluster-name shractestcluster --namespace dataprotection-microsoft --pod-labels app.kubernetes.io/name=dataprotection-microsoft-kubernetes
Чтобы проверить azurepodidentityexceptions в кластере, выполните следующую команду:
kubectl get Azurepodidentityexceptions --all-namespaces
Чтобы назначить роль участника данных большого двоичного объекта служба хранилища идентификатору расширения, выполните следующую команду:
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 для передачи через общедоступную сеть.
Чтобы получить в кластере пользовательский YAML для существующих CoreDNS (сохраните его в локальном каталоге позже), выполните следующую команду:
kubectl get configmap coredns-custom -n kube-system -o yaml
Чтобы переопределить сопоставление конечной точки центральной части США DP на общедоступный IP-адрес (скачайте подключенный файл YAML), выполните следующую команду:
kubectl apply -f corednsms.yaml
Чтобы принудительно перезагрузить
coredns
модули pod, выполните следующую команду:kubectl delete pod --namespace kube-system -l k8s-app=kube-dns
Чтобы выполнить выполнение
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
Чтобы проверка журналы pod ExtensionAgent, выполните следующую команду:
kubectl logs pod/extension-agent-<pod guid that’s there in your cluster> -n kube-system --tail=200
Удалите и переустановите расширение резервного копирования для запуска резервного копирования.
Ошибки, связанные с установкой расширения резервного копирования
Эти коды ошибок появляются из-за проблем с расширением резервного копирования, установленным в кластере 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:
Щелкните значок "Изменить" рядом с правилом.
Снимите флажок проверка box рядом со стандартом Vault и нажмите кнопку "Обновить".
Создайте политику резервного копирования для резервного копирования уровня операций (только моментальные снимки для кластера 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 не восстанавливаются из-за несоответствия в версиях кластера.
Рекомендуемое действие. Используйте ту же версию кластера для целевого кластера, что и исходный кластер, или вручную примените ЦС.