gpt4 book ai didi

kubernetes - Gitlab 安装的 Helm : Error: context deadline exceeded

转载 作者:行者123 更新时间:2023-12-01 03:07:17 25 4
gpt4 key购买 nike

我在 AWS 中安装了一个带有 Kops 的 Kubernetes 集群。我已经使用 Gitlab UI 安装了 Helm Tiller。 Tiller 服务似乎通过 Gitlab 工作,例如我已经从 Gitlab UI 安装了 Ingress。

但是当我试图从我的 CLI 中使用同一个 Tiller 时,我无法让它工作。当我helm init它说它已经安装(这是完全有道理的):

helm init --tiller-namespace gitlab-managed-apps --service-account tiller
$HELM_HOME has been configured at C:\Users\danie\.helm.
Warning: Tiller is already installed in the cluster.
(Use --client-only to suppress this message, or --upgrade to upgrade Tiller to the current version.)
Happy Helming!

但是,例如,当尝试列出图表时,它需要 5 分钟然后超时:
$ helm list --tiller-namespace gitlab-managed-apps --debug
[debug] Created tunnel using local port: '60471'

[debug] SERVER: "127.0.0.1:60471"

Error: context deadline exceeded

我缺少什么所以我可以从我的 CLI 使用 Gitlab 安装的 Tiller?

最佳答案

您确定您的 Tiller 服务器安装在“gitlab-managed-apps”命名空间中吗?默认情况下,它按照官方 installation 安装到“kube-system”之一GitLab 网站上的说明,这意味着这就是导致您 helm ls 的原因。命令失败(跳过它)

验证它的最佳方法是通过:

kubectl get deploy/tiller-deploy -n gitlab-managed-apps

您是否在该命名空间中看到任何与分蘖相关的部署对象?

假设您可以使用当前的 kube 上下文操作 KOPS 集群,那么在本地运行 helm 客户端应该没有问题。您始终可以明确使用 --kube-context与 helm 命令的参数。

更新:

我想我知道是什么导致了您的问题,通过 GitLab UI 安装的 Helm 在 helm 和 Tiller 之间使用安全连接 (SSL)(证明 here)。

知道这一点,这意味着您应该从安装在 Tiller Pod 上的 Secret 对象中检索一组证书:
#The CA
ca.cert.pem
ca.key.pem
#The Helm client files
helm.cert.pem
helm.key.pem
#The Tiller server files
tiller.cert.pem
tiller.key.pem

然后使用以下命令将 helm 客户端连接到分蘖服务器,如 here 所述:
helm ls --tls --tls-ca-cert ca.cert.pem --tls-cert helm.cert.pem --tls-key helm.key.pem

关于kubernetes - Gitlab 安装的 Helm : Error: context deadline exceeded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55588170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com