While Docker’s open source technology is still a very important part of the container ecosystem, these days Kubernetes is getting a lot more attention due to its use in automatizing the management of containerized applications. We are listing the most frequently asked interview questions in Kubernetes to keep you ahead of the curve during interviews.
What is Kubernetes?
Kubernetes open-source platform to manage containerized workloads and services, facilitating both declarative configuration and automation. It is a portable, extensible, and rapidly growing ecosystem in services, support, and development tools.
List a few benefits of Kubernetes?
With container orchestration tool Kubernetes, it becomes extremely easy to handle the containers.
You can respond to customer demands by deploying the applications faster and in a more predictable manner.
Here we will list some of the benefits of Kubernetes:
- Auto scheduling
- Auto rollback
- Horizontal scaling
- Auto healing
What is the difference between Kubernetes and Docker Swarm?
Docker Swarm is the default and a simple container orchestration tool available with Docker.
Kubernetes is a more complex so orchestration tool for containers and supports high-demand production environment.
What is orchestration?
Application orchestration means integrating two or more applications. The process allows us to automate arrangement,
coordination and management of development life cycle and streamline and optimize frequent repeatable processes.
What is a namespace in Kubernetes?
The Kubernetes namespace is used to differentiate multiple users spread across geographies and working on multiple projects. It
divides the cluster resources properly between all users.
What is a Pod?
Kubernetes Pod is a group of containers that are run on the same host. So if you regularly deploy single
containers then your container and Pod will be one and the same.
What is a node?
A node is a worker machine and is known as a minion. It can be a physical or virtual machine. For each of the node, there is a service to run pods and it is managed by master components. The node services could include kubelet, kube-proxy and so on.
What is Heapster?
The Heapster lets you do the container cluster monitoring. It lets you do cluster-wide monitoring and event data aggregation. It has native support for Kubernetes.
What is a container cluster?
A container cluster lets you place and manages the containers in a dynamic setup. It can be considered as a
set of nodes or Compute Engine instances. The API server of the Kubernetes does not run on cluster nodes but instead, the Container Engine hosts the API server.
What is Kubelet?
Kubelet is the smallest component in Kubernetes and is responsible for making machines run. The sole purpose of a
Kubelet is given a set of containers, it has to ensure that they are all running.
What is Minikube?
The Minikube faclitates easy for the local running of Kubernetes. These run a single-node Kubernetes cluster within Virtual Machines.
Kubectl is a Kubernetes command line tool that used to deploy and manage applications on Kubernetes.
It is especially useful while inspecting the cluster resources and whiler creating, updating and deleting the components.
What is GKE?
The GKE (Google Kubernetes Engine) is used to manage and orchestrate systems for Docker containers.
It also allows us to orchestrate container clusters within the Google Public Cloud.
What is Kube proxy?
The Kube proxy does simple tasks like TCP, UDP Forwarding etc. and runs on each of the node.
It also shows the services in the Kubernetes API on each node.
What are the Kubernetes Master components?
Kubernetes Master includes the following components and are responsible for running and managing the Kubernetes cluster.
- API server
- Controller manager
What is kube-controller-manager?
Kubernetes controller manager embeds the core control loops which regulates system state and is a non-terminating loop.
What is load-balancing?
Load-balancing is a service used to expose the services. There are two types of load-balancing in Kubernetes.
Internal load balancing: Used for auto load balancing and allocating the pods with the required configuration.
External load balancing: Directs traffic from external loads to the backend pods.
What are the functions of Kube-scheduler?
The Kube-scheduler is used to assign nodes to the newly created pods.
Where do we store the Kubernetes cluster data?
The primary storage for Kubernetes is etcd and is responsible for all Kubernetes cluster data storage.
What is the process to set static IP for Kubernetes load balancer?
Usually Kubernetes Master assigns a new IP address but we can set a static IP for Kubernetes load balancer by
making changes in the DNS records.