1. 创建tcp-services.yaml文件,内容为下,已mysql为例

apiVersion: v1
kind: ConfigMap
metadata:
  name: tcp-services
  namespace: ingress-nginx
data:
  3306: "default/mysql-primary:3306"

2. 创建configmap

kubectl create -f tcp-services.yaml
# 如果已经存在的话,直接编辑,在data节点下直接添加 port:namespace/service:port

3. 编辑ingress-nginx-controller deployment 

kubectl edit deployment ingress-nginx-controller -n ingress-nginx

4. 在 args下添加如下配置

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

5. 修改ingress-nginx-controller service

kubectl edit service ingress-nginx-controller -n ingress-nginx

6. 在 ports下添加如下配置

  - name: mysql-primary
    # nodePort: 32698  nodePort可以不用指定,系统自动生成
    port: 3306
    protocol: TCP
    targetPort: 3306

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐