As Kubernetes adoption grows, so does the need for IT pros with the skills and experience needed to run it in production.
“There’s a strong correlation between the popularity of Kubernetes and the demand for engineers who have in-depth knowledge of the system,” says Leo Shemesh, CTO at Jackpocket.
Signs suggest that demand for Kubernetes skills is pointing skyward. That creates a tricky proposition for IT executives and hiring managers. Don’t worry, we’re not here to moan and groan about another skills shortage. Actually, Shemesh notes that it’s relatively easy for IT pros to begin learning about Kubernetes, thanks to a wealth of articles and other resources available online, a vibrant open source community, and the commercial platforms and services that sit on top of the Kubernetes project. It’s also relatively simple to start running a single-node cluster on a local machine with Minikube, a good option for getting your hands messy.
[ Kubernetes terminology, demystified: Get our Kubernetes glossary cheat sheet for IT and business leaders. ]
The trickier part can be discerning between someone with deep production experience (of the sort that requires months if not years of hands-on work) and someone who has simply done a lot of reading and tinkering, especially given that Kubernetes v1.0 is less than four years old.
“In our own search for engineers with Kubernetes experience we found a ton of candidates who were coming from companies who were only beginning to dip their toes into the technology,” Shemesh says. “We found a lot of engineers with proof-of-concept type experience. A [candidate] who can articulate many of the core concepts of Kubernetes and who also has intimate experience with the technology is going to be far ahead of their peers.”
That’s not to dismiss the candidate with PoC or other early experience – they might be just what you need, especially given Kubernetes’ relative youth. But it underlines the importance of understanding what you need and using that to inform your recruiting and screening process, and especially to ask the right interview questions.
So what are the “right” questions?
“I think it really depends on which role the person is interviewing for,” says Matt Jones, senior director and head of data engineering and technology strategy at Fitch Solutions. If you’re hiring a Kubernetes Administrator, for example, Jones would be sure to ask about the candidate’s previous experience setting up clusters in a cloud environment, whereas if you’re looking for a cloud-native developer for a Kubernetes environment, your question mix might differ a bit.
The “right” interview questions are ultimately yours to decide, and they’re going to change over time. The important thing is to cover enough ground that you come away confident sense of a person’s current abilities and their likelihood to pick up new things quickly – the latter is a must with such a young, growing technology.
“An interviewer can assess an engineer’s knowledge by starting high-level and then working their way down into the nitty-gritty details,” Shemesh says. “Kubernetes is such a rapidly changing technology that staying up to date is a full-time job as it is. The key for an interviewer is getting a sense for an engineer’s ability to understand any of these concepts. Someone with real-world experience will be able to pick up new concepts with ease.”
We asked Shemesh, Jones, and OpsRamp senior director of cloud management Xin Wang – all of whom have Kubernetes hiring experience – to recommend a range of good interview questions and prompts.
If you’re on the hunt for Kubernetes skills, you can use these questions as a template of sorts for your own interviewing. They may also function as a framework for thinking about who you’re really looking for and why. Shemesh also notes that interviewers should have a strong understanding of Kubernetes to decipher responses, either that or plan to delegate or bring someone on the team who does.
And if you’re the job hunter, you can use these questions and insights for interview prep. Plus, we’ll share some bonus advice for IT pros interested in fast-tracking their Kubernetes knowledge when they’re starting at (or near) square one.
Kubernetes interview questions
Shemesh advises starting with the basics – which could even include the most basic of questions, particularly in a preliminary phone screen: What is Kubernetes? (Fumbling that one might be a sign of a faker.)
From there, dig into some more qualitative questions that get at the person’s big-picture understanding of container orchestration. Wang from OpsRamp offers examples:
• Explain the value and benefits of container orchestration.
“It's important to have an understanding of Kubernetes capabilities around self-healing, automated scheduling, rollouts, and rollbacks,” Wang says.
[Related reading: How to make the case for Kubernetes ]
• What is the difference between deploying an application on hosts versus containers?
“Be prepared to talk about the value of [containers and] Kubernetes in terms of speed, efficiency, and reliability,” Wang advises jobseekers.
For hiring managers, if you’re using Kubernetes to manage containerized microservices, you’ll want to dig into the candidates understanding of microservices architecture, too.
Key components and configurations of Kubernetes
• What are the different components of Kubernetes architecture?
“In order to run Kubernetes, it's critical to have a good understanding of how it's architected across multiple platforms or infrastructure environments,” Wang says. (Here’s the relevant official Kubernetes documentation on architecture.) “Be prepared to discuss what makes up the Kubernetes master and individual nodes.”
As a specific subset of the architectural question, you can ask (or expect to be asked):
• How are nodes related to the master node?
“This is a typical question of relationships in architecture,” Wang says. “These relationships are particularly critical as Kubernetes is the architecture of different services together. Be prepared to describe how to build a node using tools like Minikube.”
• When would you use Minikube?
“This runs a single Kubernetes cluster in a virtual machine, which simplifies deployment and allows for container orchestration across VMs,” Wang says. “It's an example of a question about using Kubernetes in real-world use cases, as many organizations use a combination of VMs, IaaS, and on-prem resources.”
• How do you load balance in Kubernetes?
“This use case question gets at the heart of one of Kubernetes' main advantages,” Wang says. “If you can't describe load balancing in Kubernetes, you're missing one of the critical value propositions.”
Related questions include:
- How do you automate in Kubernetes?
- How do you scale a Kubernetes cluster?
If you want to fatten your list of capability-related questions, Shemesh from Jackpocket offers this list:
- Can you explain the different uses for deployments, ReplicaSets, StatefulSets, pods, CronJobs?
- How does Kubernetes handle persistence?
- What are services and ingresses used for?
- When would you use something like a ConfigMap or a secret?
- What is a pod affinity used for?
- Can you give an example of when to use an Init Container?
- What is a sidecar container? Can you give a use case for why you would use one?
Production experience at scale
If you want to dig into the depth of someone’s experience, ask them a question that demands some scars from the production trenches. There are some key differences between running Kubernetes in a test or dev environment and doing so in production.
• Tell me about a major problem you encountered building and managing a production cluster.
“I’d like to see a candidate who has previously encountered a difficult problem,” Jones says. “One candidate had previously encountered an issue of overlapping IP addresses with the service and pod networks where everything was fine one day, but services and pods started failing intermittently until they understood the root cause.”