Если вы видите исходный код модуля kube_config , вы можете использовать различные аргументы с методом load_kube_config для выбора кластера:
def load_kube_config(config_file=None, context=None,
client_configuration=None,
persist_config=True):
"""Loads authentication and cluster information from kube-config file
and stores them in kubernetes.client.configuration.
:param config_file: Name of the kube-config file.
:param context: set the active context. If is set to None, current_context
from config file will be used.
:param client_configuration: The kubernetes.client.Configuration to
set configs to.
:param persist_config: If True, config file will be updated when changed
(e.g GCP token refresh).
"""
Если я правильно понял код, вы можете сделать что-то вроде следующего:
from kubernetes import client, config
for file in files:
config.load_kube_config(config_file=file)
v1 = client.CoreV1Api()
response = v1.list_namespace()
print(response)
РЕДАКТИРОВАТЬ: Этот является примером, который использует контекстАргумент с одним файлом kubeconfig для перебора нескольких кластеров.В документации kubernetes есть запись о Объединение файлов kubeconfig .По сути, имея файл конфигурации с несколькими контекстами, вы можете загрузить файл с config.load_kube_config(config_file=file)
и загрузить контексты с client.load_kube_config(context="context2')
PS. Вам не нужно использовать config.load_kube_config () если вы хотите использовать файл конфигурации в пути по умолчанию ( '~ / .kube / config' ) или если вы указали путь в переменной среды KUBECONFIG.