此应用包含三个Pod,每个Pod都有自己的服务:
1. nginx with php-fpm (called sample-app)
2. redis
3. queue(based on node js)
此应用以这种方式工作:
当请求进入sample-app时,此应用将请求作为作业存储在Redis中,同时队列监视Redis中是否有未处理的作业并对其进行处理(例如发送电子邮件)。
现在我的问题:
没有任何原因,没有时间顺序并且没有日志停止工作的队列窗格,有必要再次在k8s日志中告诉您看不到任何错误或警告,这很像是被卡住了没有 !!这个应用程序可以在minikube和k8s之前的VM上正常工作。 因此,每次删除队列Pod时,新创建的队列Pod即可开始正常工作并处理Redis中的作业。
我使用基准测试工具(使用ab命令从集群外部发送请求)在minikube上测试了该应用程序,没有问题且没有错误,因此每当我移至k8s并以较高的请求密度测试该应用程序时,队列吊舱也将停止工作再次作为我的第二期杂志,这个应用程序。
*有关我的群集的其他信息: k8s ver是1.15,docker ver 19.3.1,CNI插件是calico,我使用头盔。
现在有什么方法可以解决问题所在并识别问题出处吗?