Я хотел бы использовать python kubernetes-client для подключения к моему API AKS кластера.
Для этого я пытаюсь использовать пример, предоставленный kubernetes:
config.load_kube_config()
v1 = client.CoreV1Api()
print("Listing pods with their IPs:")
ret = v1.list_pod_for_all_namespaces(watch=False)
for i in ret.items:
print("%s\t%s\t%s" % (i.status.pod_ip, i.metadata.namespace, i.metadata.name))
Предполагается загрузить мой локальный kubeconfig и получить список модулей, но я получаю следующую ошибку:
Traceback (последний вызов был последним): файл "test.py", строка 4, в файле config.load_kube_config () "/Users//works/test-kube-api-python/env/lib/python2.7/site-packages/kubernetes/config/kube_config.py", строка 661, в загрузчике load_kube_config.load_and_set (config) Файл "/Users//works/test-kube-api-python/env/lib/python2.7/site-packages/kubernetes/config/kube_config.py", строка 469, в файле load_and_set self._load_authentication() Файл "/Users//works/test-kube-api-python/env/lib/python2.7/site-packages/kubernetes/config/kube_config.py", строка 203, в _load_authentication если self._load_auth_provider_token (): Файл "/Users//works/test-kube-api-python/env/lib/python2.7/site-packages/kubernetes/config/kube_config.py",строка 221, в _load_auth_provider_token возвращает файл self._load_azure_token (провайдера) "/Users//works/test-kube-api-python/env/lib/python2.7/site-packages/kubernetes/config/kube_config.py", строка233, в файле _load_azure_token self._refresh_azure_token (поставщик ['config']) "/Users//works/test-kube-api-python/env/lib/python2.7/site-packages/kubernetes/config/kube_config.py", строка 253, в _refresh_azure_token refresh_token, client_id, '00000002-0000-0000-c000-000000000000') Файл" /Users//works/test-kube-api-python/env/lib/python2.7/site-packages/adal/authentication_context.py ", строка 236, в acqu_token_with_refresh_token возвращает файл self._acquire_token (token_func)" /Users//works/test-kube-api-python/env/lib/python2.7/site-packages/adal/authentication_context.py ", строка 128, в _acquire_token вернуть файл token_func (self)" /Users//works/test-kube-api-python/env/lib/python2.7/site-packages/adal/authentication_context.py ",строка 234, в token_func вернуть token_request.get_token_with_refresh_token(refresh_token, client_secret) Файл "/Users//works/test-kube-api-python/env/lib/python2.7/site-packages/adal/token_request.py", строка 343, в get_token_with_refresh_token возвращает self._get_token_with_refresh_token (refresh_token, None, client_secret) Файл "/Users//works/test-kube-api-python/env/lib/python2.7/site-packages/adal/token_request.py", строка 340, в _get_token_with_refresh_token возвращает self._oauth_get_token(oauth_parameters) Файл "/Users//works/test-kube-api-python/env/lib/python2.7/site-packages/adal/token_request.py", строка 112, в _oauth_get_token возвращает client.get_token (oauth_parameters)Файл "/Users//works/test-kube-api-python/env/lib/python2.7/site-packages/adal/oauth2_client.py", строка 291, в get_token поднять AdalError (return_error_string, error_response) adal.adal_error.AdalError: Запрос Get Token вернул ошибку http: 400 и ответ сервера: {"error": "invalid_grant", "error_description": "AADSTS65001: пользователь или администратор не дали согласие на использование приложения с ID '' по имени 'Клиент Kubernetes AD'. Отправьте интерактивный запрос авторизации для этого пользователя и ресурса. \ R \ nTrace ID: \ r \ nКорреляционный идентификатор: \ r \ nTimestamp: 2019-10-14 12: 32: 35Z "," error_codes ": [65001]," timestamp":" 2019-10-14 12: 32: 35Z "," trace_id ":" "," correlation_id ":" "," suberror ":" accord_required "}
Я действительно не знаюЯ не понимаю, почему это не работает.
Когда я использую kubectl, все работает нормально.
Я читаю некоторые документы, но я не уверен, что понимаю ошибку adal.
Спасибо за вашу помощь