Kubernetes is an open source container orchestration and management tool managed by the vendor-neutral Cloud Native Computing Foundation. While tools such as Docker actually build and drive containers, tools like Kubernetes automate the deployment, scaling and management thereof.
Managed Kubernetes services from public cloud providers offer resilient and highly available Kubernetes control plane deployments. These services integrate with the native features of their respective cloud provider, as well as with on-premises Kubernetes deployments. However, these services don’t always integrate with other cloud providers’ offerings — at least not easily or well.
It’s best to use managed Kubernetes services — such as Amazon Kubernetes Service (EKS), Azure Kubernetes Service (AKS) and Google Kubernetes Engine (GKE) — when you commit to a single cloud provider and associate all your orchestration processes with deployments on that provider’s platform. The more exceptions to this rule your application presents, the less likely a single managed Kubernetes service will work for you.
Organizations that choose to work with multiple cloud providers should expect the integration of container orchestration tasks across a multi-cloud deployment to become difficult.
To determine if a managed Kubernetes service is right for your cloud deployment, follow these three steps.