k8s 部署mysql 5.7的完整配置
以下是一个简化的Kubernetes部署MySQL 5.7的示例配置:
- 创建一个名为
mysql-deployment.yaml
的文件,内容如下:
apiVersion: v1
kind: Service
metadata:
name: mysql
spec:
ports:
- port: 3306
selector:
app: mysql
clusterIP: None
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pv-claim
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 250Mi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql
spec:
selector:
matchLabels:
app: mysql
strategy:
type: Recreate
template:
metadata:
labels:
app: mysql
spec:
containers:
- image: mysql:5.7
name: mysql
env:
- name: MYSQL_ROOT_PASSWORD
value: my-secret-pw
- name: MYSQL_DATABASE
value: my-database
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
volumes:
- name: mysql-persistent-storage
persistentVolumeClaim:
claimName: mysql-pv-claim
- 在命令行中运行以下命令来应用配置:
kubectl apply -f mysql-deployment.yaml
这个配置包括了一个无头服务(mysql
),用于在集群内部暴露MySQL服务,一个持久卷声明(mysql-pv-claim
),用于存储数据,以及一个部署(mysql
),它使用了MySQL 5.7镜像,并设置了环境变量来配置root密码和初始数据库。
请根据实际情况调整存储大小、密码和数据库名。如果你的Kubernetes集群配置了持久卷(PV)和存储类(StorageClass),你可能需要调整PersistentVolumeClaim来请求正确的存储资源。
评论已关闭