Цель
Я хочу подключиться и вызывать API-интерфейсы REST Kubernetes изнутри работающего модуля, рассматриваемый Kubernetes - это кластер AWS EKS, использующий аутентификацию IAM.Все это с использованием Kubernetes Python lib.
Что я пробовал
Изнутри моего python file
:
from kubernetes import client, config
config.load_incluster_config()
v1 = client.CoreV1Api()
ret = v1.list_pod_for_all_namespaces(watch=False)
Приведенная выше команда выдает ошибку 403
,Я полагаю, что это связано с другим механизмом аутентификации, который использует AWS EKS.
То, что я уже знаю, работает
ApiToken = 'eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.xxx.yyy'
configuration = client.Configuration()
configuration.host = 'https://abc.sk1.us-east-1.eks.amazonaws.com'
configuration.verify_ssl = False
configuration.debug = True
configuration.api_key = {"authorization": "Bearer " + ApiToken}
client.Configuration.set_default(configuration)
Хотя вышеописанное работает, мне нужно жестко закодировать токен, который я генерирую локальночерез kubectl и проверьте его в коде, представляющем угрозу безопасности.
Есть ли более правильный способ аутентификации libon-библиотеки Kubernetes с помощью AWS EKS?