Kubernetes | Interview Questions and Answers
1. What is Kubernetes?
Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications.
2. Explain the key components of Kubernetes architecture.
Kubernetes architecture consists of the following key components:
- Master Node: Manages the control plane.
- Node (Minion): Runs applications and services.
- etcd: Distributed key-value store for cluster data.
- Kubelet: Agent running on nodes.
- Kube Proxy: Maintains network rules.
3. What is a Pod in Kubernetes?
A Pod is the smallest deployable unit in Kubernetes, representing a single instance of a running process. It can contain one or more containers that share the same network namespace.
4. How does a ReplicaSet differ from a Deployment?
A ReplicaSet ensures a specified number of replicas of a Pod are running, while a Deployment provides declarative updates to applications, managing ReplicaSets and allowing for rollbacks.
5. Explain the purpose of a Kubernetes Service.
A Service is an abstraction that defines a logical set of Pods and a policy to access them. It provides a stable endpoint for accessing the deployed application.
6. What is the role of a ConfigMap in Kubernetes?
ConfigMaps are used to decouple configuration artifacts from container images, enabling the modification of configuration without changing the application code.
7. Describe the difference between a StatefulSet and a Deployment.
A StatefulSet is used for stateful applications that require stable network identifiers and persistent storage. Deployments are more suitable for stateless applications.
8. What is a Namespace in Kubernetes?
A Namespace provides a way to divide cluster resources between multiple users or projects, preventing naming conflicts and providing a scope for resource quotas.
9. Explain the concept of Ingress in Kubernetes.
Ingress is an API object that manages external access to services within a cluster, providing HTTP and HTTPS routing rules.
10. How does Horizontal Pod Autoscaling work?
Horizontal Pod Autoscaling adjusts the number of replica Pods in a deployment or replica set based on observed CPU utilization or custom metrics.
11. What is the role of kube-proxy?
Kube-proxy is responsible for maintaining network rules on nodes, enabling communication across Pods and external traffic.
12. How can you update a running Kubernetes application?
You can update a running application in Kubernetes by modifying the container image in the Pod specification, then applying the changes using kubectl apply
or by updating the Deployment.
13. Explain Rolling Deployment in Kubernetes.
Rolling Deployment is a strategy where a new version of an application is gradually deployed across Pods, minimizing downtime by replacing old Pods with new ones in a controlled manner.
14. What is a Persistent Volume (PV) in Kubernetes?
A Persistent Volume is a cluster-wide resource that represents a piece of networked storage, allowing data to persist beyond the lifespan of an individual Pod.
15. How does a Helm chart simplify Kubernetes deployments?
Helm is a package manager for Kubernetes that simplifies the deployment and management of applications by packaging them into charts, allowing for versioning and easy sharing.
16. Explain the role of Taints and Tolerations in Kubernetes.
Taints are applied to nodes, and tolerations are applied to Pods, allowing or preventing Pods from running on specific nodes based on matching taints and tolerations.
17. What is the purpose of liveness and readiness probes in Kubernetes?
Liveness probes determine if a container is running, and readiness probes determine if a container should receive traffic. They are used to enhance the reliability and availability of applications.
18. How can you expose a Pod to the external world in Kubernetes?
You can expose a Pod externally using a Service of type LoadBalancer
or NodePort
, depending on your infrastructure and requirements.
19. Explain the concept of Helm Releases.
Helm Releases represent a deployed instance of a Helm chart, allowing for easy management, versioning, and rollback of application releases.
20. What is the purpose of a Job in Kubernetes?
A Job in Kubernetes is used to run short-lived and parallel tasks to completion, ensuring that a specified number of Pods successfully terminate.
21. How does Secrets work in Kubernetes?
Secrets are used to store sensitive information, such as passwords or API keys, in a more secure manner, and they can be mounted as volumes or exposed as environment variables in Pods.
22. What is the difference between a DaemonSet and a Deployment?
A DaemonSet ensures that a copy of a Pod runs on all or some nodes, while a Deployment manages the deployment and scaling of Pods, typically for stateless applications.
23. Explain the concept of Helm Values.
Helm Values are configuration parameters that can be customized when deploying Helm charts, allowing for flexibility and abstraction of configuration details.
24. How does Pod-to-Pod communication work in Kubernetes?
Pods within the same Kubernetes cluster can communicate with each other directly using their IP addresses, and services provide a stable endpoint for communication between Pods.
25. What is the purpose of Resource Quotas in Kubernetes?
Resource Quotas limit the amount of CPU, memory, and other resources that can be consumed by objects within a namespace, preventing resource exhaustion.
26. How can you scale a Kubernetes cluster?
You can scale a Kubernetes cluster by adding or removing nodes. Tools like autoscaling groups in cloud providers can automatically adjust the number of nodes based on resource utilization.
27. Explain the concept of Network Policies in Kubernetes.
Network Policies allow you to control the communication between Pods, defining rules for ingress and egress traffic based on labels, ports, and IP ranges.
28. What is Helm Chart Dependency?
Helm Chart Dependency allows you to specify dependencies on other charts, simplifying the management of complex applications with multiple components.
29. How does Kubernetes handle storage orchestration?
Kubernetes uses Persistent Volumes and Persistent Volume Claims to abstract and manage storage resources, allowing Pods to request and use storage dynamically.
30. What is Kubelet and its role in a Kubernetes cluster?
Kubelet is an agent that runs on each node and ensures that containers are running in a Pod. It communicates with the API server and manages containers’ lifecycle.
What Next?
These are just a few examples of Kubernetes interview questions. Depending on the level of expertise required, interview questions may vary from basic to advanced topics. Good luck with your interviews!