Kubernetes 集群架构

Kubernetes cluster architecture

为我的 Cassandra 实例创建一个单独的 Kubernetes 集群有意义吗? 应用层一个集群?服务集群同地域同可用区时是否可以访问数据库集群?

还是让一个集群具有不同的池更好——一个池用于服务层,一个池用于数据库节点?

谢谢

就您希望如何设计整个架构而言,这更像是一种折腾或意见。以下是一些需要考虑的事项:

同一个集群:

  • 优点
    • 工作负载不需要转到不同的 podCidr 来获取其数据。
    • 您可以在同一组服务器中优化您的资源。
      • 这是人们使用容器编排器和容器的主要原因之一。
      • 它允许您在同一组资源上 运行 多种不同类型的工作负载。
  • 缺点
    • 如果您的集群 运行ning Cassandra 出现问题,您可能会丢失数据。或者,如果您有备份,则会暂时丢失数据。 (停机时间更长)
    • 如果您想在安全方面超级隔离数据库和应用程序,可能会更难。

不同的集群:

  • 优点

    • 'Safer' 如果您的集群之一出现故障。
    • 静态数据安全性方面的更多分离。
  • 缺点

    • 资源可能没有得到最佳利用。让一些 CPU、内存等闲置。
    • 更多基础设施管理。

不同的节点池:

  • 优点
    • 静态数据分离
    • 仍在使用相同的 PodCidr。
  • 缺点
    • 不同节点池的更多管理。
    • 资源可能没有得到最佳利用。