2

当我尝试为我的 awx_web 容器设置 liveness & readiness prob 时,我不断收到此错误

Liveness probe failed: Get http://POD_IP:8052/: dial tcp POD_IP:8052: connect: connection refused

我的容器 awx_web 部署中的 Liveness & Readiness 部分

          ports:
          - name: http
            containerPort: 8052 # the port of the container awx_web
            protocol: TCP
          livenessProbe:
            httpGet:
              path: /
              port: 8052
            initialDelaySeconds: 5
            periodSeconds: 5
          readinessProbe:
            httpGet:
              path: /
              port: 8052
            initialDelaySeconds: 5
            periodSeconds: 5

如果我测试端口 8052 是否从与包含容器 awx_web 的 pod 位于同一命名空间中的另一个 pod 中打开,或者如果我使用与容器 awx_web 部署在同一 pod 中的容器进行测试,我会得到这个(端口已打开)

/ # nc -vz POD_IP 8052
POD_IP  (POD_IP :8052) open

如果我从部署包含容器 awx_web 的 pod 的工作节点使用 netcat (nc),我会得到相同的结果(端口 8052 已打开)。

有关信息,我使用 NodePort 服务将流量重定向到该容器(awx_web)

type: NodePort
ports:
- name: http
  port: 80
  targetPort: 8052
  nodePort: 30100
4

2 回答 2

5

我重新创建了您的问题,看起来您的问题是由initialDelaySecondsliveness probe 的值太小引起的。

awx 容器打开 8052 端口需要 5s 以上。您需要稍等片刻才能启动。我发现将其设置为 15 秒对我来说就足够了,但您可能需要进行一些调整。

于 2020-09-16T11:30:59.563 回答
0

您的应用程序很可能在启动后无法启动或崩溃。这可能是由于内存和cpu资源不足。或者 awx 依赖项之一未正确设置,如 postgreslq 和 rabbit。

您是否检查过您的应用程序是否在没有探针的情况下正常工作?我建议先这样做。稍微检查一下 pod 统计信息以确保它不会重新启动。

于 2020-09-15T21:30:16.017 回答