通过pod访问kubernetes python api

通过pod访问kubernetes python api,python,kubernetes,minikube,kubernetes-python-client,Python,Kubernetes,Minikube,Kubernetes Python Client,所以我需要通过pod连接到python kubernetes客户端。我一直在尝试使用config.load\u incluster\u config(),基本上遵循中的示例。然而,它抛出了这些错误 File "/Users/myname/Library/Python/2.7/lib/python/site-packages/kubernetes/config/incluster_config.py", line 93, in load_incluster_config cert_fi

所以我需要通过pod连接到python kubernetes客户端。我一直在尝试使用
config.load\u incluster\u config()
,基本上遵循中的示例。然而,它抛出了这些错误

  File "/Users/myname/Library/Python/2.7/lib/python/site-packages/kubernetes/config/incluster_config.py", line 93, in   load_incluster_config
  cert_filename=SERVICE_CERT_FILENAME).load_and_set()
  File "/Users/myname/Library/Python/2.7/lib/python/site- packages/kubernetes/config/incluster_config.py", line 45, in load_and_set
  self._load_config()
  File "/Users/myname/Library/Python/2.7/lib/python/site-packages/kubernetes/config/incluster_config.py", line 51, in _load_config
  raise ConfigException("Service host/port is not set.")
我正在使用Python 2.7和Minikube 任何提示或建议都将不胜感激。多谢各位

所以我需要通过pythonapi连接到这个pod

我很确定你误解了,和/或我误解了你的问题。只能在以下情况下使用
load\u incluster\u config
。。。在集群中。。。否则,它将尝试使用
/var/run/secrets/kubernetes.io/etcetc
,但找不到它们(在您上面引用的实际错误中缺少的环境变量之上)。但是,如果您按照建议使用
if os.getenv('KUBERNETES\u SERVICE\u HOST'):
来保护
load\u incluster\u config()
,那么它就不会运行该代码,这里的问题也不会成为问题

如果您构建了一个docker映像,但没有将其部署到kubernetes中,那么这还不清楚


如果您只想使用python api访问集群,而不是从集群内部访问集群,
config.load\u kube\u config()
实际上是正确的方法调用,但您绝对需要提供一个有效的
kubeconfig
,无论是在
/root/.kube/config
还是在env-var
KUBECONFIG
指定的另一个位置(我的意思是,通常;我没有专门查看python库以查看该env-var是否受到尊重)