MySQL databases lost upon attempt to use Persistent Volume Claim clone feature

12/23/2020

We are trying to create MySQL pod with databases ready by cloning PVC of already running MySQL pod. <br/>

Use case: we have a staging environment with database imported and want to create dynamic environments based off that database structure and data. This approach should save us significant bootstrapping time (download and import of dump vs clone of the PV). However once we have target MySQL pod running with cloned PVC attached, we can't see any databases available in it. MySQL starts normally, recognises /var/lib/mysql/mysql directory and skips new db setup, however databases are not there. Details:

  • MySQL image: mysql:5.7
  • we use InnoDb
  • we scale-in source StatefulSet before taking clone (expecting source MySQL saves everything to disk)
  • PVC is mounted as:
    volumeMounts:
      - name: mysql-data
        mountPath: /var/lib/mysql
    What are we missing?
-- Anton Andrushchenko
kubernetes
kubernetes-pvc
mysql
persistence

1 Answer

12/24/2020

Apparently the issue was related to the AWS EBS CSI. Volume Cloning does not seem to work, however VolumeSnapshot feature might solve the issue.

-- Anton Andrushchenko
Source: StackOverflow