当前位置:首页 > 编程笔记 > 正文
已解决

k8s ingress 代理 mysql 3306端口

来自网友在路上 152852提问 提问时间:2023-11-08 04:06:34阅读次数: 52

最佳答案 问答题库528位专家为你答疑解惑

helm 安装 ingress-nginx

helm upgrade --install ingress-nginx ingress-nginx \--repo https://kubernetes.github.io/ingress-nginx \--namespace ingress-nginx --create-namespace

执行命令

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.2/deploy/static/provider/cloud/deploy.yaml

创建 configMap

apiVersion: v1
kind: ConfigMap
metadata:name: tcp-servicesnamespace: ingress-nginx
data:3306: "default/mysql:3306" # port:namespace/service:port

编辑 depolyments ingress-nginx-controller

kubectl edit deployment ingress-nginx-controller -n ingress-nginx# 在 args 下添加参数
- --tcp-services-configmap=ingress-nginx/tcp-services

编辑service ingress-nginx-controller

kubectl edit service ingress-nginx-controller -n ingress-nginx# 增加端口
- name: tcp-service-3306port: 3306protocol: TCPtargetPort: 3306

测试

添加测试 mysql ingress yaml

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: mysql-ingress
spec:ingressClassName: nginxrules:- host: foo.comhttp:paths:- path: /pathType: Prefixbackend:service:name: mysqlport:number: 3306

打开电脑hosts文件, 增加测试域名
127.0.0.1 foo.com

使用 Navicat 或者其它 mysql 管理工具测试连接
主机: foo.com
端口: 3306


参考:
ingress 官方介绍 https://kubernetes.io/zh-cn/docs/concepts/services-networking/ingress/
ingress-nginx 公开TCP和UDP服务 https://kubernetes.github.io/ingress-nginx/user-guide/exposing-tcp-udp-services/





查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"k8s ingress 代理 mysql 3306端口":http://eshow365.cn/6-35011-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!