活动和就绪状态探针连接被拒绝

问题描述

当我尝试为我的awx_web容器设置活动和就绪概率时,我总是收到此错误

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

我的部署中容器awx_web的“活动与就绪”部分

          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的容器相同的名称空间中的另一个容器打开,或者是否测试使用与容器awx_web相同的容器中部署的容器,我会得到此提示(端口是开放的)

/ # 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

解决方法

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

您是否检查了没有探针的应用程序是否正常运行?我建议先这样做。仔细检查Pod的统计信息,以确保其不会重新启动。

,

我重新创建了您的问题,看来您的问题是由于活动性探针的initialDelaySeconds值太小引起的。

awx容器打开8052端口需要5秒钟以上的时间。 您需要等待更长的时间才能启动。我发现将它设置为15s就足够了,但是您可能需要进行一些调整。