【问题标题】:exposing TCP service using nginx ingress controller operator on openshift在 openshift 上使用 nginx 入口控制器操作员公开 TCP 服务
【发布时间】:2021-09-03 20:45:45
【问题描述】:

我们使用来自 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 安装的。

任何意见将不胜感激。

【问题讨论】:

  • 你需要打开一个你没有链接到的运营商回购问题,以便任何人给你更具体的建议
  • @mdaniel 提出了 nginx-ingress-controller operator git 的问题,希望有答案
  • 嗨,我想我们这里有些不匹配。假设您正在谈论nginx-ingress-operator。您引用的文档适用于不同的产品。你可以阅读更多关于它的信息here。从纯粹的nginx-ingress-inc 角度来看,我认为你应该看这里:docs.nginx.com/nginx-ingress-controller/configuration/…
  • @DawidKruk 使用 nginx 传输服务器我们可以暴露 tcp 服务

标签: kubernetes openshift kubernetes-ingress nginx-ingress


【解决方案1】:

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

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

1.修改nginx入口控制器服务,允许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

【讨论】:

    猜你喜欢
    • 2021-07-21
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2021-05-12
    • 2021-01-28
    • 2021-09-20
    • 2020-05-05
    相关资源
    最近更新 更多