So your organization’s decided to adopt Kubernetes? Congratulations! You’ll be able to leverage all sorts of features to add value in development, deployment, testing, resilience, and observability of your systems. All you need to do is get your Kubernetes cluster up and running, right?
Oh. You haven’t decided where to set up Kubernetes yet? Maybe just a quick Google search, and . . . Are you feeling overwhelmed yet?
It seems like everyone has a new Kubernetes product they claim will simplify your life, solve all your problems, and do the dishes while it’s at it.
Which Kubernetes distribution is best for you? Let’s take a quick look at some of the big names you may have come across and try to demystify things a little.
The Kubernetes cloud management option
The three major cloud providers each have their own hosted and managed Kubernetes solution.
Amazon has Elastic Kubernetes Service, Azure has Azure Kubernetes Service, and Google has Google Kubernetes Engine. (If you need to brush up on the basics, you can currently check out our EKS Basics and GKE Basics courses for free as part of our monthly line-up of free courses. Just sign up for a free-tier account.)
Here’s more on how AWS, Azure, and GCP’s managed Kubernetes services compare.
The fine print varies from cloud to cloud, but these options can be a great choice if your team is just starting out with Kubernetes and may not have the experience to manage all the complexity of Kubernetes infrastructure. Just be aware: these services can get pricey if you’re not careful.
Considering Kubernetes certifications? Here’s how to pick which Kubernetes certification path is right for you.
The Kubernetes enterprise option
There are other Kubernetes distributions and container management platforms — like Redhat’s Openshift, Docker Swarm, and Cloud Foundry’s KubeCF — that have found traction in larger enterprises. These services have robust enterprise support, come from widely trusted companies, and feature licensing options that can be attractive to large enterprises.
These solutions can be very effective, especially if your organization already has some of a provider’s tools in use. It’s often straightforward to connect your cluster to the existing service. However, they can wander far afield from traditional Kubernetes, which can pose knowledge and training challenges.
The Kubernetes open source management option
As we move into less and less managed Kubernetes options, we find ourselves at the managed, open-source tier. Distributions like RKE and tools like Kops allow you to run Kubernetes on infrastructure you manage, but they aim to make the process a little easier.
These solutions are ideal if you don’t want to use a managed or hosted solution — usually, this would be for either security or cost reasons. These tools allow you to manage the security profile of your Kubernetes, rather than trusting a cloud provider or vendor. And since they are both open-source, you can save on licensing. These can also be good solutions for Kubernetes when you aren’t in a cloud environment yet.
Just be mindful: when you’re responsible for the infrastructure, you’re responsible for the infrastructure. Keep an eye on those patches and updates.
Watch: Kubernetes + Azure, the HashiCorp way
In this free, on-demand webinar, HashiCorp Developer Advocate Taylor Dolezal shows the potential of using Terraform, Vault, and Waypoint to supercharge your Kubernetes cluster!
The DIY option
You can also opt to do Kubernetes the hard way. This is for the rugged survivalist who doesn’t depend on anyone for anything!
While bootstrapping and managing a Kubernetes cluster by hand, without any scripts, can be a great way to learn how Kubernetes works, manually doing this sort of toil that could be scripted is pretty antithetical to the DevOps ethos. So this is great — for a learning challenge. But if you’re planning to support production-grade Kubernetes by hand, know this: there are far better uses for your talents.
The outlying options
Finally, there are a couple little outliers: K3s and Minikube. And when I say little, I mean little.
- K3s is designed to run production-grade Kubernetes in a resource-constrained environment. With K3s, you can run Kubernetes on a Raspberry Pi. (Want to know a bit more? Here are 5 reasons to use K3s.)
- Minikube, on the other hand, is designed to run Kubernetes locally, so it’s great for learning and developing for Kubernetes.
These might not be great for running your enterprise clusters, but they both support niche use cases really well.
Clusters, clusters everywhere
Hopefully now you feel better equipped for the first step in your journey into Kubernetes — getting it set up.
While we touched on some of the popular options, but this list is by no means exhaustive. It’s also possible, depending on your organization, that you won’t land on a single Kubernetes distribution. You may find you’re managing several Kubernetes setups for different use cases — a cluster of clusters, if you will.
Fortunately, there’s a tool for that too. Rancher is an open-source tool to help manage multiple Kubernetes clusters — the security challenges, the operational headaches, and the deployment complexity. To learn more about how Rancher can help your organization go multi-cluster, check out ACG’s Introduction to Rancher.
Master the most in-demand skills
A Cloud Guru makes it easy (and awesome) to level up your cloud career — whether you’re new to cloud or a seasoned pro. Check out ACG’s free courses or get started now with a free trial.