更新
这与发布的评论略有不同,后者询问链接的问题是否解决了我的问题。问题是容器中的 helm 正在尝试连接,localhost
这是不正确的。它应该从KUBECONFIG
传入的环境变量中读取我的信息。除非 helm 试图启动一个容器并连接到它……这肯定会导致连接被拒绝,因为那行不通。
原来的
我们在 CI 环境中使用 helm 容器来执行 helm 命令,它运行得非常顺畅。我试图在本地从容器中复制成功运行 helm 的情况,但运气不佳。我 99% 确定这是一个配置问题,但我无法在互联网上找到任何特定于这种情况的信息。这是我的脚本中的 docker 命令片段。我一直在使用以下ls
参数进行测试:
docker run \
-v $(pwd):/apps \
-v "${HOME}/.kube:/root/.kube" \
-v "${HOME}/.helm:/root/.helm" \
-e KUBECONFIG=${HOME}/foo/kubeconfig \
-it \
-w "$(pwd)" \
-ti \
docker-dev.foo.com/bar/bat/helm helm "$@"
这是我得到的错误:
Error: Get http://localhost:8080/api/v1/namespaces/kube-system/pods?labelSelector=app%3Dhelm%2Cname%3Dtiller: dial tcp 127.0.0.1:8080: connect: connection refused
如果我在本地进行helm ls
(即外部由于我使用的是容器,所以一切工作正常,这就是为什么我相信这是一个配置问题。