Бөлісу құралы:


Файл конфигурации недоступен при подключении

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

Предварительные требования

Симптомы

Во время попытки подключения к кластеру появится сообщение об ошибке, аналогичное следующему тексту:

Unable to connect to the server: dial tcp [::1]:8080: connectex: No connection could be made because the target machine actively refused it. 

error: You must be logged in to the server (the server has asked for the client to provide credentials)

Причины

Средство kubectl и другие средства подключения Kubernetes используют локальный файл конфигурации с именем config. Файл конфигурации содержит учетные данные проверки подлинности и сведения для подключения к кластеру. По умолчанию:

  • Команда az aks get-credentials в Azure CLI, которая используется для получения учетных данных доступа для управляемого кластера Kubernetes, изменяет файл ~/.kube/config .

  • Команда kubectl использует файл kubeconfig (конфигурации kubectl) в каталоге $HOME/.kube .

Таким образом, что происходит во время попытки сеанса Kubernetes, зависит от пользователя, выполняющего команду kubectl. Если вы вошли в систему как пользователь A и выполнили обе команды, вот что происходит:

  • Команда az aks get-credentials пытается добавить новые параметры kubeconfig в файл конфигурации C:\Users\A\.kube\config .

  • Команда kubectl пытается выполнить поиск в файле C:\Users\A\.kube\config .

Но для kubectl, если указатель на файл kubeconfig изменился, файл, используемый для доступа к кластеру, должен находиться в другом расположении.

Примечание.

Файл kubeconfig — это ссылка на файл, содержащий параметры конфигурации для доступа к кластерам Kubernetes. Он не обязательно ссылается на файл, который называется kubeconfig.

Ошибка возникает при возникновении одного из следующих сценариев:

Причина 1. Файл конфигурации не существует

Файл конфигурации не существует на компьютере.

Решение. Сохранение учетных данных

Загрузите файл конфигурации, выполнив az aks get-credentials команду в Azure CLI, которая сохраняет учетные данные. Если вы не хотите использовать расположение по умолчанию, укажите --file <config-file-location> параметр с расположением конфигурации (например, ~/Dir1/Dir2/config или C:\Dir1\Dir2\Dir2\config).

az aks get-credentials --resource-group <cluster-resource-group> \
    --name <cluster-name> \
    [--file <config-file-location>]

Причина 2. Файл конфигурации находится в неправильном каталоге

Файл конфигурации находится на компьютере, но он находится в другом каталоге, где az aks get-credentials команда и /или средство kubectl ожидает, что он будет.

Решение. Переместите файл конфигурации , сохраните учетные данные еще раз или измените переменную среды KUBECONFIG.

Выполните одно или несколько следующих действий:

  • Переместите файл конфигурации в каталог, в который он должен находиться.

  • Выполните команду az aks get-credentials. Укажите нужное расположение, если оно не является расположением по умолчанию.

    az aks get-credentials --resource-group <cluster-resource-group> \
        --name <cluster-name> \
        [--file <config-file-location>]
    
  • Используйте один из следующих параметров, чтобы изменить расположение kubectl для поиска параметров конфигурации:

Причина 3. Срок действия файла конфигурации истек или поврежден

Файл конфигурации находится на компьютере. Он также находится в ожидаемом каталоге для az aks get-credentials команды и средства kubectl. Но срок действия файла истек или поврежден.

Решение. Повторное создание учетных данных

Повторно обналичите учетные данные, так как существующие учетные данные могут быть прекращены или повреждены. В этом случае можно выполнить az aks get-credentials команду с параметром --overwrite-existing .

az aks get-credentials --resource-group <cluster-resource-group> \
    --name <cluster-name> \
    --overwrite-existing \
    [--file <config-file-location>]

Свяжитесь с нами для получения помощи

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