在 python openshift rest 客户端中使用 load_incluster_config 时如何修复 'No such file or directory: '/home/jenkins/.kube/config''
How to fix 'No such file or directory: '/home/jenkins/.kube/config'' when using load_incluster_config in python openshift rest client
我写了一个脚本来检查 OpenShift 集群中的一些秘密。我为 Openshift 使用了 python rest-client 库,脚本在集群内执行。但我总是得到 IOError: [Errno 2] No such file or directory: '/home/jenkins/.kube/config'
我知道我在 pod 中没有 kube 配置,因此我尝试使用 kubernetes.config.load_incluster_config()
方法启用集群配置。
from kubernetes import client, config
from openshift.dynamic import DynamicClient
config.load_incluster_config()
k8s_client = config.new_client_from_config()
dyn_client = DynamicClient(k8s_client)
我假设不再需要通过 load_incluster_config 调用提供 kube 配置。有人使用服务帐户解决了集群执行中其余客户端和 openshift 的问题吗?
感谢任何帮助,谢谢。
我的意思是,您可能已经检查过了,但确定您在正确的目录中吗?因为 运行 来自错误目录的文件会导致 "No such file or directory".
的错误
我用以下方法解决了它:
if os.getenv('KUBERNETES_SERVICE_HOST'):
config.load_incluster_config()
else:
config.load_kube_config()
dyn_client = DynamicClient(ApiClient())
ApiClient 使用默认配置。
我写了一个脚本来检查 OpenShift 集群中的一些秘密。我为 Openshift 使用了 python rest-client 库,脚本在集群内执行。但我总是得到 IOError: [Errno 2] No such file or directory: '/home/jenkins/.kube/config'
我知道我在 pod 中没有 kube 配置,因此我尝试使用 kubernetes.config.load_incluster_config()
方法启用集群配置。
from kubernetes import client, config
from openshift.dynamic import DynamicClient
config.load_incluster_config()
k8s_client = config.new_client_from_config()
dyn_client = DynamicClient(k8s_client)
我假设不再需要通过 load_incluster_config 调用提供 kube 配置。有人使用服务帐户解决了集群执行中其余客户端和 openshift 的问题吗?
感谢任何帮助,谢谢。
我的意思是,您可能已经检查过了,但确定您在正确的目录中吗?因为 运行 来自错误目录的文件会导致 "No such file or directory".
的错误我用以下方法解决了它:
if os.getenv('KUBERNETES_SERVICE_HOST'):
config.load_incluster_config()
else:
config.load_kube_config()
dyn_client = DynamicClient(ApiClient())
ApiClient 使用默认配置。