如何从 docker 镜像运行 helm

如何从 docker 镜像运行 helm

更新 这与发布的评论略有不同,后者询问链接的问题是否解决了我的问题。问题是容器中的 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(即外部由于我使用的是容器,所以一切工作正常,这就是为什么我相信这是一个配置问题。

相关内容