我已经调查了几个apachespark部署的helm图表,发现大多数使用statefulset进行部署,而不是使用普通的k8s部署资源。e、 g.microsoft/spark使用普通部署,而bitnami/spark更喜欢statefulset。我只是想知道有什么特别的理由这么做吗?
myzjeezk1#
apachespark是一个有状态服务,这些服务应该部署为statefulset。只有无状态服务应该作为部署进行部署。无状态的应用程序遵循12因素应用程序原则。使应用程序无状态化可以使其更容易作为分布式系统运行,例如kubernetes中的多个示例。但并不是所有的东西都可以是无状态的,statefulset是有状态服务的一个选项。
1条答案
按热度按时间myzjeezk1#
apachespark是一个有状态服务,这些服务应该部署为statefulset。
只有无状态服务应该作为部署进行部署。无状态的应用程序遵循12因素应用程序原则。使应用程序无状态化可以使其更容易作为分布式系统运行,例如kubernetes中的多个示例。但并不是所有的东西都可以是无状态的,statefulset是有状态服务的一个选项。