Kubernetes(k8s)Helm 部署 Mysql 数据库
一、集群信息
- 方法因人而异,但大同小异,以下是我的部署方法。
1.1、 主机信息
主机名 | ip地址 | 描述 | 核心 | 内存 |
---|---|---|---|---|
node-01 | 192.168.8.131 | master 节点 | 2核 | 8G |
node-02 | 192.168.8.132 | node 节点 | 2核 | 8G |
node-03 | 192.168.8.133 | node 节点 | 2核 | 8G |
1.2、版本说明
服务 | 版本 |
---|---|
Helm | 3.1.1 |
Mysql | 5.7.28 |
Kubernetes | 1.17.3 |
二、部署 Mysql
2.1、 创建名称空间
- 创建一个 monitoring 名称空间,将 Mysql 放在这个名称空间上
kubectl create ns mysql
2.2、获取 Mysql
# 下载到本地,默认拉取指定版本
helm pull stable/mysql --version 1.6.2
# 解压
tar xvf mysql-*.tgz
2.3、使用 helm 安装 Mysql 并启用 Prometheus 监控
- mysqlRootPassword 数据库 root 密码
- mysqlUser 新建用户账号: aka
- mysqlPassword=akiraka 新建用户密码:akiraka 不添加随机密码10个字符
- mysqlDatabase=aka-db 新建数据库名称为:aka-db
- persistence.size 声明持久卷大小
- service.type 修改为 Nodeport
- service.nodePort 固定端口 31306
- metrics.enabled 是否启用 Prometheus 监控
helm install mysql -n mysql \
--set mysqlRootPassword=akiraka,mysqlUser=aka,mysqlPassword=akiraka,mysqlDatabase=aka-db \
--set persistence.size=10Gi,service.type=NodePort,service.nodePort=31306 \
--set metrics.enabled=true \
stable/mysql --version 1.6.2
2.4、查看 Mysql Pod 状态
[root@Node-01 ~]# kubectl get pod -n mysql
NAME READY STATUS RESTARTS AGE
mysql-5b469bf877-vg9tn 2/2 Running 0 45s
2.5、查看 Mysql Pvc 状态
- 3306 固定端口:31306
[root@Node-01 ~]# kubectl get svc -n mysql
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
mysql NodePort 10.1.196.64 <none> 3306:31306/TCP 2m34s
三、创建 Mysql pv 绑定 Pvc
cat > mysql-pv.yaml <<EOF
apiVersion: v1
kind: PersistentVolume
metadata:
name: "mysql-pv-10g"
spec:
capacity:
storage: 10Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
nfs:
path: /data/NFS/mysql
server: 192.168.6.251
EOF
# 创建 pv
kubectl apply -f mysql-pv.yaml
版权声明:
作者:Akiraka
链接:https://www.akiraka.net/kubernetes/460.html
来源:Akiraka
文章版权归作者所有,未经允许请勿转载。
THE END
0
二维码
海报
Kubernetes(k8s)Helm 部署 Mysql 数据库
一、集群信息
方法因人而异,但大同小异,以下是我的部署方法。
1.1、 主机信息
主机名
ip地址
描述
核心
内存
node-01
192.168.8.131
master 节点
2……
文章目录
关闭