我正在开发一个集群,在 Instagram 上进行大量抓取以找到有价值的帐户,然后向他们发送消息询问他们是否有兴趣出售自己的帐户。这就是我的应用程序的组成:
除此之外,我正在考虑将每个步骤的每个数据上传到单独集合中的数据库(步骤 1 中收集的整个帐户、步骤 2 中收集的细化帐户以及步骤 3 中的消息用户)。我还在考虑开发一个 slack 机器人,通过向我发送错误报告来处理错误,并最终在用户响应时向我发送消息。正如您所看到的,该应用程序有很多不同的部分,这就是为什么我认为使用 Kubernetes 来实现此目的是一个好主意。
我最初的方法是让节点中的每个 pod 都成为 REST API。然后,每次我希望它们运行时,我都可以向每个 pod 发送请求。但如果认为这不是最佳解决方案,也不是 Kubernetes 方式的方法。
小智 5
按照您描述的方式实现它的唯一方法是从 pod 内部与 Kubernetes API 服务器进行通信。这需要做几件事(添加服务帐户和角色绑定、使用 kubernetes 客户端等),并且我不建议将其作为常规应用程序流程(除非您是尝试提供一些通用/实用解决方案的开发人员)。
从另一个角度来看 - 如果可能的话,应该避免在 Pod 和作业之间共享卷(这会增加复杂性和限制)
作为初学者,您可以在这里进行更多讨论 - https://kubernetes.io/docs/tasks/administer-cluster/access-cluster-api/#accessing-the-api-from-within-a-pod 。
如果我可以建议一些解决方案:
您可以共享 S3 卷并安排 Cronjob 每隔一段时间运行一次。如果 cronjob 找到数据 - 它会处理它。因此,您不需要从 Pod 内部触发作业。
两个服务,通过 http 发送数据(如果可行) - 第二个服务在没有请求时不会执行任何操作。
如果您分享您的用例并提供一些详细信息,可能会提供更好的答案。
干杯
| 归档时间: |
|
| 查看次数: |
5304 次 |
| 最近记录: |