使用Kubernetes集群环境部署MySQL数据库的实战记录
作者:Redrose2100 发布时间:2024-01-14 15:30:16
标签:Kubernetes,集群,部署,MySQL
1 编写 mysql.yaml文件
编写yaml如下
apiVersion: v1
kind: Namespace
metadata:
name: devops # Namespace 的名称
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: devops-mysql # deployment控制器名称
namespace: devops
spec:
replicas: 1
revisionHistoryLimit: 5
strategy:
type: RollingUpdate
selector:
matchLabels:
app: devops-mysql
template:
metadata:
labels:
app: devops-mysql
spec:
volumes:
- name: devops-mysql
nfs:
server: xx.xx.xx.xx # 修改为挂载存储的服务器ip
path: /root/data/nfs/mysql/devops # 修改为存储服务器的存储挂载路径
containers:
- name: devops-mysql
image: mysql:5.7
env:
- name: MYSQL_ROOT_PASSWORD
value: xxxxxxxx # 设置MySQL数据库登录密码
imagePullPolicy: Always
ports:
- containerPort: 3306
volumeMounts:
- name: devops-mysql
mountPath: /var/lib/mysql
---
apiVersion: v1
kind: Service
metadata:
name: devops-mysql # 数据库服务的名称
namespace: devops
spec:
ports:
- port: 3306
protocol: TCP
targetPort: 3306
nodePort: 30001 # 对外访问的端口
selector:
app: devops-mysql
type: NodePort
sessionAffinity: ClientIP
2 执行如下命令创建
kubectl apply -f mysql.yaml
3 通过如下命令查看创建结果
使用如下命令查看
kubectl get pod -n devops | grep mysql
如:
[root@master ~]# kubectl get pod -n devops | grep mysql
devops-mysql-59b68c47d4-ttbng 1/1 Running 0 23h
[root@master ~]#
4 命令行进入Pod并登录mysql
如下;
[root@master ~]# kubectl exec -it devops-mysql-59b68c47d4-ttbng bash -n devops
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
root@devops-mysql-59b68c47d4-ttbng:/# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 5.7.36 MySQL Community Server (GPL)
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.01 sec)
mysql>
5 至此,数据库已经安装完成,然后即可通过ip+端口,这里是30001,进行数据库链接了
来源:https://juejin.cn/post/7101584734286774303


猜你喜欢
- 最近用Python写了个 * ,需要部署到Linux环境的服务器上,由于之前本地开发时使用virtualenv,使用这个虚拟环境有个好处是项目
- 贪吃蛇游戏是经典手机游戏,既简单又耐玩。通过控制蛇头方向吃蛋,使得蛇变长,从而获得积分。在诺基亚时代,风靡整个手机界,今天我们来看看另类的,
- 引言图片读入程序中后,是以numpy数组存在的。因此对numpy数组的一切功能,对图片也适用。对数组元素的访问,实际上就是对图片像素点的访问
- 最近用golang写了一个处理文件的脚本,由于其中涉及到了文件读写,开始使用golang中的 io 包,后来发现golang 中提供了一个b
- 本文研究的主要是PyQt5打开文件对话框QFileDialog的代码示例,具体如下。单个文件打开 QFileDialog.getOpenFi
- 说明为水平排列的表单和内联表单设置可选的图标.示例<!DOCTYPE html><html lang="zh-C
- 问题背景: 日常对Sql Server 2005关系数据库进行操作时,有时对数据库(如:Sharepoint网站配置数据库名Sharepoi
- 功能是:以一个关键字为索引,搜索整个数据库,然后返回那个关键字所在的表名和列名。(很赞...特别是入侵的时候找不到用户名与密码所在的表的时候
- MySQL根据不同条件联查不同表的数据项目开发中遇到类似的需求。Mybatis 中的< if >标签只能判断where部分,不能
- 本文实例分析了Python操作Access数据库基本步骤。分享给大家供大家参考,具体如下:Python编程语言的出现,带给开发人员非常大的好
- 如何使整个页面内容居中,如何使高度适应内容自动伸缩。这是学习CSS布局最常见的问题。下面就给出一个实际的例子,并详细解释。(本文的经验和是蓝
- Scrapy是什么?先看官网上的说明,http://scrapy-chs.readthedocs.io/zh_CN/latest/intro
- 常用配置以下配置能使用File -> New Projects Settings -> Settings for New Pro
- 四兄弟的背景在一个名为编程语言的村庄里,有不同姓氏的村民。例如Java、Python、Golang、JavaScript等姓氏,而接下来要介
- 今天在继续学习Python时,打开Pycharm后,发现有一个项目下的项目文件名是红色的,如下图:刚开始我以为是我升级 Pycharm导致的
- 夹角余弦(Cosine)也可以叫余弦相似度。 几何中夹角余弦可用来衡量两个向量方向的差异,机器学习中借用这一概念来衡量样本向量之间的差异。(
- 前序1、cookie介绍Cookie是一段不超过4KB的小型文本数据,保存在客户端浏览器中,由一个名称(Name)、一个值(Value)和其
- JSP 开发之 releaseSession的实例详解Hibernate可以实现分页查询,昨天试了一下,分页效果不错。但是发现了一个问题,就
- 本文实例为大家分享了python实现复制大量文件的具体代码,供大家参考,具体内容如下本来是去项目公司拷数据,结果去了发现有500G,靠系统的
- 1.文件写入#打开文件,路径不对会报错f = open(r"C:\Users\jm\Desktop\pyfile.txt"