【基于k8s集群的MySQL部署】

1.编写 mysql.yaml文件

bash 复制代码
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  # nfs服务端,参考之前nfs共享存储的部署文案
            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.执行部署命令

bash 复制代码
kubectl create -f mysql.yaml

3.查看部署结果

bash 复制代码
kubectl get pod -n devops | grep mysql

4.exec命令进入Pod并登录mysql

bash 复制代码
 kubectl exec -it devops-mysql-59b68c47d4-ttbng bash -n devops

进入容器后,使用 mysql -uroot -p命令登陆MySQL,初始密码为yaml文件配置。

如果登陆一切正常,则部署成功。

5.外部使用MySQL数据库

通过ip+端口,这里是30001,进行数据库登陆,这里推荐使用HeidiSQL工具,一款轻量、简单、方便的MySQL工具,我已经免费共享出来了,可点击这里直接下载使用。

相关推荐
小萌新上大分4 小时前
mysql主从复制搭建
mysql·mysql主从复制·mysql主从复制配置·mysql主从复制的搭建·mysql主从复制的原理·mysql安装入门
华仔啊5 小时前
这 10 个 MySQL 高级用法,让你的代码又快又好看
后端·mysql
会飞的小蛮猪6 小时前
K8s-1.29.2二进制安装-第一章
云原生·容器·kubernetes
Knight_AL6 小时前
MySQL 中 UPDATE 语句的执行过程全解析
数据库·mysql
梁萌7 小时前
ShardingSphere分库分表实战
数据库·mysql·实战·shardingsphere·分库分表
川石课堂软件测试8 小时前
Mysql中触发器使用详详详详详解~
数据库·redis·功能测试·mysql·oracle·单元测试·自动化
程序员游老板8 小时前
基于SpringBoot3_vue3_MybatisPlus_Mysql_Maven的社区养老系统/养老院管理系统
java·spring boot·mysql·毕业设计·软件工程·信息与通信·毕设
soft200152510 小时前
从一次增删改操作开始:彻底理解 MySQL Buffer Pool 的地位与作用
数据库·mysql
晨曦54321010 小时前
MySQL与Python数学函数大比拼
python·mysql
q_191328469510 小时前
基于SpringBoot2+Vue2的行业知识答题考试系统
java·vue.js·spring boot·mysql·毕业设计·计算机毕业设计·演示文稿