【基于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工具,我已经免费共享出来了,可点击这里直接下载使用。

相关推荐
kuroomi9 小时前
Ingress-Nginx与kubernetes 网络
linux·运维·网络·kubernetes
‎ദ്ദിᵔ.˛.ᵔ₎11 小时前
MySQL 表约束
数据库·mysql
linmengmeng_131413 小时前
【总结】MyBatis-Plus批量插入与清表的正确姿势
java·spring boot·mysql·mybatis
达梦数据15 小时前
DMDRS空间数据类型说明:Oracle、DM8、MySQL空间数据类型映射
数据库·mysql·oracle
lusklusklusk16 小时前
Oracle索引组织表,SQLServer聚集索引,Mysql Innodb表的数据行不是在磁盘上像排队一样严格连续地存放
mysql·postgresql·oracle·sqlserver
程序猿阿越17 小时前
containerd如何创建Pod
后端·kubernetes·源码阅读
螺蛳粉 螺蛳粉18 小时前
mysql的备份与恢复
linux·运维·数据库·mysql
计算机毕设定制辅导-无忧学长19 小时前
《基于SpringBoot的中学教师数字胜任力测评网站的设计与实现》
java·vue.js·spring boot·mysql·中学教师数字胜任力测评网站
guo_wen_qiang19 小时前
mysql中有哪些日志
数据库·mysql