是否有人设法在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存储库中,至少有三个代码示例可用于其他环境。
https://github.com/h2oai/h2o-3/tree/master/ec2
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
关于kubernetes - Kubernetes中的H2O,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43109777/