# 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,仅在集群内部访问
Deployment:
replicas: 1
: 部署一个 MySQL 实例。image: mysql:5.7
: 使用官方的 MySQL 5.7 镜像。env
: 设置 MySQL 的环境变量,包括 root 密码。volumeMounts
: 将持久化存储卷挂载到 MySQL 的数据目录 /var/lib/mysql
,以确保数据不会丢失。Service:
type: ClusterIP
: 创建一个集群内部的服务,使得其他应用可以通过该服务访问 MySQL。port: 3306
: 暴露 MySQL 的默认端口 3306。PersistentVolumeClaim (PVC):
mysql-pv-claim
: 通过 PVC 确保 MySQL 的数据可以持久化存储。需要提前创建相应的 PersistentVolume (PV) 或使用动态存储供应。这个配置文件可以帮助你在 Kubernetes 集群中部署一个单实例的 MySQL 数据库,并确保其数据持久化和内部可访问性。
上一篇:mysql登录命令行
下一篇:windows重启mysql服务
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站