Job interviews are arduous for folks on each side of the desk, however I’ve found that interviewing candidates for Kubernetes-related jobs has appeared particularly arduous currently. Why, you ask? For one factor, it is arduous to seek out somebody who can reply a few of my questions. Also, it has been arduous to substantiate whether or not they have the best expertise, no matter their solutions to my questions.
I will skip over my musings on that subject and get to some questions that you need to ask of any job candidate who could be working with Kubernetes.
What is Kubernetes?
I’ve all the time discovered this query to be among the finest ones to ask in interviews. I all the time hear, “I work with Kubernetes,” however after I ask, “what is it?” I by no means get a assured reply.
My favourite reply is from Chris Short: “Just an API with some YAML files.”
While he isn’t unsuitable, I will provide you with a extra detailed model. Kubernetes is a transportable container orchestration software that’s used to automate the duties of managing, monitoring, scaling, and deploying containerized purposes.
I’ve discovered that “an orchestration tool for deploying containerized applications” might be nearly as good as you are going to get as a solution, which in my view is sweet sufficient. While many imagine Kubernetes provides a terrific deal extra, total, it presents many APIs so as to add to this core characteristic: container orchestration.
In my opinion, this is among the greatest questions you possibly can ask in an interview, because it at the least proves whether or not the candidate is aware of what Kubernetes is.
What is the distinction between a Kubernetes node and a pod?
This query reveals a terrific first take a look at the complexity of Kubernetes. It shifts the dialog to an architectural overview and may result in many attention-grabbing follow-up particulars. It has additionally been defined incorrectly to me an innumerable quantity of instances.
A node is the employee machine. This machine generally is a digital machine (VM) or a bodily machine, relying on whether or not you’re operating on a hypervisor or on naked metallic. The node comprises companies to run containers, together with the kubelet, kube-proxy, and container runtime.
A pod contains (1) one or extra containers (2) with shared community (three) and storage (four) and the specification on the way to run the containers deployed collectively. All 4 of those particulars are vital. For bonus factors, an applicant might point out that, technically, a pod is the smallest deployable unit Kubernetes can create and handle—not a container.
The greatest brief reply I’ve acquired for this query is: “The node is the worker, and the pod is the thing the containers are in.” The distinction issues. Most of a Kubernetes administrator’s job will depend on realizing when to deploy what, and nodes will be very, very costly, relying on the place they’re run. I would not need somebody deploying nodes time and again when what they wanted to do was deploy a bunch of pods.
What is kubectl? (And how do you pronounce it?)
This query is considered one of my increased precedence questions, however it might not be related for you and your workforce. In my group, we do not use a graphical interface to handle our Kubernetes environments, which implies command-line actions are all we do.
So what’s kubectl? It is the command-line interface to Kubernetes. You can get and set something from there, from gathering logs and occasions to modifying deployments and secrets and techniques. It’s all the time useful to pop in a random query about the way to use this software to check the interviewee’s familiarity with kubectl.
How do you pronounce it? Well, that is as much as you (there is a large disagreement on the matter), however I’ll gladly level you to this nice video presentation by my buddy Waldo.
What is a namespace?
I have not acquired a solution to this query on a number of interviews. I’m not positive that namespaces are used as typically in different environments as they’re within the group I work in. I will give a brief reply right here: a namespace is a digital cluster in a pod. This abstraction is what allows you to maintain a number of digital clusters in numerous environments for isolation functions.
What is a container?
It all the time helps to know what’s being deployed in your pod, as a result of what’s a deployment with out realizing what you are deploying in it? A container is a typical unit of software program that packages up code and all its dependencies. Two elective secondary solutions I’ve acquired and am OK with embrace: a) a slimmed-down picture of an OS and b) an utility operating in a restricted OS surroundings. Bonus factors in case you can title orchestration software program that makes use of containers aside from Docker, like your favourite public cloud’s container service.
If you are questioning why I did not add extra to this listing of questions, I’ve a simple reply for you: these are the minimal set of issues you ought to know if you find yourself asking candidates interview questions. The subsequent set of questions ought to come from a giant listing of questions based mostly in your particular workforce, surroundings, and group. As you assume by these, attempt to discover attention-grabbing questions on how know-how interacts with one another to see how folks assume by infrastructure challenges. Think about latest challenges your workforce had (outages), ask to stroll by deployments step-by-step, or about methods to enhance one thing your workforce actively desires to enhance (like a discount to deployment time). The much less summary the questions, the extra your asking about expertise that can truly matter after the interview.
[Read extra: How to prepare for a Kubernetes job interview]
No two environments would be the identical, and this additionally applies if you find yourself interviewing folks. I combine up questions in each interview. I even have a small surroundings I can use to check interviewees. I all the time discover that answering the questions is the best half, and doing the work is the true check it’s essential give.
My final bit of recommendation for anybody giving interviews: If you meet somebody who has potential however not one of the expertise, give them an opportunity to show themselves. I would not have the data and expertise I’ve in the present day if somebody hadn’t seen the potential of what I might do and given me a possibility.
What are different vital inquiries to ask interviewees about Kubernetes? Please add your listing within the feedback.