Подача клиента Python Kubernetes с помощью heredoc вместо пути к файлу

Есть ли простой способ создать объект конфигурации для клиента Python Kubernetes, передав переменную, содержащую YAML файла kubeconfig?

Довольно легко сделать что-то вроде:

from kubernetes import client, config, watch
def main():
    config.load_kube_config()

or

from kubernetes import client, config, watch
def main():
    config.load_incluster_config()

Но я хотел бы создать конфиг на основе переменной с помощью YAML kubeconfig, скажем, у меня есть:

k8s_config = yaml.safe_load('''
apiVersion: v1
clusters:
- cluster:
    insecure-skip-tls-verify: true
    server: https://asdf.asdf:443
  name: cluster
contexts:
- context:
    cluster: cluster
    user: admin
  name: admin
current-context: admin
kind: Config
preferences: {}
users:
- name: admin
  user:
    client-certificate-data: LS0tVGYUZiL2sxZlRFTkQgQ0VSVElGSUNBVEUtLS0tLQo=
    client-key-data: LS0tLS1CRUdJTiBSU0EgU0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
''')

И я хотел бы загрузить его как:

config.KubeConfigLoader(k8s_config)

Причина в том, что я не могу сохранить содержимое kubeconfig перед загрузкой конфигурации.

Я получаю следующую ошибку: «Ошибка: модуль 'kubernetes.config' не имеет атрибута 'KubeConfigLoader'»


person ccamacho    schedule 27.05.2020    source источник


Ответы (1)