Amazon s3 Kubernetes活动性和就绪性探测的正确实现

Amazon s3 Kubernetes活动性和就绪性探测的正确实现,amazon-s3,kubernetes,apache-kafka,containers,Amazon S3,Kubernetes,Apache Kafka,Containers,给定一个Python应用程序,该应用程序在无限循环中轮询Kafka主题,并在处理收到的Kafka消息后将结果上载到s3 bucket 在定义Kubernetes的就绪性和活跃性探测器时,应该考虑哪些事项 准备就绪探针中包含以下内容是否合理: s3存储桶是否存在 卡夫卡的主题是存在的 轮询Kafka主题的循环已初始化 而liveness探测器只检查轮询循环是否未退出 在readiness probe中检查这些东西严格来说是一种不好的做法吗?我不会在Kubernetes probe中检查这些东西。让

给定一个Python应用程序,该应用程序在无限循环中轮询Kafka主题,并在处理收到的Kafka消息后将结果上载到s3 bucket

在定义Kubernetes的就绪性和活跃性探测器时,应该考虑哪些事项

准备就绪探针中包含以下内容是否合理:

  • s3存储桶是否存在
  • 卡夫卡的主题是存在的
  • 轮询Kafka主题的循环已初始化
  • 而liveness探测器只检查轮询循环是否未退出


    在readiness probe中检查这些东西严格来说是一种不好的做法吗?

    我不会在Kubernetes probe中检查这些东西。让您的应用程序启动自行检查它们,如果环境不适合,请立即退出。您的pod将以CrashLoopBackOff状态显示,并将重新启动几次,但很明显出现了问题


    在应用程序运行时,这些东西可能会失败,但您应该能够注意到这一点。例如,普罗米修斯(Prometheus)这样的度量系统可以帮助您注意到大多数S3请求是否失败。如果可以检查Kafka listener主循环是否已退出,也可以重新启动它。

    Python代码是否正在写入S3?为什么不使用Kafka S3连接器呢?两者之间涉及大量的处理。如果S3限制您的上传请求,您不能将“已处理的消息”作为缓冲区发送回Kafka?