配置Nginx的Ingress-controller的deployment启动参数,增加红框中的两行

内容如下,可直接复制

            - '--tcp-services-configmap=$(POD_NAMESPACE)/tcp-services'
            - '--udp-services-configmap=$(POD_NAMESPACE)/udp-services'

创建两个configmap

---
apiVersion: v1
kind: ConfigMap
metadata:
  name: tcp-services
  namespace: ingress-nginx
data:
  '6379': 'uen/redis-0-nodeport:6379'
kind: ConfigMap
metadata:
  name: tcp-services
  namespace: ingress-nginx
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: udp-services
  namespace: ingress-nginx
data:
  '53': 'mid/dnsmasterq:53'

上面两个示例,tcp-service中添加的内容是映射uen命名空间中redis-0-nodeport服务的6379端口

如果Ingress-controller的网络是host类型那么到这里就完成了

------------------------------------------------------------------------------------------------------------

如果Ingress-controller的网络是service模式还需要编辑Ingress-controller的service内容再次添加service端口映射(云主机)

在原基础上添加6379的service

内容如下,可直接复制

    - appProtocol: TCP
      name: redis-default
      port: 6379
      protocol: TCP
      targetPort: 6379

最后添加一个ingress域名,这里不加域名其实也可以完成了

spec:
  ingressClassName: nginx
  rules:
    - host: testredis.com
      http:
        paths:
          - backend:
              service:
                name: redis-0-nodeport
                port:
                  number: 6379
            path: /