--- # tasks file for mariadb - name: Create persistent volume for mariadb k8s: state: present definition: apiVersion: v1 kind: PersistentVolume metadata: name: "eom-{{ target_namespace }}-mariadb" spec: capacity: storage: 32Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain storageClassName: standard hostPath: path: "/data/store-0/eom-{{ target_namespace }}/mariadb" nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - alpha-worker-0 - name: Create a persistent volume claim for mariadb k8s: state: present definition: apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mariadb namespace: "eom-{{ target_namespace }}" spec: accessModes: - ReadWriteMany resources: requests: storage: 32Gi storageClassName: standard volumeName: "eom-{{ target_namespace }}-mariadb" - name: Create a deployment k8s: definition: apiVersion: v1 kind: Deployment metadata: name: mariadb namespace: "eom-{{ target_namespace }}" spec: replicas: 1 selector: matchLabels: app: mariadb template: metadata: labels: app: mariadb spec: containers: - name: mariadb image: mariadb volumeMounts: - name: data mountPath: /var/lib/mysql ports: - containerPort: 3306 env: key: MARIADB_ROOT_PASSWORD value: "{{ mariadb_root_password }}" volumes: - name: data persistentVolumeClaim: claimName: mariadb - name: Expose deployment as a service k8s: definition: apiVersion: v1 kind: Service metadata: name: mariadb namespace: "eom-{{ target_namespace }}" spec: selector: app: mariadb ports: - port: 3306 name: mariadb-3306 type: ClusterIP