A pod is the smallest deployable unit in Kubernetes, encapsulating one or more containers that are scheduled together and share the same network namespace and storage volumes. Containers in a pod communicate over localhost and are co-located on the same node. Most pods run a single main container, sometimes with helper sidecar containers. Pods are ephemeral; when one dies it is replaced rather than healed, which is why higher-level controllers like Deployments manage them for resilience.
2 / 5
What is a Deployment in Kubernetes?
A Deployment is a controller that declaratively manages a set of identical pods through a ReplicaSet. You specify the desired number of replicas and the pod template, and the Deployment ensures that many healthy pods exist, recreating any that fail. It also orchestrates rolling updates, gradually replacing old pods with new ones, and supports rollbacks to a previous version. Deployments are the standard way to run stateless applications reliably and update them with zero downtime.
3 / 5
What is a Service in Kubernetes?
A Service provides a stable network identity and load-balancing for a dynamic set of pods, which otherwise have changing IPs as they are created and destroyed. It selects target pods by their labels and exposes them under a consistent virtual IP and DNS name. Types include ClusterIP for internal access, NodePort, and LoadBalancer for external exposure. Services decouple clients from individual pod lifecycles, ensuring reliable connectivity even as the underlying pods change.
4 / 5
What is an Ingress in Kubernetes?
An Ingress manages external HTTP and HTTPS access to services inside the cluster, providing host- and path-based routing, TLS termination, and virtual hosting from a single entry point. It is a set of rules, while an Ingress controller, such as NGINX or Traefik, actually implements them. Ingress lets you expose many services under one external IP and hostname, routing /api to one service and /web to another, rather than allocating a load balancer per service.
5 / 5
What is a ConfigMap in Kubernetes?
A ConfigMap stores non-confidential configuration data as key-value pairs, decoupling configuration from container images. Pods consume a ConfigMap as environment variables, command-line arguments, or files mounted into a volume. This lets you change configuration without rebuilding images and reuse the same image across environments. For sensitive data like passwords or tokens you use a Secret instead, which is similar but intended for confidential values. ConfigMaps keep applications portable and configuration externalized.