Openshift OKD与其他端口(Teamspeak)



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

网络应用程序只能从外部访问80808443和443。

有人知道我应该怎么做才能进行外部访问吗?我想我必须对firewalld和左路前锋做点什么。但是我找不到任何东西。

谢谢你的帮助。。。

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

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

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

如果您运行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之间分配请求。例如,

apiVersion:v1种类:服务元数据:名称:egress-2规格:端口:-名称:db端口:3306-名称:附加端口端口:9887-名称:另一个端口:10011loadBalancerIP:类型:LoadBalancer选择器:名称:mysql

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

最新更新