Kubernetes Interview Questions | Scenario Based K8s Interview Questions and Answers for Devops
Summary
TLDRThis video script covers key Kubernetes concepts and practices, focusing on interview-preparation topics. It explains Kubernetes operators, which automate deployment and management tasks; running pods on specific nodes using node affinity and selectors; handling memory limit exceedances with kernel signals; ensuring pod availability through liveness probes; upgrading Kubernetes clusters step-by-step; using custom namespaces for logical grouping and security; and deploying pods on tainted nodes using tolerations. The script serves as a comprehensive guide for mastering Kubernetes deployment, cluster management, and troubleshooting.
Takeaways
- ๐ Operators automate the deployment and management of complex applications on Kubernetes, allowing you to package, scale, and self-heal systems.
- ๐ Kubernetes Operators use custom controllers and declarative management practices to handle tasks like scaling and deployment.
- ๐ The Operator Hub (operatorhub.io) is a marketplace where you can find different Operators for Kubernetes applications like Prometheus and Argo CD.
- ๐ Node Affinity, Node Selectors, and Node Name allow you to schedule a pod on specific nodes in a Kubernetes cluster.
- ๐ If a pod exceeds its memory limit, the kernel's OOM (Out-Of-Memory) killer sends a SIGKILL signal to terminate the process and the container.
- ๐ To ensure a pod remains operational at all times, use **liveness probes** to check if the application is still running. If the check fails, the pod gets restarted.
- ๐ Kubernetes releases a new version every four months, and upgrading a Kubernetes cluster involves upgrading the control plane first and then the worker nodes.
- ๐ Always take a backup before upgrading a Kubernetes cluster and verify the system's health post-upgrade.
- ๐ Custom namespaces help to logically group and organize resources based on use cases (e.g., development vs. production) and provide better isolation and security.
- ๐ Tainted nodes prevent pod scheduling by default, but you can use **tolerations** in the pod's specification to allow scheduling on tainted nodes.
- ๐ Kubernetes namespaces improve resource management and security by logically separating applications and environments based on organizational needs.
Q & A
What is a Kubernetes Operator, and what is its purpose?
-A Kubernetes Operator is a method of packaging, deploying, and managing Kubernetes applications. It automates tasks like deployment, scaling, custom controller implementation, and self-healing systems by leveraging Kubernetes APIs. Operators help deploy and manage complex applications on Kubernetes clusters.
Where can you find Kubernetes Operators to deploy on your clusters?
-You can find Kubernetes Operators on the OperatorHub website (operatorhub.io), which provides a wide range of operators, such as the Prometheus Operator for monitoring or the Argo CD Operator for continuous delivery.
How can you run a pod on a specific node in a Kubernetes cluster?
-You can use **node affinity**, **node selectors**, or directly specify a **node name** in the pod configuration. For node affinity, you label the node and set affinity rules for the pod to run on the node with the corresponding label.
What happens if a pod exceeds its memory limit in Kubernetes?
-If a pod exceeds its memory limit, the container runtime (such as Docker or containerd) may send an 'Out of Memory' signal to the main process inside the container, resulting in the termination of the pod due to memory constraints.
How can you ensure that a pod remains operational at all times in Kubernetes?
-You can use **liveness probes** to check if the application inside a pod is running. If the probe fails, Kubernetes will automatically restart the container to ensure the application remains operational.
What are the key steps in upgrading a Kubernetes cluster?
-To upgrade a Kubernetes cluster, follow these steps: 1) Find the desired version and create an upgrade plan, 2) Take a backup of all important data, 3) Upgrade the control plane (master node) components, 4) Upgrade worker nodes in a rolling upgrade process, and 5) Verify the cluster's functionality after the upgrade.
Why should you use custom namespaces in Kubernetes?
-Custom namespaces help logically group resources within a Kubernetes cluster. They allow you to separate different environments (e.g., development, production) or applications by team, providing better resource isolation, security, and manageability.
How can you schedule a pod to run on a tainted node in Kubernetes?
-To schedule a pod on a tainted node, you need to add **tolerations** to the pod configuration. Tolerations allow the pod to be scheduled on nodes that have specific taints, marking the node as unsuitable for other pods but acceptable for those with matching tolerations.
What is the significance of using **node affinity** in Kubernetes?
-**Node affinity** allows you to specify rules for pod placement based on node labels. It ensures that pods are scheduled onto nodes with specific characteristics, helping you optimize resource allocation and placement strategies in your cluster.
What is a **liveness probe**, and how does it help in managing pod health?
-A **liveness probe** is a health check configured for a pod in Kubernetes to monitor if the application inside the pod is running. If the liveness probe fails, the container is restarted to resolve any issues, ensuring that the application remains available and responsive.
Outlines
This section is available to paid users only. Please upgrade to access this part.
Upgrade NowMindmap
This section is available to paid users only. Please upgrade to access this part.
Upgrade NowKeywords
This section is available to paid users only. Please upgrade to access this part.
Upgrade NowHighlights
This section is available to paid users only. Please upgrade to access this part.
Upgrade NowTranscripts
This section is available to paid users only. Please upgrade to access this part.
Upgrade NowBrowse More Related Video
Setup Kubernetes Cluster Using Kubeadm [Multi-node]
Kubernetes Architecture in 7 minutes | K8s explained
ยฟQUE ES KUBERNETES? - Introducciรณn al orquestador mรกs usado
What Is Kubernetes - The Engine Behind Google's massive Container Systems | KodeKloud
ืงืืจืก kubernetes (k8s) ืืืื - ืฉืืขืืจ 2 - ืืจืืืืงืืืจื ืฉื ืืฉืืื (cluster architecture)
Day 4 - Manage Kubernetes Add-Ons for Multiple Clusters Using Cluster Run-Time State
5.0 / 5 (0 votes)