【发布时间】:2021-12-26 15:44:36
【问题描述】:
我有一个在 Docker 容器中运行的测试 Kubernetes 集群 (Minikube)。
我想编写一些 Python 代码来启动该集群上的作业。如果我进入容器:
$ docker exec -it kubernetes /bin/sh
#/ apk add python3
#/ apk add py3-pip
#/ pip install kubernertes
#/ pyhton3
>>> from kubernetes import config, client
>>> config.load_kube_config()
它可以工作,然后我可以创建一个客户端并做我的事情。
但是,如果我从主机运行相同的 Python 命令:
>>> config.load_kube_config()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/path/to/python/kubernetes/config/kube_config.py", line 814, in load_kube_config
loader = _get_kube_config_loader(
File "/path/to/python/kubernetes/config/kube_config.py", line 773, in _get_kube_config_loader
raise ConfigException(
kubernetes.config.config_exception.ConfigException: Invalid kube-config file. No configuration found.
这是有道理的,因为 Kubernetes 没有在机器上运行。我该如何解决这个问题?有没有其他方法来获取配置文件?
【问题讨论】:
-
你没试过使用config.load_incluster_config() 吗?
-
不就是在 Pod 中运行代码的时候吗?
标签: python kubernetes