apiVersion: v1
kind: Pod
metadata:
  name: mysql-database
spec:
  containers:
  - name: mysql
    image: mysql:latest
    env:
    - name: MYSQL_ROOT_PASSWORD
      valueFrom:
        secretKeyRef:
          name: mysql-secret
          key: password
    ports:
    - containerPort: 3306
      name: mysql
    startupProbe:
      tcpSocket:
        port: mysql
      failureThreshold: 30
      periodSeconds: 1
      timeoutSeconds: 5
    livenessProbe:
      exec:
        command:
        - mysqladmin
        - ping
        - -u
        - root
        - -p${MYSQL_ROOT_PASSWORD}
      initialDelaySeconds: 30
      periodSeconds: 10
      timeoutSeconds: 5
    readinessProbe:
      exec:
        command:
        - mysql
        - -u
        - root
        - -p${MYSQL_ROOT_PASSWORD}
        - -e
        - "SELECT 1"
      initialDelaySeconds: 20
      periodSeconds: 5
      timeoutSeconds: 3
---
apiVersion: v1
kind: Secret
metadata:
  name: mysql-secret
type: Opaque
data:
  password: cGFzc3dvcmQ=  # "password" in base64
