Explore foundational concepts around containers, microservices, and Kubernetes objects with this essential DevOps and cloud deployment quiz. Test your understanding of Docker, Kubernetes, Pods, Services, Deployments, and Ingress.
What is the primary benefit of using Docker to package and distribute applications?
Explanation: Docker enables developers to package applications together with all necessary dependencies in a portable container, ensuring consistency across environments. It does not replace source code, strictly require virtual machines, or automatically set up Kubernetes clusters; instead, it simplifies the deployment process.
Which tool can be used to set up a local Kubernetes cluster for learning or development purposes?
Explanation: Minikube is designed explicitly for running a Kubernetes cluster locally for development and testing. Ansible and Terraform are automation tools but do not create clusters directly, while Docker Compose manages multi-container Docker applications, not Kubernetes clusters.
In Kubernetes, what describes a Pod?
Explanation: A Pod is Kubernetes' smallest deployable object and can have one or more containers sharing storage and network. It is not a load balancer, automation script, or substitute for Docker images.
How does a Kubernetes Service help expose an application deployed on Pods?
Explanation: Kubernetes Services abstract a set of Pods and expose them via a consistent IP and DNS, also balancing network traffic. Services do not handle data storage, user permissions, or deployment automation tasks directly.
What is the main purpose of an Ingress in a Kubernetes environment?
Explanation: Ingress is used in Kubernetes to route HTTP/S requests from outside the cluster to services inside, enabling external access. It does not build images, manage pod scaling, or schedule containers on nodes—those functions belong to other components.