Как исправить 'Нет такого файла или каталога:' /home/jenkins/.kube/config '' при использовании load_incluster_config в python openshift rest client - PullRequest
0 голосов
/ 16 апреля 2019

Я написал скрипт, который проверяет некоторые секреты в кластере OpenShift.Я использовал библиотеку rest-client python для Openshift, и скрипт выполняется в кластере.Но я всегда получаю IOError: [Errno 2] Нет такого файла или каталога: '/home/jenkins/.kube/config'

Я знаю, что у меня нет конфигурации 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)

Я бы предположил, что больше нет необходимости предоставлять конфигурацию kube с помощью вызова load_incluster_config.Кто-то решил проблему с остальным клиентом и openshift при выполнении кластера с учетной записью службы?

Я ценю любую помощь, спасибо.

Ответы [ 2 ]

0 голосов
/ 16 апреля 2019

Я решил это следующим образом:

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

dyn_client = DynamicClient(ApiClient())

ApiClient использует конфигурацию по умолчанию.

0 голосов
/ 16 апреля 2019

Я имею в виду, вы, наверное, уже проверили это, но уверены, что находитесь в правильном каталоге?Поскольку запуск файла из неправильного каталога может привести к ошибке «Нет такого файла или каталога».

...