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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【云原生】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 
相关文章
|
4月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
288 41
|
4月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
382 17
|
4月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
113 18
|
4月前
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
125 10
|
8月前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
7月前
|
Cloud Native 安全 Serverless
云原生应用实战:基于阿里云Serverless的API服务开发与部署
随着云计算的发展,Serverless架构日益流行。阿里云函数计算(Function Compute)作为Serverless服务,让开发者无需管理服务器即可运行代码,按需付费,简化开发运维流程。本文从零开始,介绍如何使用阿里云函数计算开发简单的API服务,并探讨其核心优势与最佳实践。通过Python示例,演示创建、部署及优化API的过程,涵盖环境准备、代码实现、性能优化和安全管理等内容,帮助读者快速上手Serverless开发。
|
8月前
|
人工智能 关系型数据库 MySQL
AnalyticDB MySQL版:云原生离在线一体化数据仓库支持实时业务决策
AnalyticDB MySQL版是阿里云推出的云原生离在线一体化数据仓库,支持实时业务决策。产品定位为兼具数据库应用性和大数据处理能力的数仓,适用于大规模数据分析场景。核心技术包括混合负载、异构加速、智能弹性与硬件优化及AI集成,支持流批一体架构和物化视图等功能,帮助用户实现高效、低成本的数据处理与分析。通过存算分离和智能调度,AnalyticDB MySQL可在复杂查询和突发流量下提供卓越性能,并结合AI技术提升数据价值挖掘能力。
187 16
|
8月前
|
SQL 关系型数据库 MySQL
docker-compose部署mysql8
使用docker-compose容器化部署mysql8
|
3月前
|
人工智能 运维 关系型数据库
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
643 1
|
4月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!

推荐镜像

更多