Files
k3s-configs/php-test/k8s/mysql-deployment.yaml
2026-01-21 13:37:13 +00:00

97 lines
1.9 KiB
YAML

apiVersion: v1
kind: Namespace
metadata:
name: php-test
---
apiVersion: v1
kind: Secret
metadata:
name: mysql-secret
namespace: php-test
type: Opaque
stringData:
MYSQL_ROOT_PASSWORD: "rootpassword"
MYSQL_DATABASE: "test_db"
MYSQL_USER: "phpuser"
MYSQL_PASSWORD: "phppassword"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pvc
namespace: php-test
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql
namespace: php-test
spec:
replicas: 1
selector:
matchLabels:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: mysql:8.0
ports:
- containerPort: 3306
name: mysql
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-secret
key: MYSQL_ROOT_PASSWORD
- name: MYSQL_DATABASE
valueFrom:
secretKeyRef:
name: mysql-secret
key: MYSQL_DATABASE
- name: MYSQL_USER
valueFrom:
secretKeyRef:
name: mysql-secret
key: MYSQL_USER
- name: MYSQL_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-secret
key: MYSQL_PASSWORD
volumeMounts:
- name: mysql-storage
mountPath: /var/lib/mysql
- name: init-sql
mountPath: /docker-entrypoint-initdb.d
volumes:
- name: mysql-storage
persistentVolumeClaim:
claimName: mysql-pvc
- name: init-sql
configMap:
name: mysql-init-sql
---
apiVersion: v1
kind: Service
metadata:
name: mysql
namespace: php-test
spec:
selector:
app: mysql
ports:
- port: 3306
targetPort: 3306
clusterIP: None