【问题标题】:Openshift OKD with other Ports (Teamspeak)Openshift OKD 与其他端口 (Teamspeak)
【发布时间】:2018-12-07 00:28:25
【问题描述】:

在 Openshift (OKD 3.11) 上创建 Teamspeak-Pod 时我需要帮助。 我的问题是部署 pod 后,我不知道如何将端口 9887、10011 和 30033 提供给外部访问。

只有 8080、8443 和 443 可供外部 Web 应用程序访问。

有人知道我应该怎么做才能提供外部访问权限吗?我想我必须对 firewalld 和端口转发做一些事情。但是我找不到任何东西。

谢谢你的帮助...

【问题讨论】:

    标签: openshift teamspeak okd


    【解决方案1】:

    默认情况下,Pod 只能在集群内进行通信,因此您无法将外部流量路由到它们。

    一种方法是将服务配置为 NodePort。这会将这些端口映射到所有节点的 30000-32767 范围内的端口。例如:

    api版本:v1 种类:服务 元数据: 名称:teampeak 标签: 名称:teampeak 规格: 类型:节点端口 端口: - 名称:9887-tcp 端口:9887 节点端口:31694 协议:TCP - 名称:10011-tcp 端口:10011 节点端口:30906 协议:TCP - 名称:30033-tcp 端口:30033 节点端口:32316 协议:TCP 选择器: 名称:teampeak

    如果你运行 oc edit service teamspeak 或任何你的应用程序的服务,并将类型更改为 NodePort,Openshift 将自动分配上述范围内的端口。

    在您的服务设置为 NodePort 后,您需要将对这些端口的请求转发到由 Openshift 分配的新端口(30000 - 32767 范围的端口),因此请求不会转到 9887,而是转到到 30036,在我们的例子中。

    参考:https://docs.openshift.com/container-platform/3.6/dev_guide/expose_service/expose_internal_ip_nodeport.html

    或者,您可以将服务定义为 LoadBalancer 类型,这不仅会将您的 Pod 暴露给外部流量,而且还会根据您的配置在 Pod 之间分发请求。例如,

    api版本:v1 种类:服务 元数据: 名称:出口-2 规格: 端口: - 名称:分贝 端口:3306 - 名称:附加端口 端口:9887 - 名称:另一个 端口:10011 负载均衡器IP: 类型:负载均衡器 选择器: 名称:mysql

    参考:https://docs.openshift.com/container-platform/3.4/dev_guide/expose_service/expose_internal_ip_load_balancer.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-30
      • 1970-01-01
      • 2011-04-05
      • 1970-01-01
      • 2021-03-21
      • 1970-01-01
      • 1970-01-01
      • 2017-07-24
      相关资源
      最近更新 更多