我正在运行一个通过python客户端调用kubernetes的简单脚本:
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))
但是,它似乎无法获得正确的凭据。我可以使用kubectl命令行界面,我注意到,每当我发出命令时,我都会使用访问令牌填充我的.kube/config
文件(例如,{{1} })。
只要该令牌未过期,我的python脚本运行正常。但是,一旦该令牌过期,它似乎无法刷新它,而是失败并告诉我设置kubectl get pods
。当然,当我使用密钥文件创建一个服务帐户并将GOOGLE_APPLICATION_CREDENTIALS
指向该密钥文件时,它给了我以下错误:
GOOGLE_APPLICATION_CREDENTIALS
我对这个客户的理解有问题吗?感谢任何帮助!
我正在使用kubernetes python库的3.0.0版本。如果它有用,这是我的RefreshError: ('invalid_scope: Empty or missing scope not allowed.', u'{\n "error" : "invalid_scope",\n "error_description" : "Empty or missing scope not allowed."\n}')
:
.kube/config