以下是在Kubernetes中创建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
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-root-password
key: password
ports:
- containerPort: 3306
volumeMounts:
- name: mysql-data
mountPath: /var/lib/mysql
volumes:
- name: mysql-data
persistentVolumeClaim:
claimName: mysql-pvc
上述示例中,我们定义了一个名为mysql-deployment
的Deployment,并且指定了使用mysql
的标签。该部署将在容器中运行MySQL 5.7镜像,并且通过env
变量设置了MySQL的root密码。
此外,Deployment也定义了一个名为mysql-pvc
的PersistentVolumeClaim(PVC),用于持久化MySQL数据。我们将其与名为mysql-data
的卷进行绑定,并将其挂载到MySQL容器的/var/lib/mysql
路径下。
最后,我们可以使用以下命令来创建MySQL Deployment:
$ kubectl apply -f mysql-deployment.yaml