Диагностика проблем с подключением для кластеров Kubernetes с поддержкой Azure Arc

Если у вас возникли проблемы с подключением кластера к Azure Arc, это, вероятно, связано с одной из проблем, перечисленных здесь. Мы предоставляем две блок-схемы с помощью интерактивной справки: один, если вы не используете прокси-сервер, и тот, который применяется, если сетевое подключение использует прокси-сервер.

Совет

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

Подключение ions без прокси-сервера

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

Flowchart showing a visual representation of checking for connection issues when not using a proxy.

Имеет ли удостоверение Azure достаточные разрешения?

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

Вы используете последнюю версию Azure CLI?

Убедитесь, что установлена последняя версия.

Если вы подключили кластер с помощью Azure PowerShell, убедитесь, что вы используете последнюю версию.

Является connectedk8s ли расширение последней версией?

Обновите расширение Azure CLI connectedk8s до последней версии, выполнив следующую команду:

az extension update --name connectedk8s

Если вы еще не установили расширение, выполните следующую команду:

az extension add --name connectedk8s

Указывает ли kubeconfig на правильный кластер?

Выполните команду kubectl config get-contexts , чтобы подтвердить имя целевого контекста. Затем задайте контекст по умолчанию для правильного кластера, выполнив команду kubectl config use-context <target-cluster-name>.

Зарегистрированы ли все необходимые поставщики ресурсов?

Убедитесь, что поставщики ресурсов Microsoft.Kubernetes, Microsoft.KubernetesConfiguration и Microsoft.ExtendedLocation зарегистрированы.

Выполнены ли все требования к сети?

Просмотрите требования к сети и убедитесь, что необходимые конечные точки не блокируются.

Выполняются ли все модули pod в azure-arc пространстве имен?

Если все работает правильно, все модули pod должны находиться в Running состоянии. Выполните команду kubectl get pods -n azure-arc , чтобы проверить, не является Runningли состояние модуля pod.

По-прежнему возникают проблемы?

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

Чтобы создать файл журнала устранения неполадок, выполните следующую команду:

az connectedk8s troubleshoot -g <myResourceGroup> -n <myK8sCluster>

При создании запроса на поддержку в разделе "Дополнительные сведения" используйте параметр отправки файла для отправки созданного файла журнала.

Подключение ions с прокси-сервером

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

Flowchart showing a visual representation of checking for connection issues when using a proxy.

Выполняет ли компьютер команды за прокси-сервером?

Если компьютер выполняет команды за прокси-сервером, необходимо задать все необходимые переменные среды. Дополнительные сведения см. в разделе Подключение с использованием исходящего прокси-сервера.

Например:

export HTTP_PROXY="http://<proxyIP>:<proxyPort>"
export HTTPS_PROXY="https://<proxyIP>:<proxyPort>"
export NO_PROXY="<cluster-apiserver-ip-address>:<proxyPort>"

Принимает ли прокси-сервер только доверенные сертификаты?

Не забудьте включить путь к файлу сертификата, в том числе --proxy-cert <path-to-cert-file> при выполнении az connectedk8s connect команды.

az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-cert <path-to-cert-file>

Может ли прокси-сервер достичь необходимых сетевых конечных точек?

Просмотрите требования к сети и убедитесь, что необходимые конечные точки не блокируются.

Используется ли прокси-сервер только по протоколу HTTP?

Если прокси-сервер использует только HTTP, для обоих параметров можно использовать proxy-http .

Если прокси-сервер настроен как с HTTP, так и с HTTPS, выполните az connectedk8s connect команду с --proxy-https указанными параметрами и --proxy-http параметрами. Убедитесь, что используется --proxy-http для прокси-сервера HTTP и --proxy-https для прокси-сервера HTTPS.

az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-https https://<proxy-server-ip-address>:<port> --proxy-http http://<proxy-server-ip-address>:<port>  

Требуется ли прокси-сервер пропускать диапазоны для обмена данными между службами?

Если требуется пропустить диапазоны, используйте --proxy-skip-range <excludedIP>,<excludedCIDR> команду az connectedk8s connect .

az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-https https://<proxy-server-ip-address>:<port> --proxy-http http://<proxy-server-ip-address>:<port> --proxy-skip-range <excludedIP>,<excludedCIDR>

Выполняются ли все модули pod в azure-arc пространстве имен?

Если все работает правильно, все модули pod должны находиться в Running состоянии. Выполните команду kubectl get pods -n azure-arc , чтобы проверить, не является Runningли состояние модуля pod.

По-прежнему возникают проблемы?

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

Чтобы создать файл журнала устранения неполадок, выполните следующую команду:

az connectedk8s troubleshoot -g <myResourceGroup> -n <myK8sCluster>

При создании запроса на поддержку в разделе "Дополнительные сведения" используйте параметр отправки файла для отправки созданного файла журнала.

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