通过pod访问kubernetes python API

时间:2018-06-29 00:36:17

标签: python kubernetes minikube kubernetes-python-client

所以我需要通过一个Pod连接到python kubernetes客户端。我一直在尝试使用for(let key in rules) { if(key in obj) { if('pgName' in rules[key]){ if(typeof obj[key].pgName !== rules[key].pgName){ console.log(key + " pgName" + " Should be a " + rules[key].pgName); } } if('minLenght' in rules[key]){ if (obj[key].pgName.length <= rules[key].minLenght){ console.log(key + " pgName" + " Should have at least " + rules[key].minLenght+ " characters "); } } ,基本上遵循here中的示例。但是,它会引发这些错误。

config.load_incluster_config()

我正在使用Python 2.7和Minikube 任何提示或建议,将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:3)

  

所以我需要以某种方式通过python API连接到该pod

我很确定您误解了my answer,和/或我误解了您的问题。一个人仅应在群集内时使用load_incluster_config,否则它将尝试使用/var/run/secrets/kubernetes.io/etcetc而找不到它们(在上面引用的实际错误中,缺少缺失的env-var之上和之外) )。但是,如果您按照建议使用load_incluster_config()来保护if os.getenv('KUBERNETES_SERVICE_HOST'):,那么它将不会运行该代码,并且这里的问题也不会成为问题。

如果您已经构建了docker映像,但是没有将其部署到kubernetes中,则不清楚。


如果您只想使用python API来访问集群,而不是从集群内 内访问,则config.load_kube_config()实际上是正确的方法调用,但是无论在kubeconfig还是在env-var /root/.kube/config指定的其他地方,您都绝对需要提供一个有效的KUBECONFIG(我的意思是,通常;我没有特别注意进入python库以查看是否尊重env-var。