Microsoft Certified: DevOps Engineer ExpertDesign and implement pipelinesMedium

A DevOps team is managing a complex application deployed to an Azure Kubernetes Service (AKS) cluster. The application consists of multiple microservices, each with its own Docker image. They need to ensure that external HTTP/HTTPS traffic can be routed to the correct microservice based on the URL path or hostname. Additionally, they require SSL termination and potentially load balancing for incoming requests. Which Kubernetes resource is best suited to manage these requirements?

  1. AService
  2. BDeployment
  3. CIngress
  4. DConfigMap
Show answer & explanation

Correct answer: C. Ingress

Ingress in Kubernetes manages external access to services within the cluster, providing HTTP/HTTPS routing, SSL termination, and load balancing based on rules defined in an Ingress resource. This directly addresses all the specified requirements for routing external traffic to microservices.

Why the other options are wrong

  • A. A Service provides internal load balancing and network access to a set of pods within the cluster, but it does not handle external HTTP/HTTPS routing or SSL termination.
  • B. A Deployment manages the lifecycle of pods (e.g., creating, updating, scaling) but is not responsible for network access or traffic routing.
  • D. A ConfigMap stores non-sensitive configuration data as key-value pairs and is not related to network traffic management.

Kubernetes Ingress

A Kubernetes API object that manages external access to services in a cluster, typically HTTP/HTTPS, providing features like load balancing, SSL termination, and name-based virtual hosting.

  • Exposes HTTP/HTTPS routes from outside the cluster to services within the cluster.
  • Provides URL path and hostname-based routing.
  • Supports SSL/TLS termination.
  • Requires an Ingress Controller (e.g., NGINX, Azure Application Gateway Ingress Controller).

Memory trick: Ingress is the cluster's doorman, directing traffic from the outside world.

More Design and implement pipelines questions