Helm 部署配置mysql+glusterfs分布式存储应用

本文详细介绍如何在Kubernetes环境中使用Helm部署高可用的MySQL集群。从添加Helm源到调整配置,再到部署NodePortService,实现对外部的读写及只读访问。文章还分享了解决pull镜像问题、时区配置和连接端口设置等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、

使用的 Helm repo如下

最开始没添加这个,下载的 stable/mysql ,不是很合适,后面加了这个源

helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator

helm repo update

helm search mysqlha

新建一个文件夹mysql

helm fetch incubator/mysqlha

解压

cd mysqlha

2、

依据具体情况,调整values.yaml 中的值

我调整的项有

2.1

因为 gcr.io/google-samples/xtrabackup:1.0 没有pull 下来

看网上教程改为 pull 这个 twoeo/gcr.io-google-samples-xtrabackup:latest.

2.2

增加了这两个项

设置root用户密码

设置同步数据的密码

2.3

增加了我本地集群已有的 storageClass

size: 10Gi 可根据需要进行调整,我没有调整

3、在这个路径下进行部署

helm install mysql-ha . -f values.yaml

kubectl  describe po mysql-ha-mysqlha-0

会报下面这个错,不管它,等待10多分钟可以自行创建好。

创建成功后

kubectl get all -n *** 进行查看

4、部署NodePort Service 提供对外访问

apiVersion: v1
kind: Service
metadata:
  name: mysql-ha-wirteandread-service
  labels:
    app: mysql-ha-mysqlha
spec:
  ports:
  - name: mysql-ha-master
    protocol: "TCP"
    port: 3306
    targetPort: 3306
    nodePort: 30336		#此为外部连接k8s mysql-ha 服务的端口
  selector:
    statefulset.kubernetes.io/pod-name: mysql-ha-mysqlha-0
  type: NodePort

kubectl apply -f mysql-ha-wirteandread-service.yaml (部署读写服务)

apiVersion: v1
kind: Service
metadata:
  name: mysql-ha-readonly-service
  labels:
    app: mysql-ha-mysqlha
spec:
  ports:
  - name: mysql-ha-master
    protocol: "TCP"
    port: 3306
    targetPort: 3306
    nodePort: 30337		#此为外部连接k8s mysql-ha 服务的端口
  selector:
    statefulset.kubernetes.io/pod-name: mysql-ha-mysqlha-1
  type: NodePort

kubectl apply -f mysql-ha-readonly-service.yaml(部署只读服务)

部署成功后

任意一个master ip+30336 连接读写服务 账号 root/values.yaml中定义的mysqlRootPassword密码

任意一个master ip+30337 连接只读服务 账号 root/values.yaml中定义的用户mysqlReplicationUser,密码mysqlReplicationPassword

 

5、其他配置项设置

加了这两句,增加了时区设置,否则少8个小时。增加了最大连接数的设置。

然后重新 helm uninstall /  helm install 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值