在群集外公开TCP端口

时间:2019-08-29 09:47:26

标签: openshift

不使用HTTP / s的服务如何在Openshift 3.11或4.x中公开?

我认为路由仅支持HTTP / s流量。

我已经读过关于将外部IP配置用于服务的信息,但是与路由/入口相比,这会使集群的操作变得复杂且静态。

例如Nginx-ingress-controller允许它具有特殊配置:https://kubernetes.github.io/ingress-nginx/user-guide/exposing-tcp-udp-services/

Openshift 3.11或4.x有哪些选项?

谢谢。

2 个答案:

答案 0 :(得分:2)

NodePort通过静态端口(30000〜32767)[0]在每个节点的IP上公开服务。 您可以通过请求:格式从群集外部与NodePort服务联系。

apiVersion: v1
kind: Service
metadata:
  name: nodeport
spec:
  type: NodePort
  ports:
    - name: "8080"
      protocol: "TCP"
      port: 8080
      targetPort: 80
      nodePort: 30000
  selector:
    labelName: targetname

答案 1 :(得分:2)

OpenShift官方文档中有一个名为Getting Traffic Into the Cluster的部分。

The recommendation, in order or preference, is:
 - If you have HTTP/HTTPS, use a router.
 - If you have a TLS-encrypted protocol other than HTTPS (for example, TLS with the SNI header), use a router.
 - Otherwise, use a Load Balancer, an External IP, or a NodePort.