Kubernetes AWS Fargate (EKS) 持续终止 pod 托管 React 服务

Kubernetes AWS Fargate (EKS) continuously terminating pod hosting React service

我正在使用 AWS EKS(托管 Kubernetes 服务)和 Fargate(托管节点)在端口 5000 上部署一个 pod 运行 一个 nodejs React 服务。该 pod 从“运行”状态切换部署到 Fargate 后立即连续进入“终止”状态。最终,它选择了“运行”。其他 pods 在 Fargate 上 运行 没问题。

由于 Kubernetes 报告 net/http: TLS handshake timeout,我无法查看日志。

该服务以 AWS 应用程序负载均衡器 (ALB) 为前端。在目标组中,我可以看到不断注册和注销pod/node IP。

我该如何进一步解决这个问题?

一些解决问题的方法:

  • 使用 kubectl,如果您的 pods 是 运行 K8s 部署:
    kubectl describe deployment <deployment-name>  check for events
    
  • 使用 kubectl,在 pod 进入 Terminating 之前
    kubectl logs <pod-id>
    kubectl describe pod <pod-id>  check for events
    
  • 检查您要将它们发送到的 S3 存储桶中的 EKS 控制平面日志。

这里的想法是使用 Kubernetes 工具进行故障排除。

由于计算分配 0.25 vCPU 和 0.5 GB,React 服务似乎需要很长时间才能启动,最终在 10 分钟后失败。我们在部署清单中设置了以下资源请求和限制。 Pod 在几分钟内启动,没有任何问题。

          resources:
            limits:
              cpu: 1000m
              memory: 2000Mi
            requests:
              cpu: 800m
              memory: 1500Mi