On 2021-10-20 21:05, Kevin Fenzi wrote:
So, we now have openshift 4 clusters for both prod and stg and I think
(although correct me if I am wrong) they are all checked out and ready
to handle apps. :)
That's good news :)
To move an app over:
* stop all the apps pods in openshift3 cluster
* Define any NFS storage that the app has in the ocp4 cluster.
* change the playbook to use 'os-control01' and 'os-control01.stg' for
copying the templates for the app to /etc/openshift_apps/ and running
create to create the apps namespace, objects, etc.
* change the proxies reverseproxy to use the ocp4 backend instead of
* add some metrics?
Some observations I have:
- There are some minor changes needed on apps manifests for ocp4:
- The internal registry service has changed
(image-registry.openshift-image-registry.svc instead of
- Since 4.9 (k8s1.22), most of the v1beta1 endpoints are either
removed or deprecated (that include cronjob, role and rolebinding for
instance). In most cases, it just need to be changed from v1beta1 to v1.
- For NFS storage, the UID used by the application will changes during
the migration (new namespace = new uid), so a manual chown with the new
uid will be required to fix permissions.
We need to determine how we want to migrate things however. Do we
flag day where we schedule a big outage and try and move everything?
Do we want a flag day for stg, but schedule outages for prod?
Or do we want to schedule outages for prod, but do all the stg ones as
our time permits?
I think it would be safer and/or easier to migrate apps one by one, or
small batches, unless we have some time constraint for this. It will be
far less stressful for our admins (and far less fire to manage if/when
thing go sideways).
Are there any folks in sysadmin-openshift wanting to drive this?
(Although we could likely use help from anyone to test apps as they
move, help with announcements, etc).
I would be happy to help in whatever way I can.
I've a few apps I can already work on to prepare for this migration:
docstranslation: that is basically just a cronjob, should be easy.
docsbuilding: cronjob with NFS PV (mounted on sundries)
languages: pretty much everything: cronjob, deploymentconfig, NFS
storage, route... This apps is not critical, can handle data loss, and I
think is a good candidate for testing this migration.
websites :) cronjob + NFS PV on sundries