所以我需要通过一个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 任何提示或建议,将不胜感激。谢谢。
答案 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。