Search code examples
dockerkubernetesgoogle-kubernetes-enginedocker-desktop

How do you migrate Docker Desktop Kubernetes clusters to Google Kubernetes Engine


I'm trying to migrate and host a Kubernetes cluster that I made locally on my machine using Docker Desktop to Google Kubernetes Engine but I'm not sure where to start or how to do it properly.

Any help is appreciated, thanks!


Solution

  • There's no migration in the sense of virtual machines. If you your deployments / services /etc defined in a CVS of some sort (github, gitlab etc), you could just change the target of kubectl and apply them in bulk using the -f switch to kubectl.

    I would recommend creating namespaces first, and then using kubens to swap between namespaces as you do the separate deployments.

    If you DON't have them already stored, you'll want to iterate through your namespaces and issue:

    k get <object> --export -o yaml

    This would be (not limited to)

    • deployments
    • secrets
    • configmaps
    • daemonsets
    • statefulsets
    • services

    Once you have everything, run through re-applying them on the remote cluster, and if you missed something, just export it and reapply it remotely.

    Does does NOT include your data layer. If you're running databases et all in Kubernetes, you'll need to use tools native to your data platform to export that data, and then re-import it on the other side.