0

我正在尝试为 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

4

1 回答 1

0

我将尝试从 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“修复”了错误,但将来可能会导致更多问题。为避免这种情况,我建议使用正确的配置将其添加回来:

探针有许多字段,您可以使用它们来更精确地控制活动性和就绪性检查的行为:

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

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

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

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

  • failureThreshold:当一次探测失败时,Kubernetes 会尝试 failureThreshold 次才放弃。在 liveness probe 的情况下放弃意味着重新启动容器。在就绪探测的情况下,Pod 将被标记为未就绪。默认为 3。最小值为 1。

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

于 2021-04-27T11:49:25.193 回答