• 自建nginx-ingress 或者 云服务商的nginx-ingress 插件部署好后 默认会在 namespace 下生成tcp/udp 转发 configmap 配置资源,我们要做是修改这个配置文件和在nginx-ingress的svc添加转发端口。

  • cm名称一般是:xxxx-ingress-nginx-tcp 或者 xxx-tcp-services

示例: nginx-ingress 代理MongoDB 27017 端口。

1、修改tcp-services configmap,添加我们需要配置的TCP转发规则

apiVersion: v1
kind: ConfigMap
metadata:
  name: tcp-services
  namespace: ingress-nginx
data:
  27017: "default/mongodb:27017"       ##将27017端口流量转发到default namespace 下的mongodb:27017

2、在nginx-ingress的 service 内配置添加我们暴露的TCP端口

apiVersion: v1
kind: Service
metadata:
  name: ingress-nginx
  namespace: ingress-nginx
  labels:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx
spec:
  type: LoadBalancer
  ports:
    - name: http
      port: 80
      targetPort: 80
      protocol: TCP
    - name: https
      port: 443
      targetPort: 443
      protocol: TCP
    - name: 27017-mongodb   ##添加下面的配置即可
      port: 27017
      targetPort: 27017
      protocol: TCP
  selector:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据