是否有人设法在Kubernetes中运行H2O集群?

我尝试了2个选项,都使用flatfile 1)使用StatefulSet,但是由于为pod生成的ip可以更改群集是不可靠的,所以2)使用了一对服务/部署对,并指定了flatfile和服务的dns名称,但是群集无法正确启动

以上都不是。有什么办法可以使其工作?

最佳答案

如果可以在Pod之间传输多播数据包,则可以依靠它来形成集群。只需为要共享的所有节点指定唯一的-name。如果可行,这很容易,无需更改代码。

更新(2018/04/21)-我的一位同事说:

我将weave用作网络层,其作用是为该kubernetes pod组提供了所有容器之间的连接,然后您无需在H2O中使用平面文件,因为h2o将在启动时进行多播,weave将采用多播并发送它到 pods 的所有实例。

在K8s中运行以下命令:kubectl apply --filename https://git.io/weave-kube-1.6

如果不能选择多播,今天就没有我所知道的Kubernetes的即用型解决方案。

您将需要一个协调器来分发平面文件信息。

在H2O github存储库中,至少有三个代码示例可用于其他环境。

  • ec2脚本

  • https://github.com/h2oai/h2o-3/tree/master/ec2
  • hadoop驱动程序

  • https://github.com/h2oai/h2o-3/blob/master/h2o-hadoop/h2o-mapreduce-generic/src/main/java/water/hadoop/h2omapper.java

    特别要看一下如何重写此类:

    https://github.com/h2oai/h2o-3/blob/master/h2o-core/src/main/java/water/init/AbstractEmbeddedH2OConfig.java
  • 苏打水 repo 中的苏打水驱动程序。
  • 关于kubernetes - Kubernetes中的H2O,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43109777/

    10-12 23:42