k8s ingress配置轉發tcp流量

1、需要添加一條configmap,內容如下:

[root@k8s_client ingresss]# cat tcp-service.yaml 
apiVersion: v1
kind: ConfigMap
metadata:
  name: tcp-services
  namespace: kube-system
data:
  3306: "wehgc-xm/mariadb:3306"

2、需要修改deployment ingress-nginx的參數配置,添加--tcp-service-configmap,如下:

...
      containers:
      - args:
        - /nginx-ingress-controller
        - --default-backend-service=kube-system/nginx-ingress-default-backend
        - --election-id=ingress-controller-leader
        - --ingress-class=nginx
        - --tcp-services-configmap=kube-system/tcp-services
        - --configmap=kube-system/tcp-services
        - --default-ssl-certificate=$(POD_NAMESPACE)/ssl-wehgc-com
...

3、需要修改svc ingress-nginx,添加需要轉發的端口,如下:

...
spec:
  clusterIP: 10.247.84.140
  externalTrafficPolicy: Cluster
  loadBalancerIP: 124.71.97.128
  ports:
  - name: http
    nodePort: 32708
    port: 80
    protocol: TCP
    targetPort: http
  - name: https
    nodePort: 30831
    port: 443
    protocol: TCP
    targetPort: https
  - name: proxied-tcp-3306
    nodePort: 32400
    port: 3306
    protocol: TCP
    targetPort: 3306
  - name: hgc-gateway-9100
    nodePort: 32338
    port: 9100
    protocol: TCP
    targetPort: 9100
...

4、使用navicat添加負載均衡的外網ip,使用3306進行連接,如下:
k8s ingress配置轉發tcp流量

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章