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

相关推荐
loveLifeLoveCoding4 分钟前
K8S volumn 挂载文件
云原生·容器·kubernetes
lizhou82817 分钟前
win10下使用docker、k8s部署java应用
java·docker·kubernetes
知识分享小能手18 分钟前
mysql学习教程,从入门到精通,SQL ORDER BY 子句(14)
大数据·开发语言·数据库·sql·学习·mysql·大数据开发
木鬼与槐1 小时前
MySQL高阶1873-计算特殊奖金
数据库·mysql
尘浮生2 小时前
Java项目实战II基于Java+Spring Boot+MySQL的洗衣店订单管理系统(开发文档+源码+数据库)
java·开发语言·数据库·spring boot·mysql·maven·intellij-idea
2401_840192272 小时前
在k8s中,客户端访问服务的链路流程,ingress--->service--->deployment--->pod--->container
云原生·容器·kubernetes
福大大架构师每日一题4 小时前
16.2 k8s容器基础资源指标讲解
云原生·容器·kubernetes·prometheus
周湘zx4 小时前
k8s中的微服务
linux·运维·服务器·微服务·云原生·kubernetes
不惑_5 小时前
实战Redis与MySQL双写一致性的缓存模式
redis·mysql·缓存
工业甲酰苯胺5 小时前
k8s 中的 Ingress 简介
云原生·容器·kubernetes