【云原生】rancher2.6部署MySQL—2023.03
创始人
2024-05-30 15:48:57
0

文章目录

    • 概要
    • 1. 准备NFS服务器
      • 1.1 安装nfs
      • 1.2 创建挂载路径
      • 1.3 启动NFS服务
    • 2. 所有node节点上安装NFS服务
    • 3. rancher上部署MySQL
      • 3.1 创建PV
      • 3.2 创建PVC
      • 3.3 创建服务发现
      • 3.4 部署MySQL服务
    • 4. 测试

概要

本文以单master节点为例,部署mysql,多master(高可用)步骤类似。
准备了1台rancher控制集群,1个master节点,2个node节点,和一个进行存储数据nfs服务器。

节点IP必要装备
k8s-rancher192.168.2.21docker\rancher\kubectl
k8s-master1192.168.2.22docker
k8s-node1192.168.2.23docker\nfs
k8s-node2192.168.2.24docker\nfs
k8s-nfs192.168.2.35nfs

1. 准备NFS服务器

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

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

1.1 安装nfs

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

将如下内容写进/etc/exports

/data/nfs *(rw,no_root_squash)

在这里插入图片描述

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

在这里插入图片描述

1.2 创建挂载路径

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

mkdir /nfs
cd /nfs
mkdir mysql

1.3 启动NFS服务

启动并查看是否已经运行

systemctl start nfs
ps -ef | grep nfs

在这里插入图片描述

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”,点击右上角的“创建”,进入设置页面
    在这里插入图片描述
  2. 配置PV
    注意:PV的存储空间一定要大于PVC
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

3.2 创建PVC

  1. 选择“PersistentVolumeClaims”,点击右上角的“创建”,进入设置页面
    在这里插入图片描述
  2. 配置PVC
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    创建完成后自动绑定到PV上。

3.3 创建服务发现

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

  1. 选择“服务发现”里的“Services”,创建,选择Helmless
    在这里插入图片描述
    在这里插入图片描述
  2. 修改配置
    在这里插入图片描述
    选择器一定要添加
    在这里插入图片描述
    在这里插入图片描述

3.4 部署MySQL服务

  1. 选择“StatefulSets”,点击右上角创建,进入配置页面
    在这里插入图片描述
  2. 配置MySQL
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
3. 创建成功
在这里插入图片描述

4. 测试

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

  1. 安装mysql客户端,安装方式见这篇文章(此处有超链接)

  2. 进入MySQL

mysql -u root -p密码 -h 192.168.2.22 --port=30006

在这里插入图片描述

  1. 重启pod,看新增的test是否还在
    在rancher中将StatefulSets里的mysql副本数修改为0,保存退出后,在修改为1,保存退出,就可以视为pod重启。
    在客户端查看test是否存在。可以发现,重启后仍然存在,也就做到了数据持久化存储。
    在这里插入图片描述

相关内容

热门资讯

122.(leaflet篇)l... 听老人家说:多看美女会长寿 地图之家总目录(订阅之前建议先查看该博客) 文章末尾处提供保证可运行...
育碧GDC2018程序化大世界... 1.传统手动绘制森林的问题 采用手动绘制的方法的话,每次迭代地形都要手动再绘制森林。这...
育碧GDC2018程序化大世界... 1.传统手动绘制森林的问题 采用手动绘制的方法的话,每次迭代地形都要手动再绘制森林。这...
Vue使用pdf-lib为文件... 之前也写过两篇预览pdf的,但是没有加水印,这是链接:Vu...
PyQt5数据库开发1 4.1... 文章目录 前言 步骤/方法 1 使用windows身份登录 2 启用混合登录模式 3 允许远程连接服...
Android studio ... 解决 Android studio 出现“The emulator process for AVD ...
Linux基础命令大全(上) ♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维...
再谈解决“因为文件包含病毒或潜... 前面出了一篇博文专门来解决“因为文件包含病毒或潜在的垃圾软件”的问题,其中第二种方法有...
南京邮电大学通达学院2023c... 题目展示 一.问题描述 实验题目1 定义一个学生类,其中包括如下内容: (1)私有数据成员 ①年龄 ...
PageObject 六大原则 PageObject六大原则: 1.封装服务的方法 2.不要暴露页面的细节 3.通过r...
【Linux网络编程】01:S... Socket多进程 OVERVIEWSocket多进程1.Server2.Client3.bug&...
数据结构刷题(二十五):122... 1.122. 买卖股票的最佳时机 II思路:贪心。把利润分解为每天为单位的维度,然后收...
浏览器事件循环 事件循环 浏览器的进程模型 何为进程? 程序运行需要有它自己专属的内存空间࿰...
8个免费图片/照片压缩工具帮您... 继续查看一些最好的图像压缩工具,以提升用户体验和存储空间以及网站使用支持。 无数图像压...
计算机二级Python备考(2... 目录  一、选择题 1.在Python语言中: 2.知识点 二、基本操作题 1. j...
端电压 相电压 线电压 记得刚接触矢量控制的时候,拿到板子,就赶紧去测各种波形,结...
如何使用Python检测和识别... 车牌检测与识别技术用途广泛,可以用于道路系统、无票停车场、车辆门禁等。这项技术结合了计...
带环链表详解 目录 一、什么是环形链表 二、判断是否为环形链表 2.1 具体题目 2.2 具体思路 2.3 思路的...
【C语言进阶:刨根究底字符串函... 本节重点内容: 深入理解strcpy函数的使用学会strcpy函数的模拟实现⚡strc...
Django web开发(一)... 文章目录前端开发1.快速开发网站2.标签2.1 编码2.2 title2.3 标题2.4 div和s...