一、集群信息
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 状态
[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