apiVersion: v1 kind: Secret metadata: name: mysql-pass type: Opaque data: password: U1sxRVZvZkI2XXddM345NDNsIzQwXSM0 username: Z3RucW9udW10cl93cDM= rootpassword: d1MtQnltXE9jcTxRQV1OTDt3IyFbJS0zbg== --- apiVersion: apps/v1 kind: Deployment metadata: name: mysql spec: selector: matchLabels: app: mysql strategy: type: Recreate template: metadata: labels: app: mysql spec: containers: - image: mariadb:10.6 name: mysql env: - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: name: mysql-pass key: rootpassword - name: MYSQL_USER valueFrom: secretKeyRef: name: mysql-pass key: username - name: MYSQL_PASSWORD valueFrom: secretKeyRef: name: mysql-pass key: password - name: MYSQL_DATABASE value: "gtnqonumtr_wp3" ports: - containerPort: 3306 name: mysql volumeMounts: - name: mysql-persistent-storage mountPath: /var/lib/mysql volumes: - name: mysql-persistent-storage persistentVolumeClaim: claimName: mysql-pv-claim --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mysql-pv-claim spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: wordpress spec: selector: matchLabels: app: wordpress strategy: type: Recreate template: metadata: labels: app: wordpress spec: containers: - image: wordpress:latest name: wordpress env: - name: WORDPRESS_DB_HOST value: mysql:3306 - name: WORDPRESS_DB_PASSWORD valueFrom: secretKeyRef: name: mysql-pass key: password ports: - containerPort: 80 name: wordpress volumeMounts: - name: wordpress-persistent-storage mountPath: /var/www/html volumes: - name: wordpress-persistent-storage persistentVolumeClaim: claimName: wordpress-pv-claim --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: wordpress-pv-claim spec: accessModes: - ReadWriteOnce resources: requests: storage: 4Gi --- apiVersion: v1 kind: Service metadata: name: wordpress spec: type: ClusterIP ports: - port: 80 selector: app: wordpress --- apiVersion: v1 kind: Service metadata: name: mysql spec: ports: - port: 3306 selector: app: mysql ---