ingress-nginx代理tcp使其能外部访问mysql

devtools/2025/1/20 20:08:56/

一、helm部署mysql主从复制

helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update

 

helm pull bitnami/mysql

 解压后编辑values.yaml文件,修改如下(storageclass已设置默认类)

 117 ## @param architecture MySQL architecture (`standalone` or `replication`)118 ##119 architecture: replication120 ## MySQL Authentication parameters121 ##122 auth:123   ## @param auth.rootPassword Password for the `root` user. Ignored if existing secret is provided124   ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#setting-the-root-password-on-first-run125   ##126   rootPassword: "abc123456"127   ## @param auth.createDatabase Whether to create the .Values.auth.database or not128   ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#creating-a-database-on-first-run129   ##130   createDatabase: true131   ## @param auth.database Name for a custom database to create132   ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#creating-a-database-on-first-run133   ##134   database: "my_database"135   ## @param auth.username Name for a custom user to create136   ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#creating-a-database-user-on-first-run137   ##138   username: ""139   ## @param auth.password Password for the new user. Ignored if existing secret is provided140   ##141   password: ""142   ## @param auth.replicationUser MySQL replication user143   ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#setting-up-a-replication-cluster144   ##145   replicationUser: replicator146   ## @param auth.replicationPassword MySQL replication user password. Ignored if existing secret is provided147   ##148   replicationPassword: "abc123456"

安装

helm install mysql ./mysql -n mysql --create-namespace

 

二、添加ingress控制器tcp配置

[root@k8s-master01 mysql]# kubectl get daemonset,pods -n ingress-nginx
NAME                                      DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                         AGE
daemonset.apps/ingress-nginx-controller   1         1         1       1            1           ingress=true,kubernetes.io/os=linux   20hNAME                                 READY   STATUS    RESTARTS   AGE
pod/ingress-nginx-controller-xcn5q   1/1     Running   0          9m46s

这里使用的是daemonset方式部署的,如果是deployment,需要将daemonset修改成deployment

kubectl edit daemonset ingress-nginx-controller -n ingress-nginx

 添加tcp配置

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

三、编写相应的configmap

查看当前mysql服务

[root@k8s-master01 mysql]# kubectl get pods,svc -n mysql
NAME                    READY   STATUS    RESTARTS   AGE
pod/mysql-primary-0     1/1     Running   0          73m
pod/mysql-secondary-0   1/1     Running   0          73mNAME                               TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
service/mysql-primary              ClusterIP   10.102.29.24    <none>        3306/TCP   73m
service/mysql-primary-headless     ClusterIP   None            <none>        3306/TCP   73m
service/mysql-secondary            ClusterIP   10.106.87.104   <none>        3306/TCP   73m
service/mysql-secondary-headless   ClusterIP   None            <none>        3306/TCP   73m

 编写configmap,注意当前namespace为mysql

vim mysql-tcp-cm.yaml
kind: ConfigMap
apiVersion: v1
metadata:name: tcp-servicesnamespace: ingress-nginx
data:"30306": "mysql/mysql-primary:3306""30307": "mysql/mysql-secondary:3306"

应用configmap

kubectl apply -f mysql-tcp-cm.yaml

四、测试连接

 


http://www.ppmy.cn/devtools/152172.html

相关文章

mysql绿色版卸载详细教程

本文主要讲解如何卸载mysql绿色版&#xff1a; 用管理员权限打开cmd窗口&#xff0c;切换到mysql安装目录的bin目录下&#xff0c;如下图&#xff0c;执行命令【net stop mysql】以停止mysql服务。 除了上述命令行停止mysql服务的方法&#xff0c;也可以在服务界面通过右键菜单…

【机器学习:二十七、决策树集合】

1. 决策树集合的概述 决策树集合是一种基于多个决策树模型集成的机器学习方法&#xff0c;通过组合多个弱学习器&#xff08;决策树&#xff09;形成一个强学习器&#xff0c;显著提升预测性能和泛化能力。 核心思想 集成学习的核心是通过结合多个模型的优点&#xff0c;降低单…

第十二章:算法与程序设计

文章目录&#xff1a; 一&#xff1a;基本概念 1.算法与程序 1.1 算法 1.2 程序 2.编译预处理 3.面向对象技术 4.程序设计方法 5.SOP标志作业流程 6.工具 6.1 自然语言 6.2 流程图 6.3 N/S图 6.4 伪代码 6.5 计算机语言 二&#xff1a;程序设计 基础 1.常数 …

C语言之装甲车库车辆动态监控辅助记录系统

&#x1f31f; 嗨&#xff0c;我是LucianaiB&#xff01; &#x1f30d; 总有人间一两风&#xff0c;填我十万八千梦。 &#x1f680; 路漫漫其修远兮&#xff0c;吾将上下而求索。 C语言之装甲车库车辆动态监控辅助记录系统 目录 一、前言 1.1 &#xff08;一&#xff09;…

03.选择排序

一、题目思路 选择排序是一种简单直观的排序算法。它的工作原理是&#xff1a;首先在未排序序列中找到最小&#xff08;或最大&#xff09;元素&#xff0c;存放到排序序列的起始位置&#xff0c;然后&#xff0c;再从剩余未排序元素中继续寻找最小&#xff08;或最大&#xff…

计算机毕业设计Python+卷积神经网络租房推荐系统 租房大屏可视化 租房爬虫 hadoop spark 58同城租房爬虫 房源推荐系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

C#如何获取电脑中的端口号和硬件信息

我们经常在使用一个串口软件的时候&#xff0c;发现软件中的端口号并不是普通的COM1&#xff0c;而是带有硬件信息的。 那么如果我们使用C#编写软件时候&#xff0c;如何获取到串口的硬件信息呢&#xff1f; 思路就是通过读取设备管理器里的条目来实现&#xff0c;我这里给大家…

HTML5+Canvas实现的鼠标跟随自定义发光线条源码

源码介绍 HTML5Canvas实现的鼠标跟随自定义发光线条特效源码非常炫酷&#xff0c;在黑色的背景中&#xff0c;鼠标滑过即产生彩色变换的发光线条效果&#xff0c;且线条周围散发出火花飞射四溅的粒子光点特效。 效果预览 源码如下 <!DOCTYPE html PUBLIC "-//W3C//D…