kubernetes Pod重新启动,但我在日志中没有看到任何问题

evrscar2  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(1)|浏览(123)

我们有一个EKS集群1.21(我们很快将其升级到1.24),其中Pod似乎定期重新启动,我检查了日志和内存使用情况,但没有看到任何可以指向重新启动原因的东西。
我在分离舱的事件中看到了这一点

LAST SEEN   TYPE      REASON      OBJECT                                     MESSAGE
52m         Warning   Unhealthy   pod/backend-6cc49d746-ztnvv   Readiness probe failed: Get "http://192.168.29.43:80/users/sign_in": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
52m         Warning   Unhealthy   pod/backend-6cc49d746-ztnvv   Readiness probe failed: Get "http://192.168.29.43:3000/users/sign_in": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
52m         Warning   Unhealthy   pod/backend-6cc49d746-ztnvv   Liveness probe failed: Get "http://192.168.29.43:3000/users/sign_in": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
52m         Warning   Unhealthy   pod/backend-6cc49d746-ztnvv   Liveness probe failed: Get "http://192.168.29.43:80/users/sign_in": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

我的就绪和活跃探测器只是通过加载登录页面进行检查。这已经工作了很长一段时间,但突然我们注意到重新启动计数

livenessProbe:
          failureThreshold: 3
          httpGet:
            path: /users/sign_in
            port: 80
            scheme: HTTP
          periodSeconds: 15
          successThreshold: 1
          timeoutSeconds: 5
        name: nginx
        ports:
        - containerPort: 80
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /users/sign_in
            port: 80
            scheme: HTTP
          periodSeconds: 15
          successThreshold: 1
          timeoutSeconds: 5

我看到这一点时,我描述的吊舱时,其在重新启动模式

Containers:
  1:
    Container ID:   docker://cf5b2086db6d55f
    Image:          60
    Image ID:       1
    Port:           3000/TCP
    Host Port:      0/TCP
    State:          Running
      Started:      Sun, 17 Sep 2023 17:01:21 +0200
    Last State:     Terminated
      Reason:       Error
      Exit Code:    137
      Started:      Sun, 17 Sep 2023 16:01:21 +0200
      Finished:     Sun, 17 Sep 2023 17:01:18 +0200
    Ready:          True
    Restart Count:  3

看起来退出代码137是当容器正在使用更多的内存,但我没有指定任何内存限制,它使用的默认值是什么?会不会是内存问题导致了重启?
我不知道在什么方向调查,以解决这个问题,任何帮助将是伟大的。

ih99xse1

ih99xse11#

由于错误显示 “Client. received while waiting header”,这意味着Kubernetes认为探测失败,因为它没有在指定时间内响应。
所有需要做的就是将livenessProbe和readinessProbe的timeoutSeconds增加到10秒。

**timeoutSeconds:**此参数是活动探测器和就绪探测器配置的一部分。它指定探测超时的秒数。默认值为1秒。如果探测器在指定的timeoutSeconds内没有响应,Kubernetes会认为探测器失败。

相关问题