首页 > 解决方案 > helm3 安装失败:安装后失败:等待条件超时

问题描述

我是 Kubernetes 和 Helm 的新手。我已经安装了k3d和helm:k3d版本v1.7.0 k3s版本v1.17.3-k3s1

helm version
version.BuildInfo{Version:"v3.2.4", GitCommit:"0ad800ef43d3b826f31a5ad8dfbb4fe05d143688", GitTreeState:"clean", GoVersion:"go1.13.12"}

我确实有一个使用 10 个工作节点创建的集群。当我尝试在集群上安装 stackstorm-ha 时,我看到以下问题:

helm install stackstorm/stackstorm-ha --generate-name --debug
client.go:534: [debug] stackstorm-ha-1592860860-job-st2-apikey-load: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
Error: failed post-install: timed out waiting for the condition
helm.go:84: [debug] failed post-install: timed out waiting for the condition
njbbmacl2813:~ gangsh9$ kubectl get pods
Unable to connect to the server: net/http: TLS handshake timeout

kubectl describe pods 显示:

Events:
  Type     Reason     Age                 From                             Message
  ----     ------     ----                ----                             -------
  Normal   Scheduled  <unknown>           default-scheduler                Successfully assigned default/stackstorm-ha-1592857897-st2api-7f6c877b9c-dtcp5 to k3d-st2hatest-worker-5
  Warning  Failed     23m                 kubelet, k3d-st2hatest-worker-5  Error: context deadline exceeded
  Normal   Pulling    17m (x5 over 37m)   kubelet, k3d-st2hatest-worker-5  Pulling image "stackstorm/st2api:3.3dev"
  Normal   Pulled     17m (x5 over 28m)   kubelet, k3d-st2hatest-worker-5  Successfully pulled image "stackstorm/st2api:3.3dev"
  Normal   Created    17m (x5 over 28m)   kubelet, k3d-st2hatest-worker-5  Created container st2api
  Normal   Started    17m (x4 over 28m)   kubelet, k3d-st2hatest-worker-5  Started container st2api
  Warning  BackOff    53s (x78 over 20m)  kubelet, k3d-st2hatest-worker-5  Back-off restarting failed container

或者

Events:
  Type     Reason     Age                    From                             Message
  ----     ------     ----                   ----                             -------
  Normal   Scheduled  <unknown>              default-scheduler                Successfully assigned default/stackstorm-ha-1592857897-st2timersengine-c847985d6-74h5k to k3d-st2hatest-worker-2
  Warning  Failed     6m23s                  kubelet, k3d-st2hatest-worker-2  Failed to pull image "stackstorm/st2timersengine:3.3dev": rpc error: code = Unknown desc = failed to pull and unpack image "docker.io/stackstorm/st2timersengine:3.3dev": failed to resolve reference "docker.io/stackstorm/st2timersengine:3.3dev": failed to authorize: failed to fetch anonymous token: Get https://auth.docker.io/token?scope=repository%3Astackstorm%2Fst2timersengine%3Apull&service=registry.docker.io: net/http: TLS handshake timeout
  Warning  Failed     6m23s                  kubelet, k3d-st2hatest-worker-2  Error: ErrImagePull
  Normal   BackOff    6m22s                  kubelet, k3d-st2hatest-worker-2  Back-off pulling image "stackstorm/st2timersengine:3.3dev"
  Warning  Failed     6m22s                  kubelet, k3d-st2hatest-worker-2  Error: ImagePullBackOff
  Normal   Pulling    6m10s (x2 over 6m37s)  kubelet, k3d-st2hatest-worker-2  Pulling image "stackstorm/st2timersengine:3.3dev"

有点卡在这里。

任何帮助将不胜感激。

标签: kubernetes

解决方案


TLS handshake timeout当您运行部署的机器资源不足时,该错误非常常见。替代问题是由缓慢的互联网连接或某些代理设置引起的,但我们排除了这种情况,因为您可以在本地提取和运行 docker 映像并在集群中部署小型 nginx 网络服务器。

正如您在stackstormhelm 图表中可能注意到的那样,它在集群中安装了大量的服务/pod,这可能会占用大量资源。

它将为 StackStorm 微服务的每个组件安装 2 个副本以实现冗余,以及 st2 分别依赖于 MQ、DB 和分布式协调的 RabbitMQ HA、MongoDB HA Replicaset 和 etcd 集群等后端。

stackstorm在 k3d 和 GKE 上都进行了部署,但我必须使用快速机器才能快速成功地部署它。

NAME: stackstorm
LAST DEPLOYED: Mon Jun 29 15:25:52 2020
NAMESPACE: default
STATUS: deployed
REVISION: 1
NOTES:
Congratulations! You have just deployed StackStorm HA!

推荐阅读