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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 【云原生】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

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10天前
|
SQL Java 关系型数据库
MySQL原理简介—3.生产环境的部署压测
本文介绍了Java系统和数据库在高并发场景下的压测要点: 1. 普通系统在4核8G机器上每秒能处理几百个请求 2. 高并发下数据库建议使用8核16G或更高配置的机器 3. 数据库部署后需进行基准压测,以评估其最大承载能力 4. QPS和TPS的区别及重要性 5. 压测时需关注IOPS、吞吐量、延迟 6. 除了QPS和TPS,还需监控CPU、内存、磁盘IO、网络带宽 7. 影响每秒可处理并发请求数的因素包括线程数、CPU、内存、磁盘IO和网络带宽 8. Sysbench是数据库压测工具,可构造测试数据并模拟高并发场景 9. 在增加线程数量的同时,必须观察机器的性能,确保各硬件负载在合理范围
114 72
|
20天前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
1月前
|
人工智能 关系型数据库 MySQL
AnalyticDB MySQL版:云原生离在线一体化数据仓库支持实时业务决策
AnalyticDB MySQL版是阿里云推出的云原生离在线一体化数据仓库,支持实时业务决策。产品定位为兼具数据库应用性和大数据处理能力的数仓,适用于大规模数据分析场景。核心技术包括混合负载、异构加速、智能弹性与硬件优化及AI集成,支持流批一体架构和物化视图等功能,帮助用户实现高效、低成本的数据处理与分析。通过存算分离和智能调度,AnalyticDB MySQL可在复杂查询和突发流量下提供卓越性能,并结合AI技术提升数据价值挖掘能力。
55 16
|
1月前
|
SQL 关系型数据库 MySQL
docker-compose部署mysql8
使用docker-compose容器化部署mysql8
|
2月前
|
人工智能 缓存 异构计算
云原生AI加速生成式人工智能应用的部署构建
本文探讨了云原生技术背景下,尤其是Kubernetes和容器技术的发展,对模型推理服务带来的挑战与优化策略。文中详细介绍了Knative的弹性扩展机制,包括HPA和CronHPA,以及针对传统弹性扩展“滞后”问题提出的AHPA(高级弹性预测)。此外,文章重点介绍了Fluid项目,它通过分布式缓存优化了模型加载的I/O操作,显著缩短了推理服务的冷启动时间,特别是在处理大规模并发请求时表现出色。通过实际案例,展示了Fluid在vLLM和Qwen模型推理中的应用效果,证明了其在提高模型推理效率和响应速度方面的优势。
云原生AI加速生成式人工智能应用的部署构建
|
2月前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
184 26
|
2月前
|
Java 关系型数据库 MySQL
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
80 5
|
3月前
|
Kubernetes Cloud Native 微服务
云原生入门与实践:Kubernetes的简易部署
云原生技术正改变着现代应用的开发和部署方式。本文将引导你了解云原生的基础概念,并重点介绍如何使用Kubernetes进行容器编排。我们将通过一个简易的示例来展示如何快速启动一个Kubernetes集群,并在其上运行一个简单的应用。无论你是云原生新手还是希望扩展现有知识,本文都将为你提供实用的信息和启发性的见解。
|
3月前
|
敏捷开发 Kubernetes Cloud Native
阿里云云原生技术为企业提供了一套高效、灵活的解决方案,支持跨云部署与管理
在多云环境中,阿里云云原生技术为企业提供了一套高效、灵活的解决方案,支持跨云部署与管理。通过容器化、服务网格等技术,实现了应用的一致性与可移植性,简化了多云环境下的资源管理和服务治理,帮助企业应对复杂的云环境挑战,加速数字化转型。
92 5
|
2月前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。

推荐镜像

更多