Ingress uses apiVersion networking.k8s.io/v1, kind Ingress, and defines rules with host and http paths.
Step 2: Check options for correct fields
apiVersion: networking.k8s.io/v1\nkind: Ingress\nmetadata:\n name: example-ingress\nspec:\n rules:\n - host: example.com\n http:\n paths:\n - path: /\n pathType: Prefix\n backend:\n service:\n name: example-service\n port:\n number: 80 matches the correct structure with service name and port under backend. apiVersion: v1\nkind: Service\nmetadata:\n name: example-ingress\nspec:\n selector:\n app: example\n ports:\n - protocol: TCP\n port: 80\n targetPort: 9376 is a Service definition. The other options define a Deployment or incorrectly use a tcp field.
The host field is set to app.example.com, which defines the hostname for routing.
Step 2: Understand routing based on host
Traffic to app.example.com with path prefix /app routes to my-service on port 8080.
Final Answer:
app.example.com -> Option A
Quick Check:
Host in rule = app.example.com [OK]
Hint: Look for host field in Ingress rules [OK]
Common Mistakes:
Confusing service name with hostname
Ignoring the host field and picking path or service name
Choosing partial strings like 'app' instead of full hostname
4. You created an Ingress resource but external traffic is not reaching your service. Which of these is a likely cause?
medium
A. The pod image is missing a label
B. The cluster has no nodes
C. The service port is set to 0
D. The Ingress controller is not installed or running
Solution
Step 1: Check Ingress controller presence
Ingress resources need an Ingress controller to process rules and route traffic. Without it, Ingress does nothing.
Step 2: Evaluate other options
Pod labels or service ports affect internal routing but won't stop Ingress from receiving traffic. No nodes means cluster is down, but question focuses on Ingress.
Final Answer:
The Ingress controller is not installed or running -> Option D
Quick Check:
Ingress needs controller to route traffic = B [OK]
Hint: Ingress needs a controller running to work [OK]
Common Mistakes:
Ignoring the need for an Ingress controller
Blaming pod labels for external access issues
Confusing service port 0 with Ingress failure
5. You want to expose two services, service-a and service-b, on the same domain but different paths using Ingress. Which configuration correctly achieves this?
hard
A. Use a LoadBalancer service type for each service instead of Ingress
B. Create two Ingress resources with the same host example.com, each with one path for service-a and service-b
C. Define one Ingress with rules for host example.com and paths /a routing to service-a, /b routing to service-b
D. Expose service-a and service-b on different ports without Ingress
Solution
Step 1: Understand Ingress path routing
Ingress can route different URL paths on the same host to different services using rules with multiple paths.
Step 2: Compare options for best practice
Define one Ingress with rules for host example.com and paths /a routing to service-a, /b routing to service-b uses one Ingress with multiple paths, which is efficient and standard. Create two Ingress resources with the same host example.com, each with one path for service-a and service-b may cause conflicts. Options C and D avoid Ingress and don't meet the requirement.
Final Answer:
Define one Ingress with rules for host example.com and paths /a and /b routing to respective services -> Option C
Quick Check:
One Ingress, multiple paths = A [OK]
Hint: Use one Ingress with multiple paths for same host [OK]
Common Mistakes:
Creating multiple Ingresses with same host causing conflicts
Using LoadBalancer instead of Ingress for path routing
Exposing services on different ports without hostname routing
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.