Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

k8s部署mysql

作者:徒醉了清风   发布日期:2025-07-04   浏览:49

# mysql-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysql-deployment
  labels:
    app: mysql
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
      - name: mysql
        image: mysql:5.7
        ports:
        - containerPort: 3306
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: "rootpassword" # 设置 MySQL 的 root 密码
        volumeMounts:
        - name: mysql-persistent-storage
          mountPath: /var/lib/mysql # 挂载持久化存储卷到 MySQL 数据目录
      volumes:
      - name: mysql-persistent-storage
        persistentVolumeClaim:
          claimName: mysql-pv-claim # 引用 PersistentVolumeClaim,确保数据持久化

---
# mysql-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: mysql-service
  labels:
    app: mysql
spec:
  ports:
  - port: 3306
  selector:
    app: mysql
  type: ClusterIP # 服务类型为 ClusterIP,仅在集群内部访问

解释说明:

  1. Deployment:

    • replicas: 1: 部署一个 MySQL 实例。
    • image: mysql:5.7: 使用官方的 MySQL 5.7 镜像。
    • env: 设置 MySQL 的环境变量,包括 root 密码。
    • volumeMounts: 将持久化存储卷挂载到 MySQL 的数据目录 /var/lib/mysql,以确保数据不会丢失。
  2. Service:

    • type: ClusterIP: 创建一个集群内部的服务,使得其他应用可以通过该服务访问 MySQL。
    • port: 3306: 暴露 MySQL 的默认端口 3306。
  3. PersistentVolumeClaim (PVC):

    • mysql-pv-claim: 通过 PVC 确保 MySQL 的数据可以持久化存储。需要提前创建相应的 PersistentVolume (PV) 或使用动态存储供应。

这个配置文件可以帮助你在 Kubernetes 集群中部署一个单实例的 MySQL 数据库,并确保其数据持久化和内部可访问性。

上一篇:mysql登录命令行

下一篇:windows重启mysql服务

大家都在看

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

存储过程mysql

mysql with语句

mysql时间加减

brew 启动mysql

unsigned在mysql中是什么意思

mysql 插入更新

mysql.user

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站