部署K8S集群(四):部署MySQL

news/2025/1/15 21:02:02/文章来源:https://www.cnblogs.com/Ar4te-blog/p/18405435
  1. 密码文件:MySQL Secret
mkdir -p /opt/mysql
mkdir -p /data/mysql
cat > /opt/mysql/mysql-secret.yaml << EOF
apiVersion: v1
kind: Secret
metadata:name: mysql-secret
type: Opaque
data:mysql-root-password: cGFzc0AxMjM0mysql-database: VGVzdA==mysql-user: ZGJyZWFkZXI=mysql-password: ZGJyZWFkZXI=
EOFkubectl apply -f /opt/mysql/mysql-secret.yaml
  1. 持久化存储:PersistentVolume、PersistentVolumeClaim
cat > /opt/mysql/mysql-pv.yaml << EOF
apiVersion: v1
kind: PersistentVolume
metadata:name: mysql-pv
spec:capacity:storage: 10GiaccessModes:- ReadWriteOncehostPath:path: /data/mysql
EOF
kubectl apply -f /opt/mysql/mysql-pv.yamlcat > /opt/mysql/mysql-pvc.yaml << EOF
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: mysql-pvc
spec:accessModes:- ReadWriteOnceresources:requests:storage: 10Gi
EOF
kubectl apply -f /opt/mysql/mysql-pvc.yaml
  1. 配置文件:MySQL Deployment
cat > /opt/mysql/mysql-deployment.yaml << EOF
apiVersion: apps/v1
kind: Deployment
metadata:name: mysql-deployment
spec:replicas: 1selector:matchLabels:app: mysqltemplate:metadata:labels:app: mysqlspec:containers:- name: mysqlimage: mysql:latestenv: - name: MYSQL_ROOT_PASSWORDvalueFrom:secretKeyRef:name: mysql-secretkey: mysql-root-password- name: MYSQL_DATABASEvalueFrom:secretKeyRef:name: mysql-secretkey: mysql-database- name: MYSQL_PASSWORDvalueFrom:secretKeyRef:name: mysql-secretkey: mysql-passwordports:- containerPort: 3306volumeMounts:- name: mysql-storagemountPath: /var/lib/mysqlvolumes:- name: mysql-storagepersistentVolumeClaim:claimName: mysql-pvc
---
apiVersion: v1
kind: Service
metadata:name: mysql-service
spec:type: NodePortports:- port: 3306targetPort: 3306nodePort: 30006selector:app: mysql
EOFkubectl apply -f /opt/mysql/mysql-deployment.yaml
  1. 利用cronjob实现备份
mkdir -p /backup/mysql
cat > /opt/mysql/mysql-backup-cronjob.yaml << EOF
apiVersion: batch/v1
kind: CronJob
metadata:name: mysql-backup
spec:schedule: "0 3 * * *"  # 可以根据需要调整备份时间jobTemplate:spec:template:spec:containers:- name: mysql-backupimage: mysql:latest  # 确保这个镜像中包含 mysqldumpcommand:- /bin/sh- -c- |mysqldump -h mysql-service -uroot -p$MYSQL_ROOT_PASSWORD $MYSQL_DATABASE > /backup/mysql/backup-$(date +\%F-\%H\%M\%S).sqlenv:- name: MYSQL_ROOT_PASSWORDvalueFrom:secretKeyRef:name: mysql-secretkey: mysql-root-password- name: MYSQL_DATABASEvalueFrom:secretKeyRef:name: mysql-secretkey: mysql-databasevolumeMounts:- name: backup-storagemountPath: /backup/mysqlvolumes:- name: backup-storagepersistentVolumeClaim:claimName: mysql-pvcrestartPolicy: OnFailure
EOF
kubectl apply -f /opt/mysql/mysql-backup-cronjob.yaml
  1. 查看状态
kubectl get pods
#NAME                                READY   STATUS    RESTARTS       AGE
#mysql-deployment-57b4b9987c-h458p   1/1     Running   2 (15m ago)    15m

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/794690.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文梳理RAG(检索增强生成)的现状与挑战

一 RAG简介 大模型相较于过去的语言模型具备更加强大的能力,但在实际应用中,例如在准确性、知识更新速度和答案透明度方面,仍存在不少问题,比如典型的幻觉现象。因此,检索增强生成 (Retrieval-Augmented Generation, RAG) 被当作于大模型应用开发的一种新范式。RAG是指在利…

我的博客搬家啦!!!

大家好! 感谢大家一直以来的支持和关注!经过深思熟虑,我决定将我的博客迁移至博客园的新账号。未来,我将在这个新的平台上持续分享技术文章、项目经验以及个人见解,而原有的博客将不再更新。 为什么选择搬家? 随着时间的推移,我发现自己对内容创作有了新的想法和方向,而…

Codeforces Round 942 (Div. 1) VP 记录

Codeforces Round 942 (Div. 1) VP 记录 我没实力打 Div1 /kk 事实上我唯一 rated 的那场 Div1 切三题是不是运气好啊 /kk /kk A 考虑 \(k = 0\) 的时候怎么做。设最小值为 \(x\),答案显然是 \(\sum [a_i = x \vee a_i = x + 1] a_i\)。 都与最小值相关了,都最小值最大了,直…

【工具使用】【OpenFeign 】OpenFeign 下未开启重试,服务却被调用了两次

1 前言 上节我们看了下 OpenFeign 里的重试,后来我从源码的角度看了下它的原理,发现一个诡异的情况,就是我没开启重试的情况下,我的服务却被调用了两次,这是为什么呢?本节我们来看看这个问题。 2 环境准备 首先准备一下,我这里有两个服务,一个是 demo 一个是 virtuou…

CSP模拟 取模

最近开始写 CSP 模拟的题,实际上考的题一点也不 CSP 题意 有一个长度为 \(n\) 的序列 \(A\),\(0\leq A_i<k\),你可以每次选取一个区间,将区间内所有元素 \(+1\),然后将区间内所有元素对 \(k\) 取模。问最少几次操作可以把序列中所有元素都变为 \(0\)。 思路 假设现在有…

爬虫案例2-爬取视频的三种方式之一:requests篇(1)

@目录前言爬虫步骤确定网址,发送请求获取响应数据对响应数据进行解析保存数据完整源码共勉博客 前言 本文写了一个爬取视频的案例,使用requests库爬取了好看视频的视频,并进行保存到本地。后续也会更新selenium篇和DrissionPage篇。当然,爬取图片肯定不止这三种方法,还有基…

支持向量机模型 0基础小白也能懂(附代码)

本篇我们要讲解的模型是大名鼎鼎的支持向量机 SVM,这是曾经在机器学习界有着近乎「垄断」地位的模型,影响力持续了好多年。直至今日,即使深度学习神经网络的影响力逐渐增强,但 SVM 在中小型数据集上依旧有着可以和神经网络抗衡的极好效果和模型鲁棒性。支持向量机模型 0基础…

LeetCode题集-3 - 无重复字符的最长子串

本文讨论了给定字符串找最长无重复字符子串的三种解法:双指针法、双指针+哈希法、双指针+数组法。其中,双指针+数组法因ASCII码特性效率最高,基准测试表明其优于哈希法。题目:给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。我们先来好好理解题目,示例1…

2-5Java多态

Java 多态 多态是同一个行为具有多个不同表现形式或形态的能力。 多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:多态性是对象多种表现形式的体现。 现实中,比如我们按下 F1 键这个动作:如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档; 如果当前在 Wor…

【VMware by Broadcom】Fusion 产品下载汇总

Fusion 产品下载汇总(百度网盘)-『2024年9月9日更新』Fusion 产品版本 百度网盘VMware-Fusion-1.0.0-51348.dmg 链接:https://pan.baidu.com/s/1C8Qkr6nwV5rKrhpsv2JJ_A?pwd=t0kjVMware-Fusion-1.1.0-62573.dmgVMware-Fusion-1.1.1-72241.dmgVMware-Fusion-1.1.2-87978.dmg…

C#/.NET/.NET Core技术前沿周刊 | 第 4 期(2024年9.1-9.8)

前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。欢迎投稿,推荐或自荐优质文章/项目/学习资源等。…

51nod 1051 最大子矩阵和

51nod 1051 最大子矩阵和 可以用前缀和容斥优化到 \(O(n^4)\),但是不够进行如下图操作:将每一列的数值都压缩到一维的数组上,就转换为求最大字段和问题,时间复杂度 \(O(n^3)\)。 看看代码就知道了。 #include <bits/stdc++.h> using namespace std; #define ll long …