如何在Python SDK中没有配置文件的情况下连接到Kubernetes集群?

时间:2019-06-26 08:57:42

标签: python kubernetes aws-eks

我正在制作一个将使用K8S(EKS)协调集群上的部署的应用程序。当前,我正在使用Minikube进行开发,因此可以按预期进行,但是它使用$HOME/.kube/config文件加载配置。连接到EKS的其他方法还有哪些?

我用于工作证明的示例代码:

from kubernetes import client, config

# Configs can be set in Configuration class directly or using helper utility
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))

1 个答案:

答案 0 :(得分:0)

根据“ load_authentication”的文档:

  

此功能将通过kube-config用户部分中的各种身份验证方法,并在找到有效的身份验证方法时停止。身份验证方法的顺序为:

     
      
  • auth-provider(gcp,azure,oidc)
  •   
  • 令牌字段(指向令牌文件)
  •   
  • exec提供的插件
  •   
  • 用户名/密码
  •   

_load_authentication_-从kube-config用户部分读取身份验证(如果存在)。 这是一个将client.Configuration()barer token to authenticate结合使用的示例。

也请看看Authenticate with the Azure Management Libraries for Python

### 更新 ###

对于特定于AWS的环境,您可以使用AWS SDK for Python (Boto 3)Create a kubeconfig for Amazon EKS

有一个社区示例-如何将AWS凭证设置为kubeconfig或构建配置using boto3

希望获得帮助。