# This manifest assumes 'wordpress' namespace is already present: # # kubectl create namespace wordpress # # Apply the manifest with: # # kubectl apply -f mariadb.yml --- apiVersion: v1 kind: Secret metadata: name: mariadb-pass namespace: wordpress labels: app: wordpress data: # This value is base64-encoded. Do not use this password in production! password: MjJzaXl3dVpBNFdmeHNZcg== --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mariadb-pv-claim namespace: wordpress labels: app: wordpress spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: wordpress-mariadb namespace: wordpress labels: app: wordpress spec: selector: matchLabels: app: wordpress tier: mariadb strategy: type: Recreate template: metadata: labels: app: wordpress tier: mariadb spec: containers: - image: tobi312/rpi-mariadb:10.3 name: mariadb env: - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: name: mariadb-pass key: password ports: - containerPort: 3306 name: mariadb volumeMounts: - name: mariadb-persistent-storage mountPath: /var/lib/mysql resources: limits: cpu: '1' memory: '512Mi' requests: cpu: '500m' memory: '256Mi' volumes: - name: mariadb-persistent-storage persistentVolumeClaim: claimName: mariadb-pv-claim --- apiVersion: v1 kind: Service metadata: name: wordpress-mariadb namespace: wordpress labels: app: wordpress spec: ports: - port: 3306 selector: app: wordpress tier: mariadb clusterIP: None