Skip to content

k8s: prod-1: intranet: ldap: switch to RBD, gitolite: switch to CephFS

Marc Schmitt requested to merge ldap-rbd-git-cephfs into main

Before doing anything, scale down ArgoCD so it doesn't recreate stuff behind our back:

  • k --context under -n argocd scale deploy --replicas=0
  • k --content under -n argocd scale sts --replicas=0

LDAP migration procedure:

  • Scale down ldap server k --context prod-1 -n intranet scale sts ldap --replicas=0
  • Export the current LDAP data:
    • rbd export volumes/volume-d7347890-df54-406c-a06a-93cea4b030cc - > ldap-config
    • rbd export volumes/volume-90c26ffd-61eb-49fc-bf8c-ec557b9acd7d - > ldap-data
    • scp those two in a secondary location in case of an error
  • Delete the current ldap PVC k --content prod-1 -n intranet delete pvc ldap-data ldap-config
  • Recreate the PVC from the files in this MR
  • Get the ID of the newly created PV, hereafter refered as <ldap-data-pv-id> and <ldap-config-pv-id>
  • Reimport LDAP data
    • rbd import - prod-1.k8s.cri.epita.fr/<ldap-config-pv-id> < ldap-config
    • rbd import - prod-1.k8s.cri.epita.fr/<ldap-data-pv-id> < ldap-data
  • Scale LDAP back up k --context prod-1 -n intranet scale sts ldap --replicas=1

Git migration procedure:

  • Scale down gitolite server k --context prod-1 -n gitolite scale deploy gitolite --replicas=0
  • Export the volume, just in case. rbd export volumes/volume-65da1b47-f3a5-4085-acd6-7206a92c240a - | rbd import - prod-1.k8s.cri.epita.fr/gitolite-export
  • Delete the PVC. As the StorageClass has its ReclaimPolicy to Retain, we won't actually lose the data. k --context prod-1 -n gitolite delete pvc gitolite-data.
  • Mount the existing volume rbd map volumes/volume-65da1b47-f3a5-4085-acd6-7206a92c240a && mount /dev/rbdX /mnt-tmp
  • Recreate the PVC from the files in this MR
  • Copy the data rsync -avP /mnt-tmp/.gitolite* /mnt-tmp/* /mnt/volumes/prod-1.k8s.cri.epita.fr/<gitolite-data-pv-id>/<some-uuid>/
  • Scale gitolite back up k --context prod-1 -n gitolite scale deploy gitolite --replicas=3
  • Check that everything is working fine.
  • If so, rbd rm prod-1.k8s.cri.epita.fr/gitolite-export and openstack volume delete 65da1b47-f3a5-4085-acd6-7206a92c240a

After the migrations:

  • merge this MR
  • scale ArgoCD back up (only once the MR is merged)
Edited by Marin Hannache

Merge request reports