在 openshift 上使用 nginx ingress controller operator 暴露 TCP 服务

exposing TCP service using nginx ingress controller operator on openshift

我们使用来自 openshift 市场的认证操作员在 openshift 上安装了 nginx 入口控制器。我们正在尝试公开 TCP 服务并尝试遵循以下文档。

https://kubernetes.github.io/ingress-nginx/user-guide/exposing-tcp-udp-services/

但是标志 --tcp-services-configmap 无法添加它来部署 nginx 入口控制器,当我将它添加到部署时它不会持久存在,因为部署是由 nginx 入口控制器操作员控制的。我没有找到在 nginx 入口控制器中添加标志 --tcp-services-configmap 的选项,有没有其他方法可以将此标志添加到 nginx 入口控制器? 或任何其他使用 nginx 入口控制器公开 TCP 服务的方式,该控制器是使用 operator 安装的。

任何输入将不胜感激。

对于基于运营商的 nginx 入口控制器,通过低于 link 的 TCP 公开应用程序将有助于公开应用程序。

https://docs.nginx.com/nginx-ingress-controller/configuration/transportserver-resource/

1.修改nginx ingress controller服务允许端口2222

2。创建全局配置。 示例: globalconfiguration.yaml

apiVersion: k8s.nginx.org/v1alpha1
kind: GlobalConfiguration
metadata:
  name: nginx-ingress-config
  namespace: kube-system
spec:
  listeners:
  - name: ssh-tcp
    port: 2222
    protocol: TCP

3。创建传输服务器 示例: transportserver-ssh-tcp.yaml

apiVersion: k8s.nginx.org/v1alpha1
kind: TransportServer
metadata:
  name: ssh-tcp
spec:
  listener:
    name: ssh-tcp
    protocol: TCP
  upstreams:
  - name: ssh-app
    service: ssh-server
    port: 22
  action:
    pass: ssh-app