在k8s上可以使用的mysql 8.0.23 版本的yaml文件应该怎么写
时间: 2024-02-03 08:15:32 浏览: 146
以下是一个基本的MySQL 8.0.23版本的Kubernetes YAML文件,供您参考:
```yaml
apiVersion: v1
kind: Service
metadata:
name: mysql
labels:
app: mysql
spec:
ports:
- port: 3306
selector:
app: mysql
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql
spec:
selector:
matchLabels:
app: mysql
strategy:
type: Recreate
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: mysql:8.0.23
env:
- name: MYSQL_ROOT_PASSWORD
value: password
ports:
- containerPort: 3306
volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
volumes:
- name: mysql-persistent-storage
persistentVolumeClaim:
claimName: mysql-pv-claim
```
这个YAML文件创建了一个Service和一个Deployment。
Service将端口3306映射到Kubernetes中的mysql Pod。
Deployment定义了一个名为mysql的Pod,它使用MySQL 8.0.23的容器映像。它还定义了一个名为mysql-persistent-storage的持久卷,用于永久存储MySQL数据库文件。该Pod使用环境变量来设置MySQL的root密码。
您需要将这个YAML文件保存为一个文件,例如mysql.yaml,然后使用kubectl apply命令将其应用于Kubernetes集群:
```bash
kubectl apply -f mysql.yaml
```
这将创建一个名为mysql的Pod和一个名为mysql的Service,您可以使用该Service来连接到MySQL数据库。
阅读全文