Kubernetes helps orchestrate and automate tasks associated with containers - an essential need as you scale. Here's a deep dive for IT leaders on what Kubernetes can do, key terms, best practices, trends for 2020, and more.
Kubernetes: 3 ways to get started
How can you get started with Kubernetes? Maybe you’re ready to try an experiment – or move from sandbox to production? Use these three stepping stones for individuals and teams
Why has Kubernetes developed a reputation as a powerful tool? As Red Hat technology evangelist Gordon Haff has noted, “Kubernetes continues to gain steam in enterprises, and for good reason: It tames the complexity that arises as you begin to use containers at scale. It automates and orchestrates Linux container operations, eliminating many manual tasks involved in deploying and scaling containerized applications.”
It’s also known for its learning curve: You can get a cluster up and running in a sandbox with relative ease, but running Kubernetes in production isn’t actually child’s play.
That means that getting started with Kubernetes can feel daunting for individuals and teams new to it. This shouldn’t be crippling, though. Everyone starts somewhere.
[ Want a primer for yourself and others? Read also: How to explain Kubernetes in plain English and How to explain Kubernetes Operators in plain English. ]
You can take advantage of some visible stepping stones to get onto firmer ground with Kubernetes. We’re here to cover three of them for IT pros and organizations that are ready to get started with Kubernetes but feeling uncertain about where to begin.
1. Get educated about Kubernetes
There’s a lot to learn about Kubernetes, but there are plenty of readily available ways to learn it, from articles to books to courses and more.
This array of options in itself can be a bit intimidating. We previously covered a dozen ways to boost your Kubernetes IQ in “12 ways to get smarter about Kubernetes,” curating a list to keep things manageable.
Kubernetes has its own vocabulary, which you’ll need to develop proficiency with over time. The glossary in the official documentation can help you get up to speed on the lingo. If you want a quick-scan primer, check out our cheatsheet of Kubernetes terms. Learning key terms is a basis for learning the concepts (such as pods) those terms represent.
[ Kubernetes terminology, demystified: Get our Kubernetes glossary cheat sheet for IT and business leaders. ]
Bottom line: Be ready to invest some time and energy in a Kubernetes education, even if that education is largely self-directed.
2. Get your hands dirty: Try Minikube and tutorials
At a certain point, you also need to learn by doing. Some of those learning opportunities (such as Kubernetes by Example) offer hands-on tutorials. If you’re someone who likes to be set loose and learn in a less structured manner, there’s a great option: Minikube.
“To get hands-on with Kubernetes or to run a trial of it, the easiest way to get started is to use Minikube on one of the Linux OS flavors,” says Raghu Kishore Vempati, principal systems engineer for innovation at Altran. “Minikube allows teams to experiment quickly and easily. The setup is simple.”
We’ve previously covered some of the productive ways you can use Minikube, including as a starting point for work with Kubernetes: Read “Minikube: 5 ways IT teams can use it.”
[ Are you using DevOps? Get a cheat sheet on how to use Minikube: Kubernetes and Minikube for DevOps. ]
Ram Middela, practice lead at NetEnrich, notes that Minikube gives you a chance to test-drive many of Kubernetes features in a single VM on a local machine.
“You can explore most of the actual Kubernetes features from a developer perspective and learn about its features so that you can write your application deployment files and then run them on Minikube,” Middela says.
Among other benefits of the local-box approach: If you learn well by breaking stuff, you can do so to your heart’s content without, you know, actually breaking stuff. But as Middela points out, Minikube may be most beneficial to developers.
Vempati agrees, adding, “This is particularly more useful for developers since Minikube is usually a ‘one-box’ or ‘one-node’ deployment of its components.”
Operations-focused IT pros can certainly use Minikube, too, but Vempati notes their usual areas of focus may require a slightly different sandbox.
“Ops teams are interested in understanding the nuts and bolts of setting up a Kubernetes cluster from scratch, including managing node distribution, using a choice of pod network add-on, choice of container runtime, etc.,” he says.
[ Related read: What’s a Linux container? ]
Vempati offers a related path for Ops pros: “A simple 3-to-4 node Kubernetes cluster can be created on a single physical box with sufficient CPU and memory. The nodes can be VMs created using common virtualization tools and they can be provisioned with one of the Linux OSes,” he explains. “Teams can then test features such as HA, pod distribution, resource allocation, RBAC (role-based access control), state management, etc.”
Vempati recommends the “Bootstrapping clusters with kubeadm” section of the official Kubernetes documentation for more info on this approach. Just like with Minikube, you can run this on a single physical machine (again, provided it has adequate resources.) Both approaches are great ways for individuals and teams to get their hands dirty for little to no cost; Vempati notes that there are other opportunities for hands-on testing, such as in a managed cloud service, but these may come with a financial cost.
There’s one more big category you need to tackle next: Identifying an app’s fit - or lack of fit - for Kubernetes. Let’s delve into that: