50 Kubernetes Interview Questions and Answers

1. What is Kubernetes?

Kubernetes is an open-source platform designed to automate the deployment, scaling, and management of containerized applications. It helps to orchestrate a multitude of containers that work together in a clustered environment.

2. Who developed Kubernetes?

Kubernetes was originally designed by Google and is now maintained by the Cloud Native Computing Foundation (CNCF).

3. What are the key features of Kubernetes?

Kubernetes has several key features including automatic bin packing, self-healing, horizontal scaling, service discovery and load balancing, automated rollouts and rollbacks, and secret and configuration management.

4. Explain ‘Pod’ in Kubernetes.

A Pod is the smallest and simplest unit in the Kubernetes object model. It represents a single instance of a running process in a cluster and can contain one or more containers.

5. What is a ‘Node’ in Kubernetes?

A node is a worker machine in Kubernetes. It can be either a virtual machine or a physical machine. Each node contains the services necessary to run pods.

6. What is the role of ‘Kubelet’ in Kubernetes?

The Kubelet is an agent that runs on each node in the cluster. It ensures that containers are running in a pod as expected.

7. What is ‘Kube-proxy’ in Kubernetes?

Kube-proxy is a network proxy that runs on each node in your cluster, implementing part of the Kubernetes Service concept. It maintains network rules that allow network communication to your Pods from network sessions inside or outside of your cluster.

8. What is ‘Kubectl’?

Kubectl is a command-line tool designed to allow communication with a Kubernetes cluster. It uses the Kubernetes API to interact with the cluster.

9. What is ‘Kube-scheduler’?

Kube-scheduler is a Kubernetes component that takes a newly created pod and assigns it to a node based on factors such as resource availability, constraints, and affinity and anti-affinity specifications.

10. What is a ‘Service’ in Kubernetes?

A Service in Kubernetes is an abstraction which defines a logical set of Pods and a policy by which to access them.

11. What is a ‘ReplicaSet’ in Kubernetes?

A ReplicaSet ensures that a specified number of pod replicas are running at any given time.

12. How does ‘Horizontal Pod Autoscaling’ work in Kubernetes?

Horizontal Pod Autoscaling automatically scales the number of pods in a replication controller, deployment, replica set or stateful set based on observed CPU utilization or custom metrics.

13. What is a ‘Namespace’ in Kubernetes?

Namespaces are intended for use in environments with many users spread across multiple teams, or projects. They provide a scope for names and are a way to divide cluster resources between multiple uses.

14. What is a ‘Volume’ in Kubernetes?

A Kubernetes volume is essentially a directory accessible to all containers running in a pod. Kubernetes supports a variety of volumes, such as emptyDir, hostPath, gcePersistentDisk, awsElasticBlockStore, nfs, iscsi, and others.

15. What is ‘Ingress’ in Kubernetes?

Ingress in Kubernetes is an API object that provides HTTP and HTTPS routes from outside the cluster to services within the cluster.

16. What is ‘Minikube’?

Minikube is a tool that makes it easy to run Kubernetes locally. Minikube runs a single-node Kubernetes cluster inside a VM on your local workstation for users looking to try out Kubernetes or develop with it day-to-day.

17. What is ‘Helm’ in Kubernetes?

Helm is the package manager for Kubernetes. It is an open-source project that enables developers to package, version, and distribute applications for Kubernetes.

18. What is a ‘StatefulSet’ in Kubernetes?

StatefulSets are a Kubernetes object used to manage stateful applications. They provide guarantees about the ordering and uniqueness of Pods, enabling the system to maintain a stable network identity and stable storage.

19. What is a ‘Job’ in Kubernetes?

A Job creates one or more Pods and ensures that a specified number of them successfully terminate.

20. What is ‘RBAC’ in Kubernetes?

Role-Based Access Control (RBAC) is a method of regulating access to computer or network resources based on the roles of individual users within your organization.

21. What is ‘etcd’ in Kubernetes?

Etcd is a distributed key-value store used as Kubernetes’ backing store for all cluster data. It’s a core component in Kubernetes responsible for storing and replicating data across the cluster.

22. What are ‘Labels’ in Kubernetes?

Labels are key/value pairs that can be attached to Kubernetes objects such as Pods and ReplicaSets. They are used to organize and select subsets of objects.

23. What are ‘Selectors’ in Kubernetes?

Selectors are used in Kubernetes to select a collection of objects based on their labels. The two types of selectors in Kubernetes are equality-based and set-based selectors.

24. What is a ‘DaemonSet’ in Kubernetes?

A DaemonSet ensures that all or some nodes run a copy of a Pod. As nodes are added to the cluster, Pods are added to them. As nodes are removed from the cluster, those Pods are garbage collected.

25. What is ‘Kube-DNS’ in Kubernetes?

Kube-DNS is a DNS server that provides DNS service discovery in the Kubernetes cluster, allowing pods to communicate with each other via domain names instead of IP addresses.

26. How does ‘Rolling Deployment’ work in Kubernetes?

Rolling deployment is a strategy that gradually replaces instances of the previous version of an application with instances of the new version of the application.

27. What are ‘Taints and Tolerations’ in Kubernetes?

Taints and Tolerations work together to ensure that pods are not scheduled onto inappropriate nodes.

28. What is ‘PersistentVolume’ in Kubernetes?

PersistentVolume (PV) is a storage resource in the cluster that has been provisioned by an administrator.

29. What is ‘PersistentVolumeClaim’ in Kubernetes?

PersistentVolumeClaim (PVC) is a request for storage by a user. It is similar to a pod.

30. What is the difference between ‘ConfigMap’ and ‘Secret’?

ConfigMaps allow you to decouple configuration artifacts from image content to keep containerized applications portable. On the other hand, Secrets let you store and manage sensitive information, such as passwords, OAuth tokens, and ssh keys.

31. What is ‘Kube-apiserver’?

Kube-apiserver is a component of the Kubernetes control plane that exposes the Kubernetes API. It is the front-end for the Kubernetes control plane.

32. What are ‘Readiness Probes’?

Readiness probes are used to know when a container is ready to start accepting traffic.

33. What are ‘Liveness Probes’?

Liveness probes are used to know when to restart a container.

34. What is ‘Affinity’ and ‘Anti-affinity’ in Kubernetes?

Affinity and anti-affinity are scheduling rules that are used to influence the scheduling of a Pod relative to other Pods.

35. What is ‘Headless Service’ in Kubernetes?

A Headless service is a service with a service IP but requests to this service are sent

directly to the endpoints.

36. What is a ‘Deployment’ in Kubernetes?

Deployment provides declarative updates for Pods and ReplicaSets. You describe a desired state in a Deployment, and the Deployment Controller changes the actual state to the desired state.

37. What is ‘Kubeconfig’ file?

A Kubeconfig file is used to specify information about clusters, users, namespaces, and authentication mechanisms. The kubectl command-line tool uses kubeconfig files to find the information it needs to communicate with the API server of a kubernetes cluster.

38. What is ‘PodDisruptionBudget’ in Kubernetes?

A PodDisruptionBudget limits the number of Pods of a replicated application that are down simultaneously from voluntary disruptions.

39. What is ‘Container Resource Monitoring’ in Kubernetes?

Container Resource Monitoring refers to tracking metrics such as CPU usage, memory leaks, disk I/O, network latency, etc., to monitor and ensure optimal utilization of resources in a container.

40. What is ‘Canary Deployment’?

Canary Deployment is a strategy for reducing the risk of introducing a new software version in production by slowly rolling out the change to a small subset of users before rolling it out to the entire infrastructure.

41. What is ‘Docker’ in Kubernetes?

Docker is a platform that uses OS-level virtualization to deliver software in packages called containers. Kubernetes can orchestrate and manage these Docker containers.

42. What is ‘GKE’ (Google Kubernetes Engine)?

GKE is a managed, production-ready environment for deploying containerized applications provided by Google Cloud. It brings our latest innovations in developer productivity, resource efficiency, automated operations, and open source flexibility to accelerate your time to market.

43. What is a ‘Kubernetes Operator’?

An Operator is a method of packaging, deploying, and managing a Kubernetes application. It builds upon the basic Kubernetes resource and controller concepts but includes domain or application-specific knowledge to automate common tasks.

44. What is ‘Kustomize’ in Kubernetes?

Kustomize is a standalone tool to customize Kubernetes objects through a kustomization file. It provides a solution to manage environment-specific configurations outside of raw Kubernetes yaml or json files.

45. What are the types of Kubernetes Services?

The types of Kubernetes services are ClusterIP, NodePort, LoadBalancer, and ExternalName.

46. What is ‘Container Runtime’ in Kubernetes?

Container Runtime is the software that is responsible for running containers. Kubernetes supports several container runtimes: Docker, containerd, cri-o, and any implementation of the Kubernetes CRI (Container Runtime Interface).

47. What is ‘Cloud Controller Manager’ in Kubernetes?

The Kubernetes cloud controller manager is a daemon that embeds the cloud-specific control logic. The cloud controller manager lets you link your cluster into your cloud provider’s API, and separates out the components that interact with that cloud platform from components that just interact with your cluster.

48. What is the difference between a ‘Deployment’ and a ‘StatefulSet’?

Deployment is a Kubernetes object used to manage stateless applications, while StatefulSet is used for stateful applications where the ordering and uniqueness of the pods are crucial.

49. What is ‘Kubeadm’?

Kubeadm is a tool that provides kubeadm init and kubeadm join as best-practice “fast paths” for creating Kubernetes clusters.

50. What are ‘annotations’ in Kubernetes?

Annotations are arbitrary non-identifying metadata for recovering auxiliary information. They can be used to assist in managing applications but do not directly influence the behavior of the objects.

Leave a Comment