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

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

Helm 部署配置mysql+glusterfs分布式存储应用_第1张图片

增加了这两个项

设置root用户密码

设置同步数据的密码

2.3

Helm 部署配置mysql+glusterfs分布式存储应用_第2张图片

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

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

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

helm install mysql-ha . -f values.yaml

kubectl  describe po mysql-ha-mysqlha-0

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

Helm 部署配置mysql+glusterfs分布式存储应用_第3张图片

创建成功后

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、其他配置项设置

Helm 部署配置mysql+glusterfs分布式存储应用_第4张图片

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

然后重新 helm uninstall /  helm install 

 

 

 

你可能感兴趣的:(docker,k8s,mysql)