47 lines
2.0 KiB
YAML
47 lines
2.0 KiB
YAML
|
|
apiVersion: apps/v1
|
|||
|
|
kind: Deployment
|
|||
|
|
metadata:
|
|||
|
|
name: ruoyi-mysql #指定deployment的名字
|
|||
|
|
namespace: kube-ruoyi
|
|||
|
|
labels:
|
|||
|
|
app: ruoyi-mysql-local
|
|||
|
|
spec: #规约
|
|||
|
|
replicas: 1 #pod的副本数量,就是希望创建多少个pod的副本.可p选字段。它的默认值是1。
|
|||
|
|
selector: #selector 字段定义 Deployment 如何查找要管理的 Pods。必须匹配 .spec.template.metadata.labels,否则请求会被 API 拒绝。
|
|||
|
|
matchLabels:
|
|||
|
|
app: ruoyi-mysql-local
|
|||
|
|
template: #Deployment Pod 模板;它和 Pod 的语法规则完全相同。 只是这里它是嵌套的,因此不需要 apiVersion 或 kind。
|
|||
|
|
metadata:
|
|||
|
|
labels:
|
|||
|
|
app: ruoyi-mysql-local
|
|||
|
|
spec: #pod模板规约
|
|||
|
|
containers: #容器
|
|||
|
|
- name: ruoyi-mysql #容器的名称
|
|||
|
|
image: ruoyi/mysql:5.7 #容器使用的镜像
|
|||
|
|
ports:
|
|||
|
|
- containerPort: 3306
|
|||
|
|
volumeMounts:
|
|||
|
|
- name: mysql-local-data #pv的name
|
|||
|
|
mountPath: /var/lib/mysql #MySQL容器的数据都是存在这个目录的,要对这个目录做数据持久化
|
|||
|
|
env:
|
|||
|
|
- name: MYSQL_ROOT_PASSWORD
|
|||
|
|
valueFrom: # Read environment variables from kubernetes secrets
|
|||
|
|
secretKeyRef:
|
|||
|
|
name: ruoyi-mysql-secret
|
|||
|
|
key: mysql-root-pass
|
|||
|
|
- name: MYSQL_USER
|
|||
|
|
valueFrom:
|
|||
|
|
secretKeyRef:
|
|||
|
|
name: ruoyi-mysql-secret
|
|||
|
|
key: mysql-user
|
|||
|
|
- name: MYSQL_PASSWORD
|
|||
|
|
valueFrom:
|
|||
|
|
secretKeyRef:
|
|||
|
|
name: ruoyi-mysql-secret
|
|||
|
|
key: mysql-password
|
|||
|
|
volumes:
|
|||
|
|
- name: mysql-local-data #pv的name
|
|||
|
|
hostPath:
|
|||
|
|
path: /run/desktop/mnt/host/c/k8sVolume/mysql/data
|
|||
|
|
type: Directory
|
|||
|
|
restartPolicy: Always #Deployment 中的 Pod 模板必须指定适当的标签和适当的重新启动策略。只有 .spec.template.spec.restartPolicy 等于 Always 才是被允许的,这也是在没有指定时的默认设置
|