K8S--安装MySQL8(单机)
原文网址:K8S--安装MySQL8(单机)-CSDN博客
简介
本文介绍K8S部署MySQL8(单机)的方法。
-----------------------------------------------------------------------------------------------
分享Java真实高频面试题,吊打面试官: Java后端真实面试题大全 - 自学精灵
分享靠谱的Java高级实战,包含:高并发、架构、全局处理等:JavaWeb高级实战 - 自学精灵
-----------------------------------------------------------------------------------------------
本文的目标
1.通过PV和PVC(hostPath方式)存储MySQL的数据
2.通过Deployment、Service部署MySQL8,并通过NodePort暴露给外部
3.使用Navicat进行测试
官网网址
运行一个单实例有状态应用 | Kubernetes
概述
1.持久化PV存储方式
数据库必须持久化数据,否则节点重启后数据就没了。PV和PVC可以对数据持久化,支持多种方式:
hostPath、NFS、RDB等等。数据要节点共享的,否则如果节点在其他机器上启动了,就无法访问到数据了。所以,生产环境一般采用这些方式:NFS挂载、用云服务器的RDB等。
本文为了简单,只部署一个MySQL节点,使用hostPath方式,不支持节点共享。
2.持久化PV分配方式
本文我直接手动预先创建。生产环境应该通过StorageClass采用Dynamic Provisioning。
3.数据库高可用
数据库一般要配置主从或者集群,实现高可用。一般使用StatefulSet部署,StatefulSet用于管理有状态应用的负载均衡,管理一组Pod的实现、扩容、缩容,并保证它们的顺序和唯一性。
StatefulSets维护的Pod有唯一的、持久的身份和稳定的主机名,不用管它们位于哪个节点上。即使StatefulSet中的Pod发生故障,存储卷与新Pod进行匹配也很容易。
1.创建PV和PVC存储
先创建目录:
mkdir -p /work/devops/k8s/app/mysql/mnt
创建名为 pv.yaml的文件,内容如下:
apiVersion: v1
kind: PersistentVolume
metadata:name: mysql-pvnamespace: dblabels:type: db-pv
spec:storageClassName: manualcapacity:storage: 5GiaccessModes:- ReadWriteOncehostPath:path: "/work/devops/k8s/app/mysql/mnt"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: mysql-pvcnamespace: db
spec:storageClassName: manualaccessModes:- ReadWriteOnceresources:requests:storage: 5Gi
创建pv:
kubectl apply -f pv.yaml
查看PV
kubectl get pv mysql-pv
结果:(创建成功)

查看PVC
kubectl get pvc -A
或者
get pvc mysql-pvc -n db
结果 (创建成功,绑定到了mysql-pv)

2.创建MySQL应用
1.创建命名空间
用于数据库相关应用。
创建名为db-namespace.yaml的文件,内容如下:
# 创建命名空间
apiVersion: v1
kind: Namespace
metadata:name: dblabels:name: db
执行命令创建它:
kubectl apply -f db-namespace.yaml
2.创建MySQL应用
这里用Configmap配置MySQL、用Deployment部署mysql镜像、用Service将MySQL暴露出来。
创建名为k8s.yaml的文件,内容如下:
apiVersion: v1
kind: ConfigMap
metadata:name: mysql-confignamespace: db
data:my.cnf: |-[client]default-character-set=utf8mb4[mysql]default-character-set=utf8mb4[mysqld]#服务端口号 默认3306port=3306# 数据路径,默认是/var/lib/mysql/#datadir = /app/data/init_connect='SET NAMES utf8mb4'character-set-server=utf8mb4collation-server=utf8mb4_unicode_ci# 最大连接数max_connections=200# 连接失败的最大次数。防止有人从该主机试图攻击数据库系统max_connect_errors=20# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB---
apiVersion: apps/v1
kind: Deployment
metadata:name: mysql-deploymentnamespace: db
spec:replicas: 1selector:matchLabels:name: mysqltemplate:metadata:labels:name: mysqlspec:containers:- name: mysql8image: mysql:8.0imagePullPolicy: IfNotPresentports:- containerPort: 3306env:- name: TZvalue: Asia/Shanghai- name: MYSQL_ROOT_PASSWORDvalue: "123456"- name: MYSQL_USERvalue: admin- name: MYSQL_PASSWORDvalue: "222333"volumeMounts:- name: volumemountPath: /var/lib/mysql/subPath: data- name: volumemountPath: /var/log/mysql/subPath: log- name: configmountPath: /etc/mysql/conf.d/my.cnfvolumes:- name: volumepersistentVolumeClaim:claimName: mysql-pvc- name: configconfigMap:name: mysql-config
---
apiVersion: v1
kind: Service
metadata:name: mysql-servicenamespace: dblabels:app: mysql
spec:type: NodePortports:- port: 3306targetPort: 3306nodePort: 30005selector:name: mysql
查看结果(已成功启动)
kubectl get pods -A
结果

3.用Navicat测试
用Navicat测试连接:(连接成功)

相关文章:
K8S--安装MySQL8(单机)
原文网址:K8S--安装MySQL8(单机)-CSDN博客 简介 本文介绍K8S部署MySQL8(单机)的方法。 ----------------------------------------------------------------------------------------------- 分享Java真实高频面试题…...
CMake+QT+大漠插件的桌面应用开发
文章目录 CMakeQT大漠插件的桌面应用开发说明环境项目结构配置编译环境代码 CMakeQT大漠插件的桌面应用开发 说明 在CMake大漠插件的应用开发——处理dm.dll,免注册调用大漠插件中已经说明了如何免注册调用大漠插件,以及做了几个简单的功能调用&#x…...
OpenCV-24双边滤波
一、概念 双边滤波对于图像的边缘信息能够更好的保存。其原理为一个与空间距离相关的高斯函数与一个灰度距离相关的高斯函数相乘。 空间距离:指的是当前点与中心点的欧式距离。空间域的高斯函数及其数学形式为: 其中(xi,yi&…...
AI智能分析网关V4:太阳能+4G智慧水库远程可视化智能监管方案
一、背景需求分析 由于水库位置分散的原因,水库视频监控建设在立杆、布线等方面都存在一定的难度,且需要人力、物力的前期投入和后期维护。目前水库的监管存在一定的问题,管理人员工作强度大但管理质量并不高,人为巡检无法实时发…...
第8章-第8节-Java中的文件类File的简单介绍
1、我们已经写过File的相关代码: BufferedReader bf new BufferedReader(new FileReader(new File("aa.txt"))); 2、其实FIle这个类自身也是非常强大的,封装了很多操作文件/目录的方法,今天我们就需要去详细的学习这个类&#x…...
CTF-PWN-沙箱逃脱-【seccomp和prtcl-2】
文章目录 沙箱逃脱prtcl题HITCON CTF 2017 Quals Impeccable Artifact libc 2.24flag文件对应prctl函数检查源码思路exp 沙箱逃脱prtcl题 HITCON CTF 2017 Quals Impeccable Artifact libc 2.24 flag文件 此时的flag文件在本文件夹建一个即可 此时的我设置的flag为 对应prc…...
【Docker篇】使用Docker操作镜像
文章目录 🛸镜像🌺基本操作⭐docker --help⭐docker pull [ 参数 ]⭐docker images⭐docker save -- 导出⭐docker rmi -- 删除⭐docker load -- 导入 🛸镜像 镜像是指在计算机领域中,通过复制和创建一个与原始对象相似的副本的过…...
css宽度适应内容
废话不多说,看如下demo,我需要将下面这个盒子的宽度变成内容自适应 方法有很多,如下 父元素设置display:flex 实现子元素宽度适应内容 如下给父元素设置flex能实现宽度自适应内容 <!DOCTYPE html><html lang"en"><head><meta charset"U…...
粒子物理和原子核物理的理论在模拟和分析电路中的粒子束和辐射效应中的应用
粒子物理和原子核物理的理论可以应用于模拟和分析电路中的粒子束和辐射效应,特别是在粒子加速器和辐射探测器的设计和优化方面。通过这些理论的应用,可以提高加速器和探测器的性能,推动粒子物理和原子核物理的研究进展。粒子物理和原子核物理…...
Opentsdb官方优化文档 - 翻译
文档地址 : Tuning — OpenTSDB 2.4 documentation Tuning As with any database there are many tuning parameters for OpenTSDB that can be used to improve write and read performance. Some of these options are specific to certain backends, others are global. …...
JavaScript深拷贝与浅拷贝的全面解析
🧑🎓 个人主页:《爱蹦跶的大A阿》 🔥当前正在更新专栏:《VUE》 、《JavaScript保姆级教程》、《krpano》 目录 ✨ 前言 ✨ 正文 浅拷贝 对象的浅拷贝 数组的浅拷贝 浅拷贝的问题 深拷贝 什么是深拷贝…...
ESU毅速丨制造企业需不需要建设增材制造中心?
随着科技的不断发展,增材制造技术已经成为制造行业的新宠。越来越多的企业开始考虑建设增材制造中心,以提高生产效率、降低成本、加速产品创新。但是,对于制造企业来说,是否需要建设增材制造中心呢? 首先,我…...
Linux shell编程学习笔记39:df命令
0 前言1 df命令的功能、格式和选项说明 1.1 df命令的功能1.2 df命令的格式1.3 df命令选项说明 2 df命令使用实例 2.1 df:显示主要文件系统信息2.2 df -a:显示所有文件系统信息2.3 df -t[]TYPE或--type[]TYPE:显示TYPE指定类型的文件系统信…...
简单高效 LaTeX 科学排版 第004集 命令与环境
这是《简单高效LaTeX》的第四个视频,主要演示讨论基本命令与排版环境,还有保留字符。 视频地址:https://www.ixigua.com/7298100920137548288?id7298102807985390120&logTagf853f23a668f8a2ee405...
初识XSS漏洞
目录 一、XSS的原理和分类 二、Xss漏洞分类 1. 反射性xss 简单的演示: 2.基于DOM的XSS 简单的演示: 3.存储型XSS 编辑简单的演示 4、self xss 三、XSS漏洞的危害 四、XSS漏洞的验证 五、XSS漏洞的黑盒测试 六、XSS漏洞的白盒测试 七、XS…...
白嫖aws创建Joplin server服务器
网上有很多的Joplin服务器的搭建教程,但是基本都是抄来抄去,对初学者实在是太不友好了。 话不多说,说干就干,自己从头找资料搭了一个,这可能是全网最好的Joplin服务器搭建教程了。 aws服务器 aws的服务器还是很香的&…...
metartc5_jz源码阅读-p2p通过stun服务器进行通信
1. YangIpc.c/yang_create_ipc 需要设置stun服务器的ip地址和端口号 设置iceCandidateType为2,表示走stun,即向stun服务器发起请求获取本机的公网ip地址。 //设置iceServerIP和端口号,设置iceCandidate类型。 strcpy(session->avinfo.rtc…...
总结:Java程序员读书清单顺序
总结:Java程序员读书清单顺序,持续更新中。。。。。。 一经验提示:1.零基础不建议直接看计算机专业书籍,建议先去看视频教程2.本书单目录用作自学顺序记录,也适用于有Java开发基础的同志3.看计算机书籍可以完善自己的技…...
ubuntu通过virtualbox安装win虚拟机
系统:Ubuntu22.04 需要准备:下载你想用的windows的iso镜像,官方传送门。 一、安装virtualbox sudo apt-get install virtualbox安装完成后,打开Applications,找到virtualbox,点击启动 二、安装windows虚…...
云流量回溯的工作原理及关键功能
云计算和网络技术的快速发展为企业提供了更灵活、高效的业务运营环境,同时也引发了一系列网络安全挑战。在这个背景下,云流量回溯成为网络安全领域的一个关键技术,为企业提供了对网络活动的深入洞察和实时响应的能力。 一、 云流量回溯的基本…...
用 C 语言函数表实现通信传输层抽象
用 C 语言函数表实现通信传输层抽象 在嵌入式 Linux 或工业控制类程序中,一个应用经常需要同时接入多种通信链路,例如 UDP、串口、CAN、TCP 或 Unix Socket。 这些链路的底层实现差异很大: UDP 基于 socket串口基于 tty 设备CAN 基于 SocketC…...
数据库事务与隔离级别:深入理解ACID
数据库事务与隔离级别:深入理解ACID 引言 数据库事务是现代应用系统数据一致性的基石。在并发环境下,事务处理不当会导致脏读、不可重复读、幻读等一系列问题。理解事务的隔离级别及其实现原理,是每个后端开发者必须掌握的核心技能。 一、ACI…...
从理论到实践:IGBT热设计与损耗估算的工程化指南
1. IGBT热设计的基础原理 IGBT(绝缘栅双极型晶体管)作为现代电力电子系统的核心器件,其热设计直接关系到设备可靠性和寿命。我第一次接触IGBT热设计是在开发工业变频器时,当时因为散热计算失误导致批量产品返修,这个教…...
ARM错误恢复中断机制与ERRERICR2寄存器详解
1. ARM错误恢复中断机制概述在ARM架构的可靠性、可用性和可维护性(RAS)系统中,错误恢复中断是实现硬件容错的关键机制。当处理器检测到可恢复的错误条件时,通过这套机制能够快速通知系统进行错误处理,而ERRERICR2寄存器…...
如何用嘎嘎降AI处理理工科论文:公式图表密集的理工科毕业论文降AI免费完整操作流程
如何用嘎嘎降AI处理理工科论文:公式图表密集的理工科毕业论文降AI免费完整操作流程 帮三个不同学校的同学处理过论文降AI问题,每次情况不完全一样,但流程基本是固定的。 主推工具:嘎嘎降AI(www.aigcleaner.com&#…...
基于MCP协议的金融数据服务器:为AI量化分析提供标准化数据接口
1. 项目概述:一个为金融量化分析而生的MCP服务器如果你和我一样,在金融数据分析和量化策略开发的路上摸爬滚打过几年,那你一定对“数据获取”这个老大难问题深有体会。无论是想回测一个简单的双均线策略,还是构建一个复杂的多因子…...
AI加速新材料发现:神经网络势函数如何革新半导体材料研发
1. 项目概述:当AI撞上2nm工艺,材料研发的“游戏规则”正在被改写如果你在半导体行业待过几年,尤其是跟工艺和材料沾边,那你肯定对“摩尔定律的焦虑”深有体会。我们总在说工艺节点在微缩,从28nm、14nm、7nm一路狂奔到现…...
3步搞定安卓应用Windows安装:告别臃肿模拟器的终极解决方案
3步搞定安卓应用Windows安装:告别臃肿模拟器的终极解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否厌倦了那些占用大量系统资源、启动缓慢的…...
基于Claude API的AI应用开发:claude-toolshed框架实战指南
1. 项目概述与核心价值最近在折腾AI应用开发,特别是围绕Claude API构建一些自动化工具时,发现了一个挺有意思的开源项目——aksh-3141/claude-toolshed。这名字直译过来是“Claude的工具棚”,听起来就挺接地气的。简单来说,它不是…...
告别英文恐惧症!PowerToys-CN让Windows效率工具真正为你所用
告别英文恐惧症!PowerToys-CN让Windows效率工具真正为你所用 【免费下载链接】PowerToys-CN PowerToys Simplified Chinese Translation 微软增强工具箱 自制汉化 项目地址: https://gitcode.com/gh_mirrors/po/PowerToys-CN 你是否曾经面对微软官方的PowerT…...
