是否有一种简单的方法可以通过传递包含 kubeconfig 的 YAML 的变量来为 Python Kubernetes 客户端创建配置对象?
执行以下操作相当容易:
from kubernetes import client, config, watch
def main():
config.load_kube_config()
或者
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'”