Q:

is it easy to switch between different kubernetes hosting providers?

I understand that Kubernetes make great language-agnostic distributed computing clusters, easy to deploy,  etc.
However, it seems that each platform has his own set of tools to deploy and manage Kubernetes.
So for example, If I use Amazon Elastic Container Service for Kubernetes (Amazon EKS), Google Kubernetes engine or Oracle Container Engine for Kubernetes,   how easy (or hard) is to switch between them ?

A:

"It depends". The core APIs of Kubernetes like pods and services work pretty much the same everywhere, or at least if you are getting into provider specific behavior you would know it since the provider name would be in the annotation. But each vendor does have their own extensions. For example, GKE offers integration with GCP IAM permissions as an alternative to Kuberenetes' internal RBAC system. If you use that, then switching is that much harder. The more provider-specific annotations and extensions you use, the more work it will be to switch.

