Область применения: AKS в локальной среде Azure, AKS на Windows Server
В этой статье описаны ошибки, которые могут возникнуть (и их обходные пути) при подключении или отключении кластеров рабочих нагрузок AKS к Azure Arc с помощью командлетов Enable-AksHciArcConnection
PowerShell и Disable-AksHciArcConnection
в AKS Arc. Сведения о проблемах, которые не рассматриваются в этой статье, см. в разделе "Устранение неполадок с поддержкой Arc Kubernetes".
Вы также можете открыть проблему поддержки, если к вам не применяются ни один из перечисленных обходных решений.
Ошибка: "Не найден кластер рабочей нагрузки с именем my-aks-cluster"
Эта ошибка означает, что вы не создали кластер рабочей нагрузки или неправильно указали имя кластера рабочей нагрузки.
Запустите Get-AksHciCluster , чтобы убедиться, что у вас есть правильное имя или кластер, который требуется подключить к Arc.
Ошибка: "System.Management.Automation.RemoteException Starting onboarding Process Cluster "azure-arc-onboarding" set..."
Следующая ошибка может возникать при использовании Windows Admin Center для создания кластера рабочей нагрузки и подключения его к Kubernetes с поддержкой Arc:
System.Management.Automation.RemoteException Starting onboarding process Cluster "azure-arc-onboarding" set. User "azure-arc-onboarding" set. Context "azure-arc-onboarding" created. Switched to context "azure-arc-onboarding". Azure login az login: error: argument --password/-p: expected one argument usage: az login [-h] [--verbose] [--debug] [--only-show-errors] [--output {json,jsonc,yaml,yamlc,table,tsv,none}] [--query JMESPATH] [--username USERNAME] [--password PASSWORD] [--service-principal] [--tenant TENANT] [--allow-no-subscriptions] [-i] [--use-device-code] [--use-cert-sn-issuer] : Job Failed Condition]
Чтобы устранить эту проблему, ознакомьтесь с приведенными ниже параметрами.
- Вариант 1. Удалите кластер рабочей нагрузки и повторите попытку с помощью Центра администрирования Windows.
- Вариант 2. В PowerShell проверьте, успешно ли создан кластер, выполнив команду Get-AksHciCluster , а затем используйте Enable-AksHciArcConnection для подключения кластера к Arc.
Параметр Enable-AksHciArcConnection завершается ошибкой, если для входа в Azure используется connect-AzAccount.
Connect-AzAccount
При входе в Azure можно задать другую подписку в качестве контекста по умолчанию, чем в качестве входных данныхSet-AksHciRegistration
. После этого Enable-AksHciArcConnection
команда ожидает, что подписка используется в Set-AksHciRegistration
. Однако возвращает набор подписок по умолчанию с помощью Connect-AzAccount
и, следовательно, Enable-AksHciArcConnection
может привести к ошибке.
Чтобы предотвратить эту ошибку, выполните один из следующих вариантов:
Вариант 1. Выполните
Set-AksHciRegistration
вход в Azure с теми же параметрами (подпиской и группой ресурсов), которые вы использовали при первом запуске команды для подключения узла AKS к Azure для выставления счетов. Затем можно использоватьEnable-AksHciArcConnection -Name <ClusterName>
со значениями по умолчанию, а кластер будет подключен к Arc в подписке на выставление счетов узла AKS и группе ресурсов.Вариант 2. Выполните все
Enable-AksHciArcRegistration
параметры,subscription
, ,resource group
иlocation
tenant
secret
, чтобы подключить кластер к Azure Arc в другой подписке и группе ресурсов, отличной от узла AKS. Также следует запуститьEnable-AksHciArcRegistration
, если у вас недостаточно разрешений для подключения кластера к Azure Arc с помощью учетной записи Azure (например, если вы не являетесь владельцем подписки).
Ошибка: "Время ожидания условия"
Эта ошибка обычно указывает на одну из следующих проблем:
- Кластеры были созданы на виртуальной машине Azure в виртуализированной среде или развернуты AKS в Azure Local на нескольких уровнях виртуализации.
- Медленный интернет вызвал время ожидания.
Если к вам применяется один из описанных выше сценариев, выполните команду Disable-AksHciArcConnection и повторите попытку подключения. Если приведенный выше сценарий не применяется к вам, откройте проблему поддержки AKS в локальной среде Azure.
Ошибка: "Секреты "sh.helm.release.v1.azure-arc.v1" не найден"
Эта ошибка означает, что не удалось достичь сервера API Kubernetes.
Попробуйте выполнить Disable-AksHciArcConnection
команду еще раз, а затем перейдите к портал Azure, чтобы убедиться, что ресурс connectedCluster
был удален. Вы также можете запустить kubectl get ns -A
, чтобы убедиться, azure-arc
что пространство имен не существует в кластере.
Ошибка: "Сбой подключения к Azure. Выполните команду Set-AksHciRegistration и повторите попытку".
Эта ошибка означает, что срок действия учетных данных входа в Azure истек.
Используйте Set-AksHciRegistration
для входа в Azure перед выполнением Enable-AksHciArcConnection
команды еще раз. При повторном запуске Set-AksHciRegistration
убедитесь, что вы используете те же сведения о подписке и группе ресурсов, которые вы использовали при первой регистрации узла AKS в Azure для выставления счетов. При повторном выполнении команды с другой подпиской или группой ресурсов они не будут зарегистрированы. После установки Set-AksHciRegistration
подписки и группы ресурсов их нельзя изменить без удаления AKS Arc.
Ошибка: "My-Cluster" не является допустимым именем кластера. Имена должны быть строчными и соответствовать шаблону регулярного выражения: "^[a-z0-9][a-z0-9-]*[a-z0-9]$"
Эта ошибка означает, что кластер рабочей нагрузки не соответствует соглашению об именовании Kubernetes.
Как предполагается, убедитесь, что имя кластера является строчным и соответствует шаблону регулярного выражения: '^[a-z0-9][a-z0-9-]*[a-z0-9]$.
Ошибка: "addons.msft.microsoft "demo-arc-onboarding" уже существует"
Эта ошибка обычно означает, что кластер AKS уже подключен к Kubernetes с поддержкой Arc.
Чтобы подтвердить подключение, перейдите к портал Azure и проверьте подписку и группу ресурсов, указанную при выполнении Set-AksHciRegistration
(если вы использовали значения по умолчанию) или Enable-AksHciArcConnection
(если не использовали значения по умолчанию). Вы также можете подтвердить, подключен ли akS в локальном кластере Azure к Azure, выполнив az connectedk8s show
команду Azure CLI. Если кластер рабочей нагрузки не отображается, запустите Disable-AksHciArcConnection
и повторите попытку.
Ошибка: "autorest/azure: служба вернула ошибку. Status=404 Code="ResourceNotFound"..."
Эта ошибка означает, что Azure не может найти ресурс Azure Resource Manager, связанный с кластером connectedCluster
:
"Autorest/azure: служба вернула ошибку. Status=404 Code="ResourceNotFound" Message="Ресурс "Microsoft.Kubernetes/connectedClusters/my-workload-cluster" в группе ресурсов "AKS-HCI2" не найден. Дополнительные сведения см. в https://aka.ms/ARMResourceNotFoundFix"статье ;]"
Эта ошибка может возникнуть, если:
- При выполнении командлета вы предоставили неправильную группу ресурсов или подписку
Disable-AksHciArcConnection
. - Вы вручную удалили ресурс в портал Azure.
- Azure Resource Manager не может найти ресурс Azure.
Чтобы устранить эту ошибку, как указано в сообщении об ошибке, см . сведения об устранении ошибок, не найденных ресурсом.
Ошибка: "Ошибка удаления кластерных надстроек arc: пространства имен "azure-arc" не найдены"
Эта ошибка обычно означает, что агенты Arc уже удалены из кластера рабочей нагрузки или вы вручную удалили azure-arc
пространство имен с помощью kubectl
команды.
Перейдите к портал Azure, чтобы убедиться, что у вас нет утечки ресурсов. Например, убедитесь, что ресурс не отображается connectedCluster
в подписке и группе ресурсов.
Ошибка: "Подписка Azure неправильно настроена"
Эта проблема может возникнуть, если вы не настроили подписку Azure с помощью поставщиков ресурсов Kubernetes с поддержкой Arc. В настоящее время мы проверяем, что Microsoft.Kubernetes
и Microsoft.KubernetesConfiguration
настроены.
Дополнительные сведения о включении этих поставщиков ресурсов см. в разделе "Регистрация поставщиков для Kubernetes с поддержкой Arc".
Ошибка: "Не удается прочитать ConfigMap "azure-clusterconfig" в пространстве имен Azure-arc.
Эта проблема возникает при попытке повторного включения подключения Arc в кластере AKS после отключения существующего подключения. Ошибка возникает из-за изменения пространства имен, в котором хранятся секреты Azure Arc.
Ниже приведены шаги, которые приводят к ошибке:
- Подключите кластер рабочей нагрузки к Azure Arc с
Enable-AksHciArcConnection -name $clusterName
помощью . - Отключите кластер от Azure Arc:
Disable-AksHciArcConnection -name $clusterName
- Снова подключите кластер рабочей нагрузки к Azure Arc с помощью следующей команды
Enable-AksHciArcConnection -name $clusterName
:
Ошибка:
returned a non zero exit code 1 [Error: Job azure-arc-onboarding terminated with Failed to run CLI command: Error from server (NotFound): namespaces "azure-arc"
not found
System.Management.Automation.RemoteException
ERROR: Unable to read ConfigMap 'azure-clusterconfig' in 'azure-arc' namespace:
Error Response: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"configmaps \"azure-clusterconfig\" not
found","reason":"NotFound","details":{"name":"azure-clusterconfig","kind":"configmaps"},"code":404}
System.Management.Automation.RemoteException
System.Management.Automation.RemoteException
: Job Failed Condition
Enable-AksHciArcConnection
всегда завершается сбоем, и после запуска Disable-AksHciArcConnection
в пространстве имен azure-arc-release существует оставшийся секрет. Чтобы проверить наличие секрета, можно выполнить следующую команду и убедиться, что секрет не указан.
kubectl get secret -nazure-arc-release sh.helm.release.v1.azure-arc.v1
Чтобы обойти эту проблему, удалите пространство имен azure-arc-release после выполнения Disable-AksHciArcConnection
:
$clusterName = "<name of cluster>"
Get-AksHciCredential -name $clusterName
kubectl delete namespace azure-arc-release
Disable-AksHciArcConnection -name $clusterName
Enable-AksHciArcConnection -name $clusterName