kubernetes - 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"
有点卡在这里。
任何帮助将不胜感激。
解决方案
TLS handshake timeout
当您运行部署的机器资源不足时,该错误非常常见。替代问题是由缓慢的互联网连接或某些代理设置引起的,但我们排除了这种情况,因为您可以在本地提取和运行 docker 映像并在集群中部署小型 nginx 网络服务器。
正如您在stackstorm
helm 图表中可能注意到的那样,它在集群中安装了大量的服务/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!
推荐阅读
- javascript - 如何检查函数是否抛出包含 Jest 文本的错误?
- mongodb - MongoDb 显示非白名单 IP 地址的连接
- python - 如果 Twilio 调用使用 Django 结束,如何在 sounddevice python 库中停止录音?
- python - 如何将行值相加并合并到pandas dataframe python 3中?
- html - 我的 CSS 编码没有反映在我的页面上
- json - Flutter中需要将API数据设置为条形图
- javascript - 如何从 `componentDidMount `(使用 Redux)获取状态?
- xml - 如何使用 powershell 创建一种 XML 结构的多种变体?
- sql - EF Core with Angular - 在 SQL Profiler 中快速查询,在实践中慢
- python - Tkinter Canvas create_window 函数未显示所需的小部件