Kubernetes is a big deal for managing apps in containers, and if you’re new to it, you might get asked some basic questions in interviews. No stress! This article has 15 common Kubernetes questions for beginners, with answers written like you’d say them in an interview. I’ve added examples and images where they help. Let’s get started!
1. What is Kubernetes?
Candidate Reply: Kubernetes is a tool that helps manage containerized apps, like those running in Docker. It makes sure your apps are running smoothly across many servers, handling things like scaling, updates, and restarts automatically.
2. Why do we use Kubernetes?
Candidate Reply: We use Kubernetes because it makes running apps easier. It can scale apps up or down, keep them running if a server fails, and roll out updates without downtime. It saves time and reduces mistakes compared to managing containers manually.
3. What is a pod in Kubernetes?
Candidate Reply: A pod is the smallest unit in Kubernetes. It’s like a wrapper for one or more containers that run together on the same server. For example, a pod might have a web app container and a logging container that work as a team.
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-app
image: nginx
4. What’s the difference between a pod and a node?
Candidate Reply: A pod is a group of containers running an app, while a node is a server (physical or virtual) in the Kubernetes cluster that runs pods. A node can host many pods, and Kubernetes decides which node runs which pod.
5. What is a Kubernetes cluster?
Candidate Reply: A Kubernetes cluster is a group of servers working together to run your apps. It has a control plane (the brain) that manages everything and worker nodes that run your pods. The control plane makes sure everything stays in sync.
6. What does `kubectl` do?
Candidate Reply: `kubectl` is a command-line tool you use to talk to a Kubernetes cluster. You can use it to create pods, check their status, or delete them. For example, `kubectl get pods` shows all pods in your cluster.
kubectl get pods
7. What’s a Deployment in Kubernetes?
Candidate Reply: A Deployment is a Kubernetes resource that manages pods. It makes sure a set number of pods are always running and handles updates, like rolling out a new app version. It’s great for keeping apps stable.
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: nginx
8. How is a ReplicaSet different from a Deployment?
Candidate Reply: A ReplicaSet makes sure a specific number of pods are running at all times. A Deployment is a higher-level resource that uses a ReplicaSet to manage pods and also handles updates, like rolling updates or rollbacks. Deployments are easier to work with for app updates.
9. What’s a Service in Kubernetes?
Candidate Reply: A Service is a way to connect to pods, even if they change or move. It gives pods a stable address, like a DNS name, so other apps can find them. For example, a Service can route traffic to a set of web server pods.
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
- port: 80
targetPort: 8080
10. What are labels and selectors in Kubernetes?
Candidate Reply: Labels are tags you put on Kubernetes resources, like pods, to organize them. For example, you might label a pod as `app=web`. Selectors use those labels to find resources, like a Service finding all pods with `app=web`. They’re like a filter to group things.
11. What’s the Kubernetes control plane?
Candidate Reply: The control plane is the brain of the Kubernetes cluster. It includes parts like the API server, scheduler, and controller manager that manage the cluster. It decides where pods run, handles updates, and keeps everything in order.
12. What’s a Namespace in Kubernetes?
Candidate Reply: A Namespace is like a folder in Kubernetes to organize resources. You can use it to separate projects or teams in the same cluster. For example, a `dev` namespace for development and a `prod` namespace for production.
kubectl create namespace dev
13. How do you check if a pod is running?
Candidate Reply: I use `kubectl get pods` to list all pods and their status. If I want details, I run `kubectl describe pod ` to see what’s going on, like if it’s running or crashed. I also use `kubectl logs ` to check the pod’s logs for errors.
kubectl get pods
kubectl describe pod my-pod
kubectl logs my-pod
14. What’s a ConfigMap in Kubernetes?
Candidate Reply: A ConfigMap stores configuration data, like settings or environment variables, that pods can use. For example, I can put an app’s database URL in a ConfigMap and load it into a pod without hardcoding it.
apiVersion: v1
kind: ConfigMap
metadata:
name: my-config
data:
db_url: "mysql://db:3306"
15. What’s a Secret in Kubernetes?
Candidate Reply: A Secret is like a ConfigMap but for sensitive data, like passwords or API keys. It’s stored securely and can be passed to pods as environment variables or files. For example, I’d use a Secret to store a database password.
apiVersion: v1
kind: Secret
metadata:
name: my-secret
type: Opaque
data:
password: cGFzc3dvcmQ= # Base64 encoded
These are the 15 questions cover the basics you need for a Kubernetes interview. Practice these answers, and you’ll be ready to explain Kubernetes clearly and confidently. Good luck!
The post Top 15 Kubernetes Interview Questions for Beginners appeared first on TecAdmin.
Source: Read More