【问题标题】:Multiple instance of same pod in same node - Kubernetes同一节点中同一 pod 的多个实例 - Kubernetes
【发布时间】:2020-12-01 04:18:47
【问题描述】:

我想在 Kubernetes 的同一个节点上运行同一个 pod 的多个实例。我为此使用了 wildfly docker 图像。在同一个节点上运行多个 pod 时,出现端口冲突异常。

2020-11-30 15:53:17,079 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("core-service" => "management"),
("management-interface" => "http-interface")
]) - failure description: {"WFLYCTL0080: Failed services" => {"org.wildfly.management.http.extensible" => "java.net.BindException: Address already in use /0.0.0.0:9990"}}
2020-11-30 15:53:17,259 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "undertow"),
("server" => "default-server"),
("http-listener" => "default")
]) - failure description: {"WFLYCTL0080: Failed services" => {"org.wildfly.undertow.listener.default" => "Address already in use /0.0.0.0:9575"}}
2020-11-30 15:53:17,260 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "undertow"),
("server" => "default-server"),
("https-listener" => "https")
]) - failure description: {"WFLYCTL0080: Failed services" => {"org.wildfly.undertow.listener.https" => "Address already in use /0.0.0.0:8553"}}
2020-11-30 15:53:17,262 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("core-service" => "management"),
("management-interface" => "http-interface")
]) - failure description: {"WFLYCTL0080: Failed services" => {"org.wildfly.management.http.extensible" => "java.net.BindException: Address already in use /0.0.0.0:9990"}}
2020-11-30 15:53:17,399 INFO [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0028: Stopped deployment demo.war (runtime-name: demo.war) in 133ms
2020-11-30 15:53:17,416 ERROR [org.jboss.as.server] (ServerService Thread Pool -- 44) WFLYSRV0021: Deploy of deployment "demo.war" was rolled back with the following fai
lure message: undefined  

那么我怎样才能绕过这个问题并在没有端口冲突的情况下运行多个实例??

【问题讨论】:

    标签: kubernetes wildfly kubernetes-pod


    【解决方案1】:

    仅当您使用 hostPorthostNetwork 时,不同 pod 的端口可能会发生冲突。否则,在同一个节点上运行多个相同的 pod 时应该不会遇到任何问题。

    您可以尝试运行以下命令。您的 Wildfly pod 应该可以毫无问题地运行,因为它们使用的端口位于容器内。

    kubectl run wildfly --image=jboss/wildfly
    kubectl run wildfly-2 --image=jboss/wildfly
    kubectl run wildfly-3 --image=jboss/wildfly
    

    如果您需要使用hostPorthostNetwork(不推荐),那么您就需要自己来这里,您需要自己“编排”端口。

    【讨论】:

    • 我明白了,替换 hostNetwork 使其正常工作,但如果我更改该值,我的应用程序将无法访问数据库。那么有什么方法可以在不使用主机网络的情况下将应用程序连接到数据库?
    猜你喜欢
    • 2021-05-04
    • 1970-01-01
    • 2021-12-22
    • 2019-04-08
    • 2021-12-30
    • 2020-02-10
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    相关资源
    最近更新 更多