【问题标题】:Access Kubernetes from another machine using Python使用 Python 从另一台机器访问 Kubernetes
【发布时间】: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 没有在机器上运行。我该如何解决这个问题?有没有其他方法来获取配置文件?

【问题讨论】:

标签: python kubernetes


【解决方案1】:

配置应该在~/.kube/config路径中

mkdir -p ~/.kube/
cp <current config path> ~/.kube/config
#below steps verify  if your config is proper
export KUBECONFIG=~/.kube/config 
kubectl get pods

一旦上述步骤工作正常,您可以尝试运行 python 脚本

【讨论】:

  • Kubernetes 不在机器上。它在容器中运行。我的问题是关于使用 Python 从容器外部向该实例发送查询。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-25
  • 2021-08-15
  • 1970-01-01
  • 1970-01-01
  • 2018-07-28
  • 1970-01-01
  • 2019-08-31
相关资源
最近更新 更多