且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

AWS EKS-从Pod内部对Kubernetes python lib进行身份验证

更新时间:2023-12-02 20:47:28

您可以使用以下方法获取令牌.假设您已经成功安装并配置了 aws -iam-authenticator 在您的pod/服务器/笔记本电脑上.

You can use the following method to get the token. This assumes that you have successfully installed and configured aws-iam-authenticator on your pod/server/laptop.

def get_token(cluster_name):
    args = ("/usr/local/bin/aws-iam-authenticator", "token", "-i", cluster_name, "--token-only")
    popen = subprocess.Popen(args, stdout=subprocess.PIPE)
    popen.wait()
    return popen.stdout.read().rstrip()

api_token = get_token("<cluster_name>")
configuration = client.Configuration()
configuration.host = '<api_endpoint>'
configuration.verify_ssl = False
configuration.debug = True
configuration.api_key['authorization'] = "Bearer " + api_token
configuration.assert_hostname = True
configuration.verify_ssl = False
client.Configuration.set_default(configuration)

v1 = client.CoreV1Api()
ret = v1.list_pod_for_all_namespaces(watch=False)
print ret

有一个kubernetes-client/python-base的PR,增加了对exec插件的支持,

There is an PR for kubernetes-client/python-base that adds support for exec plugins, Attempt to implement exec-plugins support in kubeconfig.