k8s mysql 挂载_k8s部署mysql数据持久化

本文档详细介绍了如何在K8s集群中部署MySQL并实现数据持久化,包括创建命名空间、设置NFS存储、编写YAML文件、配置持久卷和持久卷声明,以及解决连接问题。通过这些步骤,确保了MySQL的数据能够在集群中稳定存储。
摘要由CSDN通过智能技术生成

在这里我部署mysql的目的是为了后面将上一篇博客docker打包的el-admin镜像部署到k8s上,所以本文主要是部署mysql并实现持久化。

1.将我们的应用都部署到 el-admin 这个命名空间下面,创建eladmin-namespace.yaml 文件

apiVersion: v1

kind: Namespace

metadata:

name: el-admin

2.创建存储文件路径

[root@m ~]# mkdir -p /nfsdata/mysql

# 授权

[root@m ~]# chmod -R 777 /nfsdata/mysql

# m节点上修改文件

[root@m ~]# vi /etc/exports

/nfsdata *(rw,sync,no_root_squash)

# m节点上重新挂载

[root@m mysql]# exportfs -r

# m节点上启动

[root@m ~]# systemctl start rpcbind && systemctl enable rpcbind

[root@m ~]# systemctl start nfs && systemctl enable nfs

# 其他节点上启动

[root@w1 ~]# systemctl start nfs

# m节点上查看

[root@m ~]# showmount -e

Export list for m:

/nfsdata *

3.编写el-admin-mysql.yaml

apiVersion: v1

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Kubernetes 中挂载 MySQL 数据库,可以通过以下步骤来实现: 1. 创建一个 MySQL 的 Deployment 可以使用 Kubernetes 的 Deployment 来创建和管理 MySQL 容器的副本。可以使用以下命令来创建一个 Deployment: ``` kubectl create deployment mysql-deployment --image=mysql:latest ``` 2. 创建一个 MySQL 的 Service 创建一个 Kubernetes 的 Service,将 MySQL 容器暴露给其他容器或外部应用程序。可以使用以下命令来创建一个 Service: ``` kubectl create service clusterip mysql-service --tcp=3306:3306 ``` 3. 创建一个 PVC(Persistent Volume Claim) PVC 可以将 MySQL 数据持久化存储到 Kubernetes 集群的某个节点上。可以使用以下 YAML 文件来创建 PVC: ```yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mysql-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi ``` 4. 在 MySQL 的 Deployment 中添加 Volume 将 PVC 挂载MySQL 容器中,可以使用以下 YAML 文件: ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: mysql-deployment spec: selector: matchLabels: app: mysql replicas: 1 template: metadata: labels: app: mysql spec: containers: - name: mysql image: mysql:latest volumeMounts: - name: mysql-persistent-storage mountPath: /var/lib/mysql env: - name: MYSQL_ROOT_PASSWORD value: password volumes: - name: mysql-persistent-storage persistentVolumeClaim: claimName: mysql-pvc ``` 5. 连接 MySQL 数据库 现在,可以使用 Kubernetes 的 Service 名称和端口来连接 MySQL 数据库: ``` mysql -h mysql-service -P 3306 -u root -p ``` 以上是将 MySQL 数据挂载到 Kubernetes 中的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值