【问题标题】:Error running Canary Deployment in Spinnaker在 Spinnaker 中运行 Canary 部署时出错
【发布时间】:2021-04-23 10:07:35
【问题描述】:

我正在尝试为 AWS eks 启用金丝雀部署,但我的 kayenta pod 没有启动。当我描述 pod 时,我看到了这个错误。有人可以帮忙吗?

  Warning  Unhealthy  12m (x2 over 12m)     kubelet            Readiness probe failed: wget: can't connect to remote host (127.0.0.1): Connection refused
  Warning  Unhealthy  2m56s (x59 over 12m)  kubelet            Readiness probe failed: wget: server returned error: HTTP/1.1 503

这是 pod 的状态:

NAME                               READY   STATUS    RESTARTS   AGE
spin-clouddriver-d796bdc59-tpznw   1/1     Running   0          3h40m
spin-deck-77cc75b57d-w7rfp         1/1     Running   0          3h40m
spin-echo-db954bb9-phfd5           1/1     Running   0          3h40m
spin-front50-7c5684cf9-t7vl8       1/1     Running   0          3h40m
spin-gate-78d6779854-7xqz4         1/1     Running   0          3h40m
spin-kayenta-6d7b5fdfc6-p5tcp      0/1     Running   0          21m
spin-kayenta-869c46bfcf-8t5fh      0/1     Running   0          28m
spin-orca-7ddd66758d-mpnkg         1/1     Running   0          3h40m
spin-redis-5975cfcdc8-rnm9g        1/1     Running   0          45h
spin-rosco-b7dbb577-z4szz          1/1     Running   0          3h40m

【问题讨论】:

  • 您好@WahajAkmal,欢迎来到 Stack Overflow!你能检查一下你使用的是哪个CNI吗? CNI pod 是否已启动并正在运行?另外,请检查您的ReadinessProbe 配置并通过编辑您的问题与我们分享。
  • 嘿,谢谢您欢迎我,我已从 kayenta 部署中删除了 ReadinessProbe,现在它工作正常,但我认为它不是解决问题的理想方法。目前还没有网络政策。

标签: amazon-web-services kubernetes amazon-eks spinnaker spinnaker-halyard


【解决方案1】:

我会尝试从 Kubernetes 的角度解决您的问题。

您遇到的错误:

  Warning  Unhealthy  12m (x2 over 12m)     kubelet            Readiness probe failed: wget: can't connect to remote host (127.0.0.1): Connection refused
  Warning  Unhealthy  2m56s (x59 over 12m)  kubelet            Readiness probe failed: wget: server returned error: HTTP/1.1 503

表示您的ReadinessProbe 配置存在问题。从部署中删除ReadinessProbe“修复”了错误,但将来可能会导致更多问题。为避免这种情况,我建议将其添加回 proper configuration:

探针有许多字段,您可以更精确地使用它们 控制 liveness 和 readiness 检查的行为:

  • initialDelaySeconds: 容器启动后的活跃度或就绪性探测启动前的秒数。默认为 0 秒。最小值为 0。

  • periodSeconds:执行探测的频率(以秒为单位)。默认为 10 秒。最小值为 1。

  • timeoutSeconds:探测超时的秒数。默认为 1 秒。最小值为 1。

  • successThreshold:探测失败后被视为成功的最小连续成功。默认为 1。必须为 1 为活泼。最小值为 1。

  • failureThreshold:当一次探测失败时,Kubernetes 会尝试 failureThreshold 次才放弃。万一活了就放弃 probe 表示重启容器。在准备就绪的情况下,探测 Pod 将被标记为未就绪。默认为 3。最小值为 1。

您需要根据您的应用行为(通常通过反复试验)调整探测器的配置。我推荐的两个可以帮助您的资源是:

【讨论】:

  • 是的,它澄清了事情并奏效了。谢谢!!
猜你喜欢
  • 2019-07-08
  • 2020-04-21
  • 2018-12-18
  • 1970-01-01
  • 2017-08-23
  • 2020-08-03
  • 2015-10-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多