Akiraka Akiraka
  • Home
  • Linux
    • ELK
    • PHP
    • Shell
    • Nginx
    • Docker
      • Docker Compose
    • Centos
    • Ubuntu
    • Jenkins
  • Python
  • Mac OS
  • Windows
  • Big Data
    • Hadoop
    • CDH
    • Hive
    • Spark
    • ZooKeeper
  • K8S
    • Kubernetes
    • Helm
  • Other
  • Quark
  • Contribute
  • Home
  • Linux
    • ELK
    • PHP
    • Shell
    • Nginx
    • Docker
      • Docker Compose
    • Centos
    • Ubuntu
    • Jenkins
  • Python
  • Mac OS
  • Windows
  • Big Data
    • Hadoop
    • CDH
    • Hive
    • Spark
    • ZooKeeper
  • K8S
    • Kubernetes
    • Helm
  • Other
  • Quark
  • Contribute
首页 Kubernetes Helm Kubernetes(k8s)Helm 部署 Mysql 数据库

Kubernetes(k8s)Helm 部署 Mysql 数据库

Akiraka 2年前

文章目录

  • 一、集群信息
    • 1.1、 主机信息
    • 1.2、版本说明
  • 二、部署 Mysql
    • 2.1、 创建名称空间
    • 2.2、获取 Mysql
    • 2.3、使用 helm 安装 Mysql 并启用 Prometheus 监控
    • 2.4、查看 Mysql Pod 状态
    • 2.5、查看 Mysql Pvc 状态
  • 三、创建 Mysql pv 绑定 Pvc

一、集群信息

  • 方法因人而异,但大同小异,以下是我的部署方法。

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

  • 项目地址:https://hub.helm.sh/charts/stable/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
#k8s#kubernetes#mysql
1
猜你喜欢
  • Kubernetes 限制节点启动的 Pod 数量
  • Helm 3 内置对象
  • Ingress Nginx 添加 Basic Auth 安全认证
  • CoreDNS 添加自定义 Hosts 解析与 DNS 转发解析
  • Container 命令ctr、crictl 命令使用说明
Akiraka
站长
本人擅长 Ai、Au、Fl、Ae、Pr、Ps 等软件的安装与卸载,精通 CSS、JavaScript、PHP、Python、Shell、Go 等单词的拼写,熟悉 Windows、Linux、Mac、Android、IOS 等系统的开关机!
160
文章
24
评论
73
获赞
Popular Articles
TOP1
Kubernetes(k8s)Helm 部署 EFK 集群
2年前
TOP2
Kubernetes(k8s)helm 搭建 prometheus + Grafana 监控
2年前
TOP3
Container 命令ctr、crictl 命令使用说明
11月前
TOP4
Kubernetes(k8s)Helm 部署 Jenkins 持续化集成部署
2年前
TOP5
Helm 部署 Loki 日志聚合
2年前
Related Articles
存活探针(Liveness)、就绪探针(Readiness)、启动探针(Startup)、容器钩子
2年前
Kubernetes(k8s)Helm 部署 Jenkins 持续化集成部署
2年前
Kbernetes(k8s)helm 搭建 PV PVC 动态存储卷
2年前
Kubernetes(k8s)helm 搭建 prometheus + Grafana 监控
2年前
xtrabackup 备份脚本
12月前
Copyright © 2019-2022 Akiraka. 沪18036911号