【云原生】rancher2.6部署MySQL—2023.03

简介: 【云原生】rancher2.6部署MySQL—2023.03

概要


本文以单master节点为例,部署mysql,多master(高可用)步骤类似。

准备了1台rancher控制集群,1个master节点,2个node节点,和一个进行存储数据nfs服务器。

节点 IP 必要装备
k8s-rancher 192.168.2.21 docker\rancher\kubectl
k8s-master1 192.168.2.22 docker
k8s-node1 192.168.2.23 docker\nfs
k8s-node2 192.168.2.24 docker\nfs
k8s-nfs 192.168.2.35 nfs


1. 准备NFS服务器


mysql属于数据库,所以要做数据存储,避免数据丢失。想要存储数据就要把mysql的数据挂载导nfs服务器上进行持久化存储,防止重启pod,数据丢失。

首先选择一台服务器作为nfs服务器,此服务器不是集群内部的,而隶属于集群外的。以单master节点为例,如下图。

dd60184e53db43259ac90312fd3ac511.png


1.1 安装nfs


  1. 首先在nfs服务器上安装nfs服务
# 安装nfs
yum install -y nfs-utils
# 设置挂载路径
vim /etc/exports


将如下内容写进/etc/exports中

/data/nfs *(rw,no_root_squash)

7d6aaefb254d4e7aa9a09c64ffb2f9ac.png

  1. 检查是否出错
    执行如下命令不报错即可,报错的化就说明文件内容有问题,需要修改。
exportfs -r

7ce7c3d4ff4245e3a4fd20e586494f20.png


1.2 创建挂载路径


我准备把数据挂载到/nfs/mysql中,因此创建挂载路径

mkdir /nfs
cd /nfs
mkdir mysql


1.3 启动NFS服务


启动并查看是否已经运行

systemctl start nfs
ps -ef | grep nfs

78b0de5190c34146acb26f5c4e5bfaff.png


2. 所有node节点上安装NFS服务


所有node节点都要安装

yum install -y nfs-utils


3. rancher上部署MySQL


在rancher上部署MySQL,必须要先创建PVC和PV,PVC和PV创建之后会自动绑定,然后部署MySQL才会成功。

创建PVC和PV的顺序是固定的,必须先创建PV,再创建PVC;因为PVC是绑定在PV上的。

删除PVC和PV的顺序也是固定的,必须先删除PVC,再删除PV;如果不删除PVC直接去删除PV,是无法删除的。


3.1 创建PV

  1. 选择“PersistentVolumes”,点击右上角的“创建”,进入设置页面

02ed8c7be9b9407483786fcba9d42b5a.png

  1. 配置PV

注意:PV的存储空间一定要大于PVC

d3a7509e06604f54b373db92b0e3c8f9.png

bdcefe82873846fbb7066b319b72ce23.png

ba5f20fa13354ecfaa309a1bc6eac951.png


3.2 创建PVC

  1. 选择“PersistentVolumeClaims”,点击右上角的“创建”,进入设置页面

b670a153ed624a719e319dbea860b189.png

  1. 配置PVC

4cd86dde66454c9e812e6504cc426eae.png

ca232e822b5f4c4a860a7cdbcca1a034.png

创建完成后自动绑定到PV上。


3.3 创建服务发现

部署MySQL之前一定一定要先添加服务,否则就会报错

1、选择“服务发现”里的“Services”,创建,选择Helmless

941b753abda24b5096546211117eb054.png

fb1fae00064443cab26052b6dd6abd70.png

2、修改配置

953aa1b1c476418485c38a4478cf3382.png

选择器一定要添加

44033c7920ae457fa53a1ed0e54a090e.png

777b43f15e204023bd6102d6baf2dd9e.png


3.4 部署MySQL服务

  1. 选择“StatefulSets”,点击右上角创建,进入配置页面

0f88a339660748cd99ffda214cc069ae.png

2、配置MySQL

ed030b09d785477a9c30a1ac23c02e1e.png

9ae4788da6704e8cbaa23d9f39f20eb9.png

7e7b13378703424b8671df50661fe14d.png

4c7ac531eecb43398edc598aefcf5ee0.png

9d7ec451f83a4613be75aee2ffb8342b.png

53cdd64b6a3b4a19bb0c08eb30d94d65.png


4. 测试


测试方式有两种,一种是用电脑上可以连接mysql的工具连接,看是否好用,由于我的Navicat 到期了,这里就采用另一种方式——再服务器上安装mysql客户端,连接端口看是否好用。

  1. 安装mysql客户端,安装方式见这篇文章(此处有超链接)
  2. 进入MySQL
mysql -u root -p密码 -h 192.168.2.22 --port=30006

95988097075d445d86547b3d01b47193.png

3、重启pod,看新增的test是否还在

在rancher中将StatefulSets里的mysql副本数修改为0,保存退出后,在修改为1,保存退出,就可以视为pod重启。

在客户端查看test是否存在。可以发现,重启后仍然存在,也就做到了数据持久化存储。

4394cf3bf97c4bfba718d7252fb5ebb5.png

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
1571 4
|
运维 Dubbo Cloud Native
Dubbo 云原生重构出击:更快部署、更强控制台、更智能运维
Apache Dubbo 最新升级支持云原生,提供一键部署微服务集群与全新可视化控制台,提升全生命周期管理体验,助力企业高效构建云原生应用。
1933 25
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
762 41
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
1034 17
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
819 18
|
关系型数据库 MySQL 数据库
为什么 MySQL 不推荐用 Docker 部署?
本文探讨了MySQL是否适合容器化的问题,分析了Docker容器在数据安全、性能瓶颈、状态管理及资源隔离等方面的挑战,并指出目前主流分布式数据库如TDSQL和OceanBase仍倾向于部署在物理机或KVM上。
576 0
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
531 10
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
908 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
|
运维 监控 Cloud Native
从本土到全球,云原生架构护航灵犀互娱游戏出海
本文内容整理自「 2025 中企出海大会·游戏与互娱出海分论坛」,灵犀互娱基础架构负责人朱晓靖的演讲内容,从技术层面分享云原生架构护航灵犀互娱游戏出海经验。
1172 15

推荐镜像

更多