Openshift 露天榛

Openshift 露天榛,openshift,hazelcast,Openshift,Hazelcast,是否可以在openshift上为hazelcast打开一个端口?无论我尝试哪个端口,都会得到相同的异常: SocketException: Permission denied 我不是想向世界开放这个港口。我只想打开一个端口,以便齿轮可以使用Hazelcast。这似乎是可能的。在OpenShift上,您应该只将WebSocket绑定到端口8000或8443 见: 在OpenShift上,您应该只将WebSocket绑定到端口8000或8443 见: 您可能需要使用HTTP隧道来连接H

是否可以在openshift上为hazelcast打开一个端口?无论我尝试哪个端口,都会得到相同的异常:

SocketException: Permission denied

我不是想向世界开放这个港口。我只想打开一个端口,以便齿轮可以使用Hazelcast。这似乎是可能的。

在OpenShift上,您应该只将WebSocket绑定到端口
8000
8443

见:


在OpenShift上,您应该只将WebSocket绑定到端口
8000
8443

见:


您可能需要使用HTTP隧道来连接Hazelcast,这不是一个好的解决方案,但我不久前就原型化了它:


无论如何,档位应该是openshift V2,不是吗?从未在V2上尝试过,如果你有机会的话,它支持V3(和V3.1)

你可能需要使用HTTP隧道来连接Hazelcast,这不是一个好的解决方案,但我不久前就原型化了它:


无论如何,档位应该是openshift V2,不是吗?从未在V2上尝试过,如果你有机会,它支持V3(和V3.1)

你使用什么类型的墨盒

您可以在内部绑定到15000到35530之间的任何端口,但其他设备将无法访问它

根据我的经验,我必须为集群的其他成员打开公共代理端口才能加入

例如,Vert.x盒式磁带使用Hazelcast进行集群,并打开了一些额外的公共代理端口(请参阅)


(请参阅)。

您使用的墨盒类型是什么

您可以在内部绑定到15000到35530之间的任何端口,但其他设备将无法访问它

根据我的经验,我必须为集群的其他成员打开公共代理端口才能加入

例如,Vert.x盒式磁带使用Hazelcast进行集群,并打开了一些额外的公共代理端口(请参阅)



(请参阅)。

我使用的是WildFly Application Server 8.2.1.Final盒带。这似乎没有我可以使用的任何额外端口。我是否必须部署自定义盒带?我假设盒带本身已经使用OPENSHIFT\u WILDFLY\u CLUSTER\u PORT/OPENSHIFT\u WILDFLY\u CLUSTER\u PROXY\u PORT?(您可以通过在应用程序上执行
lsof
来检查端口状态)。我最终创建了自己的盒带(来自Tomcat openshift盒带源代码)。虽然有点晚,但我能够在Hazelcast端口打开的情况下部署自定义盒带。您的节点是如何发现彼此的?您必须使用盒带事件来实现这一点。VertX cartridge发布并订阅“NET_TCP:VertX cluster info”事件(查看其mainfest.yml)
publish vertx cluster
set vertx cluster
只是hooks目录中的shell脚本,在将gear添加到应用程序时运行。
publish
脚本将gear的公共IP和hazelcast代理端口写入stdout,而
set
脚本接收、加入地址并设置包含所有应用程序节点列表的OPENSHIFT\u VERTX\u hazelcast\u集群变量。您可以在hazelcast.xml中使用它。您介意共享一个指向您创建的自定义盒带的链接吗?我使用的是WildFly Application Server 8.2.1.Final盒带。这似乎没有我可以使用的任何额外端口。我是否必须部署自定义盒带?我假设盒带本身已经使用OPENSHIFT\u WILDFLY\u CLUSTER\u PORT/OPENSHIFT\u WILDFLY\u CLUSTER\u PROXY\u PORT?(您可以通过在应用程序上执行
lsof
来检查端口状态)。我最终创建了自己的盒带(来自Tomcat openshift盒带源代码)。虽然有点晚,但我能够在Hazelcast端口打开的情况下部署自定义盒带。您的节点是如何发现彼此的?您必须使用盒带事件来实现这一点。VertX cartridge发布并订阅“NET_TCP:VertX cluster info”事件(查看其mainfest.yml)
publish vertx cluster
set vertx cluster
只是hooks目录中的shell脚本,在将gear添加到应用程序时运行。
publish
脚本将gear的公共IP和hazelcast代理端口写入stdout,而
set
脚本接收、加入地址并设置包含所有应用程序节点列表的OPENSHIFT\u VERTX\u hazelcast\u集群变量。您可以在hazelcast.xml中使用它。您是否介意共享一个指向您创建的自定义盒式磁带的链接?是否可以将您的SPI插件用于kubernetes?是的,这就是它的基本设计目的,openshift只使用kubernetes本身。我设置了discovery spi,但当我部署它时失败了:FileNotFoundException:/var/run/secrets/kubernetes.io/serviceaccount/Token你知道是什么原因吗?这是完整的堆栈跟踪:这是完整的堆栈跟踪:看起来很有帮助,您可能还没有配置,可以为kubernetes使用SPI插件吗?是的,这就是它的基本设计目的,openshift只使用kubernetes本身。我设置了discovery spi,但当我部署它时失败了:FileNotFoundException:/var/run/secrets/kubernetes.io/serviceaccount/Token你知道是什么原因吗?这是完整堆栈跟踪:这是完整堆栈跟踪:看起来很有用,您可能还没有配置它
Endpoints:
  - Private-IP-Name:   IP
    Private-Port-Name: PORT
    Private-Port:      8080
    Public-Port-Name:  PROXY_PORT
    Mappings:
      - Frontend:      ""
        Backend:       ""
        Options:       { "websocket": 1}
  - Private-IP-Name:   IP
    Private-Port-Name: HAZELCAST_PORT
    Private-Port:      5701
    Public-Port-Name:  HAZELCAST_PROXY_PORT
  - Private-IP-Name:   IP
    Private-Port-Name: CLUSTER_PORT
    Private-Port:      9123
    Public-Port-Name:  CLUSTER_PROXY_PORT