Kubernetes has been the hotspot in today’s market. The term is used in on-premise software development and DevOps to refer to a bundle of solutions that facilitates operations engineers to effortlessly service and scale server setups. Kubernetes is a distributed open-source technology that helps to schedule and execute containerized applications in various types of virtual, physical, and cloud environments.
This Kubernetes interview questions and answers article will help you prepare for any certification exam or an interview. The list of questions and answers on Kubernetes below covers the basic concepts. So get well prepared with these questions for Kubernetes to get the dream job.
What is Kubernetes?
Kubernetes is an extensible, portable, open-source platform to manage containerized services and workloads. It facilitates both automation and declarative configuration. Google originally designed it, and now Cloud Native Computing Foundation maintains it. As a result, Kubernetes services, tools, and support are widely available and have a rapidly growing, large ecosystem.
What are K8s?
Kubernetes are also known as K8s. This abbreviation is derived by replacing the eight letters of "Kubernetes" with the digit 8. The reason behind it being called K8s is simple communication. K8s is a simple yet effective short form for the word Kubernetes.
What is orchestration when it comes to DevOps and software?
Orchestration is the integration of multiple services that lets them synchronize information and automate processes promptly. For example, you have several microservices for an application to run. However, it will create communication hurdles if you place them in separate containers. Orchestration would help in such scenarios by allowing all services to work seamlessly in individual containers to accomplish a single goal.
Define nodes in Kubernetes?
A node is a worker machine in Kubernetes and can be either a physical or virtual machine based on the cluster. Kubernetes runs workload by placing containers into pods to execute on Nodes. The Control plane manages each node and contains the services required to run Pods.
What does Kubernetes do?
It is an orchestration tool used for containerized applications. Kubernetes is responsible for: Managing the scaling of clusters and containers Deploying containers and images Resource balancing the clusters and container Traffic management for services.
What are the features of Kubernetes?
These include: Automated scheduling Automated rollouts and rollbacks Load balancing and horizontal scaling Application-centric management Auto-scalable infrastructure Storage orchestration Batch execution Secret and configuration management Self-healing capabilities Designed for extensibility IPv4/IPv6 dual-stack Automatic bin packing
What is the difference between Kubernetes and Docker?
The difference between Kubernetes and Docker is that Kubernetes runs across a cluster while Docker runs on a single node. However, it is a common comparison of Kubernetes and Docker, but a more appropriate comparison in Kubernetes and Docker Swarm. It is Docker's orchestration technology that focuses on the clustering of Docker containers. Kubernetes are more extensive than Docker Swarm and coordinate node clusters efficiently at scale in production.
What is a Kubernetes cluster?
A Kubernetes cluster is a set of nodes for running containerized applications. Running Kubernetes means running a cluster. These are more flexible and lightweight than virtual machines. As a result, Kubernetes clusters let you develop, move and manage applications more easily. In addition, they allow containers to run across multiple environments, such as physical, virtual, on-premises, and cloud-based.
What is a Pod in Kubernetes?
Pods are the smallest, most basic deployable units in Kubernetes. It is a group of one or more containers with shared network resources and storage. A Pod contains one or more containers, like Docker containers. The containers are managed as a single entity when a pod runs multiple containers and shares the pod's resources. You can consider pods to be self-contained, isolated logical hosts containing the systemic requirements of the applications it serves.
What is the Google Container Engine?
Google Container Engine is an orchestration and management system for docker container and container clusters running within Google public cloud services. It is based on Kubernetes and provides a managed environment to deploy, manage and scale containerized applications through Google infrastructure.
What is minikube?
Minikube is a tool that allows you to run Kubernetes locally. It runs a single-node Kubernetes cluster on your system, including Linux, Windows, and macOS. In this way, you can try out Kubernetes. All you need is a virtual machine environment or a Docker container. Then, Kubernetes is a single command away: minikube start.
What is kubectl?
kubectl lets you execute commands against Kubernetes clusters. It is a command-line tool that you can use to deploy applications, view logs, inspect and manage cluster resources. In addition, it is a platform through which you can pass commands to clusters.
What is Kubelet?
Kubelet acts as a bridge between Kubernetes masters and nodes. It manages containers and pods running on a machine and translates all podes into their constituent containers. Kubelet then fetches each container usage statistics from cAdvisor and exposes aggregated pod resource usage statistics using a REST API.
What is Heapster?
It is a cluster-wide aggregator to monitor and event data. Heapster runs as a pod in the cluster, just like any Kubernetes application run. The Heapster pod finds all nodes in the cluster and asks usage information from the Kubelets of nodes, using on-machine Kubernetes agents.
What is container monitoring?
Container monitoring is collecting metrics and continuously tracking the health of the microservices environment and containerized applications to improve performance. Having insights into traces, metrics and logs greatly benefit the operators of containerized platforms.
What is DaemonSet in Kubernetes?
A DaemonSet ensures that all nodes run a Pod copy. Pods are added to the cluster as nodes are added to them, and those pods are garbage as nodes are removed from the cluster. So when you delete a DaemonSet, it will clean up the pods it created.
What are the uses of a DaemonSet?
Some common uses of a DaemonSet are: running logs collection daemon on each node running a cluster storage daemon on each node running a node monitoring daemon on each node
What is Kubernetes controller manager?
The Kubernetes controller manager is a daemon that implants the core control loops carried with Kubernetes. In Kubernetes, the control loop watches the cluster's shared state using the API server and makes changes that attempt to move the current state towards the desired state.
What are the types of controller managers?
The controllers that ship with the Kubernetes are_ endpoints controller, replication controller, service accounts controller, node controller, token controller, and namespace controller.
What are different services within Kubernetes?
These services include: External name creation service Load balancer service Node port service Cluster IP service
What is load balancing in Kubernetes?
It is a way to distribute incoming traffic into several backend servers, which is helpful to ensure that the application is available to users.
What are the types of load balancing in Kubernetes?
There are two types of load balancing in Kubernetes, and these are: Internal load balancer_automatically balances the load and allocates pods with the required incoming load. External load balancer_directs the traffic from external loads to backend pods.
What is Cluster IP?
A clusterIP is the virtual IP representing your clustered service. Generally, it is the IP address assigned to your clustered service on the load balancer. It is a default Kubernetes service that provides services inside a cluster with no external access (other than apps inside the cluster can access).
What is Kube-proxy?
It is a network proxy running on each node in the cluster and implementing part of the Kubernetes Service concept. Kube-proxy is responsible for directing the traffic to the right container depending on the IP and port number of incoming requests. Moreover, it maintains network rules on each node.
What is container runtime?
Container runtime is the software responsible for running the containers. Kubernetes supports various container runtimes, such as containers, Docker, CRI-O, and Kubernetes Container Runtime Interface implementation.
What is Ingress?
Ingress shows HTTP and HTTPS routes from outside the cluster to services inside the cluster. Rules defined on the Ingress resource control the traffic routing. An Ingress controller is responsible for fulfilling the Ingress, typically with a load balancer. It may also configure an edge router or other front ends to handle the traffic.
What is a Namespace in Kubernetes?
Kubernetes supports various virtual clusters backed by a sample physical cluster. The virtual cluster is known as namespaces, and it is used to divide cluster resources among multiple users.
List the components of Kubernetes.
There are three main components of Kubernetes. These are Addons Master components Node components
Enlist the objects of Kubernetes?
Objects used in Kubernetes are: Pods Jobs and cron jobs Controllers and replication sets Daemon sets Stateful sets Distinctive identities
PVC stands for Persistent Volume Claim, and it is the storage requested by Kubernetes for Pods. Users do not need to know the underlying provisioning. However, PVC should be in the same namespace where the pod is created.
What is Kubernetes Network Policy?
Kubernetes network policy describes how the pods in the same namespace communicate with each other and the network endpoint.
Overwhelmed with all these questions? The more familiar you get with these Kubernetes interview questions, the better you can show off your skills and Kubernetes knowledge.