0

我编写了一个脚本来检查 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 在集群执行中的问题?

我感谢任何帮助,谢谢。

4

2 回答 2

0

我的意思是,您可能已经检查过这个,但确定您在正确的目录中?因为从错误的目录运行文件会导致“没有这样的文件或目录”的错误。

于 2019-04-16T08:48:16.450 回答
0

我用以下方法解决了它:

if os.getenv('KUBERNETES_SERVICE_HOST'):
    config.load_incluster_config()
else:
    config.load_kube_config()

dyn_client = DynamicClient(ApiClient())

ApiClient 使用默认配置。

于 2019-04-16T10:39:24.917 回答