K8s-based Migration #146
Replies: 3 comments 4 replies
-
I am guessing quite a few--more than 16 times in non-local, e2e environments. This is mainly because it will probably take a lot attempts in different environments to get it right and ultimately we can't really risk doing this without have tried it many times. |
Beta Was this translation helpful? Give feedback.
-
Maybe we don't have K8s for
|
Beta Was this translation helpful? Give feedback.
-
Would be good to have your comments here. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
mtma
is written s.t. it should be possible to simply place a container (as enabled under #143)--with the appropriate access to disk, services, and similar resources--and migrate withmtma checked-migration migrate select --all-required
.Below I propose a progressive model to begin the discussion of how this K8s-based migration could be structured.
Tip
Here are some good articles on various similar projects:
These are job-based. However, because of
tracking
features, traffic switching, and manual supervision, it may make more sense for us to place a pod with a continuously operatingmtma checked-migration migrate select --all-required
process, then replace this once the migration has been validated, i.e., withhelm upgrade
.Note
This does not include considerations for traffic mirroring and
tracking
. It is assumed traffic mirroring is handled at the K8s control plane and above, whiletracking
would be handled withinmtma
.Simple Volume-only
mtma
PodAt the time of writing, it seems it may be feasible to complete the migration by simply sharing access to the persistent volume, via
ReadWriteMany
amongstmovement
,mtma
, andmovement-aptos
pods. That is, there many not be a need for additional migration-specific services to be shared amongst these pods--only the volume and the public APIs.This model would looks as follows:
Volume and Migration Control Plane
In the event we determine bespoke services are need to manage the migration, the model becomes slightly more complex, but still manageable through a fairly simple model of pod placement:
Important
The Migration Control Plane here does not refer to the K8s control plane under which the
mtma
pod is allocated. Instead it would simply refer to the bespoke services, service discovery, and special pods which may allow a migration to run gracefully.Migrating the Current
movement
Network to K8sIn order for any of these K8s-based migrations to be possible, we would need to ensure the existing network and its volume are migrated to resources usable within K8s (EKS). As such, a plan for the migration of the existing EC2 volume is needed; it may look something like the below:
K8s End-to-end
In total, the e2e of the migration in K8s may take a form similar to the following:
Discussion Points
checked-migration
outcomes?Beta Was this translation helpful? Give feedback.
All reactions