Service Mesh Use Cases: CCA practice questions
A service mesh moves cross-cutting networking concerns out of application code and into the platform.
By Ibrahim Yesilay · Published · Updated
Independent community practice, not affiliated with or endorsed by CNCF or The Linux Foundation.
What Service Mesh Use Cases covers in CCA
A service mesh moves cross-cutting networking concerns out of application code and into the platform. The Cilium documentation groups these concerns into five capabilities: resilient connectivity across clouds, clusters and premises; L7-aware traffic management such as load balancing, rate limiting and resiliency for HTTP, gRPC or WebSocket; identity-based security, where both sides authenticate each other by identity rather than by network address; observability and tracing; and transparency, meaning applications get all of this without code changes.
Cilium delivers these with two layers. Everything at the IP, TCP and UDP level is handled by eBPF in the kernel, while application protocols such as HTTP, gRPC and DNS are parsed by Envoy running once per node. That split shapes the practical use cases.
North-south traffic management is the most familiar one: Ingress and Gateway API resources expose applications, terminate TLS and split traffic by weight for canary or A/B releases. East-west traffic management, between workloads inside the cluster, is covered by GAMMA. An HTTPRoute or GRPCRoute binds to a Service as its parent instead of a Gateway, and Cilium steers traffic for that Service through the node-local Envoy. Cilium implements only producer routes, so such a route must live in the namespace of the Service it manages.
For cases that Gateway API cannot express, Cilium exposes Envoy configuration directly through the CiliumEnvoyConfig and CiliumClusterwideEnvoyConfig custom resources. The documented examples include path translation, URL rewriting, circuit breaking and traffic shifting. These resources receive only minimal validation and have no conflict resolution, so the documentation asks that they be treated as cluster admin objects. If only this Envoy-level traffic management is wanted, the enable-envoy-config option can be set without turning on the Ingress controller, and loadBalancer.l7.backend=envoy enables Envoy-based load balancing for ordinary Kubernetes Services.
Identity-based security is the use case behind mutual authentication. When it is enabled, a CiliumNetworkPolicy rule can carry an authentication block with mode required; the agent then performs a mutual TLS handshake with the peer node, using SPIFFE identities issued through SPIRE, before the policy lets traffic through. Pairing it with WireGuard or IPsec adds encryption of the traffic itself.
Observability rounds out the picture. Because Envoy streams its access logs to the agent, Hubble can show HTTP methods, paths and status codes for traffic covered by L7 rules, next to the L3 and L4 flows that eBPF records.
Key points
- GAMMA attaches HTTPRoute or GRPCRoute to a Service for east-west routing.
- Cilium supports GAMMA producer routes only, so the route must be in the namespace of the Service.
- CiliumEnvoyConfig is a cluster-admin resource with minimal validation.
- A policy rule with authentication mode required triggers the out-of-band mutual TLS handshake.
Three sample questions
9 CCA questions on Service Mesh Use Cases, 9 with explanations. How practice works
Question 1
- A.Canary deployments with percentage-based traffic splitting
- B.Traffic routing based on HTTP headers
- C.Automatic sidecar proxy injection
- D.Circuit breaking and outlier detection
Correct answer: C
Question 2
- A.Mesh features work without any change to application code
- B.Every request is logged to an audit trail that users can read
- C.All mesh configuration is visible in the Hubble UI
- D.Applications link a mesh SDK so that features are visible in code
Correct answer: A
Sources: CNCF CCA curriculum (CCA_Curriculum.pdf), Cilium docs: Service Mesh, Cilium docs: Envoy
Question 3
foo-svc, without writing any Envoy configuration yourself. Which approach does Cilium support?- A.An Ingress with
ingressClassName: ciliumpointing at foo-svc - B.An HTTPRoute whose parentRefs names the foo-svc Service
- C.A hand-written CiliumEnvoyConfig for foo-svc
- D.The annotation
service.cilium.io/global: "true"on foo-svc
Correct answer: B
ingressClassName: cilium pointing at ...": Ingress handles north-south traffic entering the cluster, not routing between workloads. "A hand-written CiliumEnvoyConfig for foo-svc": this works but requires writing Envoy configuration, which the question rules out. "The annotation service.cilium.io/global: "true" on foo-svc": this makes a Service global across a Cluster Mesh; it adds no L7 routing.Sources: CNCF CCA curriculum (CCA_Curriculum.pdf), Cilium docs: GAMMA Support, Cilium docs: L7-Aware Traffic Management
Practice this topic
Focus mode keeps every question on Service Mesh Use Cases until you leave it. 10 free guest answers, then a free account; no credit card.
Or open CCA practice across all topics.
Sources
The explanation above was checked against these official documents.
- Cilium docs: Service Mesh (checked 2026-10-28)
- Cilium docs: GAMMA Support (checked 2026-10-28)
- Cilium docs: L7-Aware Traffic Management (checked 2026-10-28)
- Cilium docs: Mutual Authentication Example (checked 2026-10-28)