1.What is Docker, and how does it work?
Docker is a platform that enables developers to create,
deploy, and run applications in containers. Containers are lightweight,
portable units that package software and its dependencies, ensuring consistent execution
across environments.
2. What are Docker images, and how are they different
from containers?
A Docker image is a lightweight, standalone, and executable
package that includes everything needed to run an application. A container is a
running instance of a Docker image, created by using the docker run command.
3. What is a Dockerfile?
A Dockerfile is a text file that contains instructions to
assemble a Docker image. It defines the environment in which the application
runs, including the base image, dependencies, and commands.
4. What is Docker Compose, and how is it used?
Docker Compose is a tool for defining and running
multi-container Docker applications. It uses a YAML file (docker-compose.yml)
to configure services, networks, and volumes, allowing you to manage multiple
containers easily.
5. What is a Kubernetes Pod?
A Kubernetes Pod is the smallest deployable unit in
Kubernetes, representing a single instance of a running process in a cluster.
Pods can contain one or more containers that share the same network namespace
and storage.
6. How do Kubernetes Deployments work?
Kubernetes Deployments define the desired state of a pod or
a set of pods and manage updates to those pods. Deployments ensure that the
correct number of pods are running and handle rolling updates and rollbacks.
7. What is a Kubernetes Service?
A Kubernetes Service is an abstraction that defines how to
access a set of Pods. It can expose a Pod or set of Pods either within the
cluster (ClusterIP), externally (NodePort, LoadBalancer), or through an ingress
controller.
8. What is a namespace in Kubernetes?
A namespace is a mechanism to divide cluster resources
between multiple users or teams. Namespaces allow you to create isolated
environments within a Kubernetes cluster, enabling easier resource management
and organization.
9. What is the role of the kube-scheduler?
The kube-scheduler is a component of the Kubernetes control
plane responsible for assigning Pods to nodes based on factors like resource
availability, affinity/anti-affinity rules, and taints/tolerations.
10. How does Kubernetes handle container networking?
Kubernetes uses a flat networking model, where every Pod has
its own IP address, and containers within a Pod share the same network
namespace. Kubernetes supports different networking plugins, such as Calico and
Flannel, to manage container-to-container communication.
11. What is the difference between Docker Swarm and
Kubernetes?
- Docker
Swarm: Docker's native clustering and orchestration tool, simpler and
integrated with Docker.
- Kubernetes:
A robust, feature-rich orchestration system that supports scaling,
self-healing, service discovery, and rolling updates, but with a steeper
learning curve.
12. What is the use of ConfigMaps and Secrets in
Kubernetes?
- ConfigMaps:
Store configuration data as key-value pairs that can be consumed by Pods.
- Secrets:
Store sensitive data like passwords, tokens, or keys. Secrets are
encrypted and should be used for secure data management.
13. How do you manage persistent storage in Kubernetes?
Kubernetes uses Persistent Volumes (PV) and Persistent
Volume Claims (PVC) to manage storage. A PV is a resource in the cluster that
provides storage, and a PVC is a request for storage by a Pod. Kubernetes
dynamically binds PVs to PVCs.
14. What is Helm, and how does it simplify Kubernetes
management?
Helm is a package manager for Kubernetes that allows
developers to define, install, and upgrade applications using charts
(pre-configured templates). It simplifies deploying complex Kubernetes
applications and managing updates.
15. What are Kubernetes Ingress Controllers?
Ingress controllers manage external access to services
within a Kubernetes cluster. Ingress resources define how traffic is routed to
services based on rules such as hostnames and paths. Ingress controllers like
Nginx or Traefik are responsible for handling and routing traffic.
0 Comments