Closed megian closed 2 years ago
On APPUiO Cloud we had RWX storage by default. New we do have PWO. Former deployments using RWX can't run anymore.
This sentence somehow doesn't make sense, can you please check it again? I guess you meant "APPUiO Public we had RWX storage"? We will have RWX on APPUiO Cloud again before the migration phase starts (see https://github.com/appuio/appuio-cloud-community/projects/1).
You are right. Fixed my sentence.
I'll close this issue as it will be handled in #39
Access the RWO volumes from different pods
On APPUiO Public we had RWX storage by default. At the moment we do have RWO with APPUiO Cloud. Former deployments using RWX volumes can't run anymore without being modified. (Remark: APPUiO Cloud will have RWX volumes again, see https://github.com/appuio/appuio-cloud-community/projects/1)
The rollout strategy must be changed from "RollingUpdate" to "Recreate", because mounting the volume at different nodes simultaneously isn't possible. At least not with common used filesystems as ext4 and xfs. https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
Add an affinity rule to run on the same node as the worker pod. This allows to access the same RWO/block volume, because the filesystem is mounted on the node level and allows a safe access to the same filesystem because it's the same kernel.
This might be used for jobs, but in the case of independent application parts this should be prevented.
Having a affinity rule for all the pods on in once, you might use the https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/ app.kubernetes.io/component label.
Copy files with Rsync
Created a "empty" pod just requires to run as a target:
Job based
Create a new job:
Check the job status:
Continuous sync
Big benefit is, that files are replicated immediately after they are created. If the destination pod dies, the sync pod also crashes, but automatically restarts.
Be aware that oc rsync has different options than rsync itself.
File integrity log
Calculate the checksum for all files per directory
Create a log with all the verifies of files