簡體   English   中英

如何在Python SDK中沒有配置文件的情況下連接到Kubernetes集群?

[英]How to connect to kubernetes cluster without config file in Python SDK?

我正在制作一個將使用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))

按照“ load_authentication”的文檔:

此功能在kube-config的用戶部分中通過各種身份驗證方法,如果找到有效的身份驗證方法,它將停止。 身份驗證方法的順序為:

  • 身份驗證提供者(gcp,azure,oidc)
  • 令牌字段(指向令牌文件)
  • exec提供的插件
  • 用戶名密碼

_load_authentication_-從kube-config用戶部分讀取身份驗證(如果存在)。 這是一個示例,如何使用帶有barer令牌的 client.Configuration() 進行身份驗證

另請參閱使用Azure管理庫進行Python身份驗證

###更新###

對於特定於AWS的環境,您可以使用適用於Python的AWS開發工具包(Boto 3)為Amazon EKS創建kubeconfig

有一個社區示例-如何將AWS憑證設置為kubeconfig或使用boto3構建配置

希望能有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM