# mysql-kubernetes **Repository Path**: owen_tao/mysql-kubernetes ## Basic Information - **Project Name**: mysql-kubernetes - **Description**: k8s部署mysql一主两从集群 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 11 - **Forks**: 19 - **Created**: 2021-01-16 - **Last Updated**: 2024-08-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### k8s部署mysql一主两从集群 ### 1、安装NFS -------- yum -y install rpcbind nfs-utils #安装rpc跟nfs服务 mkdir /nfs && chmod 666 /nfs #创建指定共享目录并修改相应权限 vim /etc/exports #编辑文件 /nfs 10.1.2.0/24(insecure,rw,sync,no_root_squash,fsid=0) #保存退出 exportfs -rv #载入配置 启动服务: systemctl enable rpcbind --now #启动rpc服务并加入开机自启 systemctl enable nfs --now #启动nfs服务并加入开机自启 服务检查: showmount -e Export list for master: /nfs 10.1.2.0/24 客户端配置: mount -t nfs 10.1.2.20:/nfs /mnt #将服务nfs目录挂载至本机/mnt df -h #查看挂载结果 2、部署storageclass -------- 编辑storageclass.yaml,确定provisioner的值 kubectl apply -f storageclass.yaml kubectl get storageclass 3、部署nfs-client-provisioner -------- 编辑nfs-client-provisioner.yaml,修改NFS服务器所在ip,共享存储目录,根据自己的名称来修改,与 storageclass.yaml 中的 provisioner 名字一致 kubect apply -f nfs-client-provisioner.yaml kubectl get po -n kube-system 4、创建用于Mysql数据持久化的pvc -------- kubectl apply -f mysql-pvc.yaml kubectl get pv,pvc 5、创建configmap -------- kubectl apply -f mysql-configmap.yaml kubectl get cm 6、创建service -------- kubectl apply -f mysql-services.yaml kubectl get svc 7、创建mysql-statefulset -------- yaml文件中的两个基础镜像需要提前准备,环境演示的时候会导出为tar包。 kubectl apply -f mysql-statefulset.yaml kubectl get sts kubectl get po 查看mysql pod有没有运行起来 kubectl get po 如果是3个pod都running,ready的状态,就表示集群创建成功了。