Courseiva

CCNA Traffic Management Questions

75 of 93 questions · Page 1/2 · Traffic Management topic · Answers revealed

1
MCQhard

Which resource configuration is necessary to allow a service to communicate with a database outside the mesh using TLS?

A.Only PeerAuthentication
B.Only Gateway
C.Only VirtualService
D.ServiceEntry and DestinationRule
AnswerD

ServiceEntry registers the external database host in the mesh registry, while DestinationRule defines the TLS origination policy for that host. Together they satisfy the stem's constraint: enabling mesh egress to an external database over TLS.

Why this answer

A ServiceEntry is needed to register the database host, and a DestinationRule is needed to define TLS settings.

2
MCQhard

How do you handle SNI-based routing in a Gateway?

A.Gateway TLS section
B.VirtualService
C.DestinationRule
D.ServiceEntry
AnswerA

The Gateway's TLS section configures SNI-based routing by matching the server name presented during the TLS handshake to a credentialName, directing traffic to the appropriate hosts. Without it, the gateway cannot distinguish virtual hosts on shared ports.

Why this answer

The TLS block in the Gateway server configuration handles SNI and certificate management.

3
MCQhard

You notice your traffic is not being routed correctly despite a VirtualService. Which step is most likely to resolve common issues?

A.Delete the Gateway
B.Increase the sidecar memory limit
C.Restart the ingress gateway
D.Ensure DestinationRule subsets match VirtualService destination labels
AnswerD

Mismatched subset labels between DestinationRule and VirtualService cause routing failures, since the VirtualService references a subset name that the DestinationRule must define against matching pod labels. Verifying these align resolves the common misconfiguration where traffic silently falls back or fails, satisfying the stem's requirement to correct faulty routing.

Why this answer

In Istio, a VirtualService routes traffic to destination hosts, and when it references subsets (e.g., v1, v2), those subset names must be defined in a corresponding DestinationRule with matching labels. If the DestinationRule subsets do not match the labels used by the VirtualService destinations, routing fails or traffic is misdirected. Verifying that subset labels align between the two resources is the standard first troubleshooting step for VirtualService routing problems.

Exam trap

The trap here is assuming routing failures are infrastructure or resource problems (restart the gateway, add memory) when the actual cause is almost always a configuration mismatch between DestinationRule subsets and VirtualService destination labels.

How to eliminate wrong answers

Option A is wrong because deleting the Gateway removes the ingress entry point entirely and would break external access rather than fix internal routing; the Gateway is not the source of subset mismatch. Option B is wrong because increasing the sidecar memory limit addresses resource exhaustion, not routing logic; misrouting caused by label mismatches is a configuration error that memory changes cannot resolve. Option C is wrong because restarting the ingress gateway only temporarily clears state and does not correct a DestinationRule/VirtualService label mismatch, so the problem would recur immediately.

4
Multi-Selecthard

A mesh operator needs to configure a DestinationRule so that the sidecar reuses existing HTTP/2 connections to an upstream service and automatically ejects endpoints that return repeated 5xx errors. Which two configuration elements are required to meet these goals? (Choose two.)

Select 2 answers
A.Set trafficPolicy.connectionPool.http.http2MaxRequests and maxRequestsPerConnection to bound and reuse concurrent streams on each connection.
B.Define trafficPolicy.outlierDetection with consecutive5xxErrors and an ejection interval so failing endpoints are removed from the load balancing pool.
C.Set trafficPolicy.connectionPool.http.h2UpgradePolicy to UPGRADE so HTTP/1.1 connections are upgraded to HTTP/2 for multiplexing.
D.Configure a ServiceEntry that registers the upstream service as an external endpoint with resolution DNS.
E.Add a PeerAuthentication with mtls.mode STRICT to force mutual TLS between the sidecars for the upstream service.
AnswersA, B

http2MaxRequests limits concurrent streams per connection and maxRequestsPerConnection forces a connection to be recycled after a set number of requests, which together govern HTTP/2 connection reuse and capacity. Setting these values is how operators tune multiplexing and connection lifecycle at the pool level. This satisfies the connection reuse requirement while the outlier detection block handles ejection.

Why this answer

Connection reuse under HTTP/2 is governed by the connectionPool.http fields such as http2MaxRequests and maxRequestsPerConnection, which bound concurrent streams and recycle connections. Automatic removal of endpoints returning repeated 5xx errors is provided by outlierDetection with consecutive5xxErrors and an ejection interval. Together these two blocks in DestinationRule trafficPolicy satisfy both stated goals without adding unrelated security or registry configuration.

Exam trap

The trap here is assuming h2UpgradePolicy alone delivers connection reuse, when the pool limits and outlier detection blocks are what actually control reuse and ejection.

5
Multi-Selectmedium

Which resources control mTLS settings? (Choose TWO)

Select 2 answers
B.DestinationRule
C.PeerAuthentication
D.ServiceEntry
E.VirtualService
AnswersB, C

DestinationRule configures mTLS for traffic to a service by setting the TLS mode within its trafficPolicy, satisfying the requirement to control mutual authentication between sidecars. It governs the client side of a connection, enforcing STRICT or PERMISSIVE modes, which is why it is one of the two resources that manage mTLS settings.

Why this answer

In Istio, mTLS settings are controlled by two resources: DestinationRule and PeerAuthentication. DestinationRule (B) is correct because its trafficPolicy.tls.mode field (e.g., ISTIO_MUTUAL, DISABLE, SIMPLE, MUTUAL) configures how a client sidecar initiates TLS/mTLS to an upstream service. PeerAuthentication (C) is correct because its mtls.mode field (STRICT, PERMISSIVE, DISABLE) defines the server-side policy for whether a workload accepts mTLS connections.

Gateway (A) configures ingress/egress TLS termination for external traffic, not service-to-service mTLS policy. ServiceEntry (D) registers external services into the mesh and does not set mTLS modes. VirtualService (E) handles routing rules (hosts, routes, retries) and has no mTLS configuration field.

6
MCQhard

When using a ServiceEntry for a TCP service, what protocol should be specified?

C.GRPC
D.TCP
AnswerD

TCP is the correct protocol value for a ServiceEntry describing a raw TCP service, since Istio then applies TCP-level routing and load balancing rather than HTTP inspection. It satisfies the stem's constraint of matching the service's actual transport.

Why this answer

The resolution must be set to DNS or STATIC, and the protocol must match the traffic type (TCP).

7
MCQeasy

What is the primary function of the 'istio-proxy' container in a pod?

A.Running the business logic
B.Intercepting network traffic
C.Managing Kubernetes API
D.Monitoring disk usage
AnswerB

The istio-proxy sidecar intercepts inbound and outbound pod traffic via iptables redirection, enabling Envoy to apply mTLS, routing and telemetry without application changes. This satisfies the stem's requirement for the container's primary function: transparent traffic interception at the pod network layer.

Why this answer

It intercepts all network traffic to and from the application container.

8
MCQeasy

You want to test a new version of a service by sending a copy of live traffic to it. What feature should you use?

A.subsetting
B.fault injection
C.mirroring
D.canary
AnswerC

Mirroring sends a duplicate of live production traffic to the new service version while the primary still serves real responses, letting you test the new version under genuine load without impacting users. This matches the requirement precisely.

Why this answer

Traffic mirroring allows sending a copy of traffic to a different service without affecting the main response.

9
MCQeasy

What is the default load balancing policy if none is specified in the DestinationRule?

A.RANDOM
B.LEAST_CONN
C.ROUND_ROBIN
D.PASSTHROUGH
AnswerC

ROUND_ROBIN is Istio's default load balancing policy when a DestinationRule omits the field, distributing requests sequentially across healthy endpoints in each subset. This satisfies the stem's constraint of no explicitly specified policy, so traffic spreads evenly without requiring any additional configuration.

Why this answer

Istio defaults to ROUND_ROBIN if not specified.

10
Multi-Selecteasy

Which TWO components must be configured to allow external traffic to enter the mesh?

Select 2 answers
A.DestinationRule
B.VirtualService
D.PeerAuthentication
E.Sidecar
AnswersB, C

A VirtualService binds routing rules to the Gateway, matching hosts and directing inbound traffic to mesh services. Without it, the Gateway accepts connections but has no routes, so external traffic cannot reach workloads. Both components together satisfy the requirement for external ingress.

Why this answer

In Istio, the Gateway resource (option C) is the component that configures the ingress/egress load balancer at the edge of the mesh, binding a port and hosts (e.g., servers: port 80, hosts: "*") so external traffic can reach the mesh. The VirtualService (option B) is required to bind to that Gateway via its gateways field and define the routing rules (match and route) that direct the incoming external requests to the appropriate destination service inside the mesh. Together, Gateway + VirtualService form the standard ingress path: the Gateway opens the door and the VirtualService decides where traffic goes.

DestinationRule (A) only defines traffic policies like load balancing, connection pools, and subsets after routing occurs, so it is not required to admit external traffic. PeerAuthentication (D) configures mTLS authentication between workloads and does not expose services externally, and Sidecar (E) scopes sidecar proxy configuration per workload namespace rather than enabling ingress.

Exam trap

ICA often tests the misconception that a Gateway alone exposes a service — candidates forget that a VirtualService must bind to the Gateway to actually route external traffic to the backend.

11
MCQmedium

What is the purpose of the 'retryOn' field in a VirtualService?

A.To limit total attempts
B.To specify wait time
C.To specify conditions for retrying
D.To enable circuit breaking
AnswerC

The retryOn field lists the conditions, such as connect-failure, reset or gateway-error, that trigger Istio to retry a failed request to the destination. It defines when retries occur, while attempts and perTryTimeout govern how many and how long.

Why this answer

It specifies the conditions (e.g., 5xx, gateway-error) that trigger a retry.

12
MCQeasy

You need to expose a service to traffic outside the mesh using Istio. Which resource is required to configure the entry point for incoming traffic?

A.ServiceEntry
B.VirtualService
C.DestinationRule
AnswerD

A Gateway configures the ingress listener at the mesh edge, defining ports, hosts and TLS for incoming external traffic. It satisfies the stem's requirement to expose a service outside the mesh, with a VirtualService binding routes to it.

Why this answer

The Gateway resource describes a load balancer operating at the edge of the mesh.

13
MCQeasy

What is the purpose of the 'istio-system' namespace?

A.Ingress only
B.App storage
C.Control plane
D.Proxy logs
AnswerC

The istio-system namespace hosts Istio's control plane components, including istiod, which handles service discovery, configuration distribution, and certificate management. It is not where application workloads or data-plane sidecars run, so it satisfies the requirement for a dedicated namespace isolating control plane functions.

Why this answer

It contains the Istio control plane components.

14
MCQeasy

Where do you configure the hostnames that a Gateway should accept?

A.DestinationRule
B.ServiceEntry
D.VirtualService
AnswerC

Hostnames a Gateway should accept are defined in the Gateway's own listener configuration, where each listener specifies its hostname and certificate binding. Configuring them here satisfies the stem's requirement directly, since the Gateway resource itself holds the accepted-hostname settings rather than a separate policy or DNS record.

Why this answer

The Gateway resource in Istio is where you declare the hosts (and ports/protocols) that the ingress or egress gateway should accept traffic for. The 'hosts' field under 'servers' specifies which SNI/Host headers are allowed. VirtualService then binds routes to that gateway, but the host acceptance list lives on the Gateway itself.

Exam trap

ICA often tests the confusion between Gateway (which hosts/ports are accepted at the edge) and VirtualService (how requests are routed once accepted) — candidates frequently pick VirtualService because it 'feels' like the routing config.

How to eliminate wrong answers

Option A is wrong because DestinationRule defines traffic policies (load balancing, connection pools, outlier detection, TLS origination) for a service after routing, not which hosts a gateway accepts. Option B is wrong because ServiceEntry registers external services into the mesh registry so they can be referenced, but it does not configure gateway host acceptance. Option D is wrong because VirtualService defines routing rules (match/route) and references a gateway, but the list of accepted hostnames is declared on the Gateway resource, not the VirtualService.

15
MCQeasy

Which command helps troubleshoot configuration issues by analyzing the cluster for errors?

A.istioctl analyze
B.istioctl debug
C.istioctl check
D.kubectl describe
AnswerA

istioctl analyze inspects the cluster's Istio configuration resources and reports errors, warnings and misconfigurations, such as invalid virtual services or conflicting gateways. It directly satisfies the requirement to troubleshoot configuration issues by analysing the cluster for errors.

Why this answer

istioctl analyze scans for common misconfigurations in the cluster.

16
Multi-Selecthard

Which THREE features are supported by the Istio 'trafficPolicy' in a DestinationRule?

Select 3 answers
A.Connection pooling
B.Outlier detection
C.Traffic mirroring
E.Fault injection
AnswersA, B, D

Connection pooling is configured through the connectionPool settings within trafficPolicy, letting you cap HTTP/1.1 pending requests, HTTP/2 concurrent streams, and TCP connections per host. This satisfies the stem's requirement for a supported trafficPolicy feature, as these limits are applied to individual destination hosts.

Why this answer

In an Istio DestinationRule, the trafficPolicy field supports connection pooling (A) via the connectionPool settings that control TCP and HTTP connection limits, timeouts, and keepalive behavior for the destination. Outlier detection (B) is also part of trafficPolicy, configured under outlierDetection, and enables passive health checking by ejecting unhealthy hosts from the load-balancing pool. Load balancing (D) is supported through the loadBalancer field within trafficPolicy, allowing selection of algorithms such as ROUND_ROBIN, LEAST_REQUEST, RANDOM, or PASSTHROUGH.

Traffic mirroring (C) and fault injection (E) are not configured in DestinationRule trafficPolicy; they are defined in a VirtualService, where mirroring uses the mirror field and fault injection uses the faults field.

Exam trap

ICA often tests the boundary between VirtualService and DestinationRule — candidates frequently assume fault injection or mirroring live in trafficPolicy because they sound like traffic-shaping features, but they are VirtualService-level constructs.

17
MCQmedium

A team wants to perform a canary deployment by shifting 10% of traffic to a new version of their service. Which resource allows this weighting?

A.Sidecar
B.DestinationRule
D.VirtualService
AnswerD

Istio's VirtualService defines traffic routing rules, including weighted destinations that split requests between subsets. Specifying a 90/10 weight distribution across two versions achieves the canary rollout, which no other Istio resource exposes as a routing control.

Why this answer

VirtualService uses the weight field in the route block to distribute traffic percentages.

18
MCQmedium

To ensure traffic to a service is encrypted via mTLS, where should you verify the policy?

A.VirtualService
B.ServiceEntry
C.PeerAuthentication
AnswerC

PeerAuthentication defines the mTLS mode for workloads on the receiving side, so verifying it confirms traffic is encrypted. Its mtls mode enforces mutual TLS between sidecars, satisfying the requirement that service traffic is encrypted via mTLS.

Why this answer

PeerAuthentication defines mTLS settings for the mesh.

19
Multi-Selectmedium

Which THREE configurations affect the way traffic is distributed across pods?

Select 3 answers
A.Load balancer policy
B.Traffic weight
C.Subset definitions
D.Gateway port
E.Retry policy
AnswersA, B, C

Load balancer policy directly governs how incoming connections are spread across backend pods, satisfying the requirement for a traffic-distribution configuration. In Kubernetes, the Service's `externalTrafficPolicy` and `internalTrafficPolicy` settings determine whether traffic is routed to all endpoints cluster-wide or only to pods on the receiving node, altering distribution behaviour.

Why this answer

In Istio traffic management, the load balancer policy (option A) directly controls how requests are distributed across the healthy endpoints of a service — for example ROUND_ROBIN, LEAST_REQUEST, RANDOM, or PASSTHROUGH — so it is a core determinant of pod traffic distribution. Traffic weight (option B) is used in VirtualService route rules to split a percentage of requests between destination subsets, which changes how much traffic each group of pods receives. Subset definitions (option C) group pods by labels (e.g., version: v1 vs v2) and are the targets that weights and route rules reference, so they shape which pods participate in the distribution.

Gateway port (option D) only defines the ingress listener port on the gateway and does not influence how traffic is balanced across pods. Retry policy (option E) governs how failed requests are retried, not how the initial traffic is distributed among pod endpoints.

20
Multi-Selecthard

Which THREE are valid load balancing policies in Istio?

Select 3 answers
A.FAILOVER
B.RANDOM
C.LEAST_CONN
D.STICKY
E.ROUND_ROBIN
AnswersB, C, E

RANDOM is a valid Istio load balancing policy, distributing requests across healthy endpoints without weighting. It satisfies the question's requirement for a genuine Istio policy, alongside ROUND_ROBIN and LEAST_REQUEST. Istio also offers PASSTHROUGH and consistent hash-based options, but RANDOM remains a core supported policy.

Why this answer

Istio's DestinationRule trafficPolicy.loadBalancer.simple field supports a fixed set of algorithms, and RANDOM (B), LEAST_CONN (C), and ROUND_ROBIN (E) are all valid values in that enum, so each is a legitimate load balancing policy. RANDOM (B) picks a random healthy endpoint, LEAST_CONN (C) selects the endpoint with the fewest active connections, and ROUND_ROBIN (E) cycles through endpoints in order. FAILOVER (A) is not an Istio load balancing policy; failover behavior is handled through outlier detection and locality/priority settings rather than a load balancer type.

STICKY (D) is also not a valid value; session affinity in Istio is configured separately via consistent hash-based load balancing (e.g., HTTP cookie, header, or source IP), not as a simple policy named STICKY.

21
Multi-Selectmedium

Which actions can a VirtualService perform on a request? (Choose TWO)

Select 2 answers
A.route
B.scale
C.headers
D.filter
E.replicate
AnswersA, C

A VirtualService can route requests, matching on host, path, headers or other attributes and directing traffic to destination subsets or versions. Routing is one of its core request-handling actions, satisfying the question's requirement alongside fault injection, redirects and rewrites.

Why this answer

In Istio, a VirtualService defines how requests are routed to a service within the mesh, and its core capabilities include the route action (option A), which specifies destination hosts, subsets, and weights for matching traffic, and the headers action (option C), which allows modification of request and response headers via header manipulation rules. Both route and headers are valid top-level HTTP route actions in the VirtualService specification, making A and C correct for this scenario. The scale action (option B) is not part of VirtualService; scaling is handled by Kubernetes workload resources such as Deployments or HorizontalPodAutoscalers.

The filter action (option D) is not a VirtualService action; traffic filtering is achieved through route match conditions or EnvoyFilter resources. The replicate action (option E) does not exist in the VirtualService API; traffic mirroring is instead configured using the mirror and mirrorPercentage fields under a route.

22
MCQeasy

Which command lists all virtual services in the current namespace?

A.kubectl get virtualservices
B.istioctl virtualservices
C.istioctl get vs
D.istioctl list virtualservice
AnswerA

kubectl get virtualservices queries the Kubernetes API for VirtualService custom resources in the active namespace, listing them in a table. It satisfies the listing requirement because VirtualServices are Kubernetes CRDs, so kubectl, not istioctl, performs namespace-scoped resource enumeration.

Why this answer

kubectl get virtualservices is the standard command to list this CRD.

23
MCQmedium

You want to limit the number of concurrent connections to a service. Which field in the DestinationRule handles this?

A.connectionPool
B.outlierDetection
C.loadBalancer
D.portLevelSettings
AnswerA

The `connectionPool` field in a DestinationRule defines TCP and HTTP connection limits, including `maxConnections` and `http1MaxPendingRequests`, which cap concurrent connections to the service. This directly satisfies the requirement to limit concurrent connections, unlike traffic policy fields governing load balancing or outlier detection.

Why this answer

The connectionPool field in the trafficPolicy allows setting maxConnections for circuit breaking.

24
Multi-Selectmedium

Which TWO actions can a VirtualService perform on a request?

Select 2 answers
A.Throttle bandwidth
B.Define mTLS mode
C.Rewrite URI
D.Redirect request
E.Encrypt traffic
AnswersC, D

VirtualService traffic routing rules can rewrite the request URI before forwarding, altering the path or host the destination workload receives. This is distinct from header manipulation or retries, which are separate actions within the same routing configuration.

Why this answer

Option C (Rewrite URI) is correct because an Istio VirtualService supports the `rewrite` field under `http` routes, allowing the request's URI or authority to be rewritten before forwarding to the destination, e.g., `rewrite: uri: /v1/...`. Option D (Redirect request) is correct because a VirtualService supports the `redirect` field, which returns an HTTP redirect (with `uri`, `authority`, and `redirectCode` such as 301 or 302) instead of routing the request to a backend. The other options do not belong: bandwidth throttling (A) is not a VirtualService capability (it would be handled by traffic-shaping tools or Envoy rate limiting/filters), mTLS mode (B) is configured via PeerAuthentication and DestinationRule, and traffic encryption (E) is handled by mTLS at the transport layer, not by VirtualService routing rules.

Exam trap

The trap here is conflating VirtualService (L7 routing/rewrite/redirect) with PeerAuthentication (mTLS) and DestinationRule (TLS origination, load balancing) — candidates pick 'define mTLS mode' or 'encrypt traffic' because those sound like service-mesh features, but they belong to different Istio CRDs.

25
Multi-Selecthard

Which of the following are valid DestinationRule fields? (Choose THREE)

Select 3 answers
A.redirect
B.host
C.trafficPolicy
D.subsets
E.match
AnswersB, C, D

`host` is a required DestinationRule field, specifying the destination service's fully qualified domain name or short name that traffic policies apply to. It satisfies the stem's demand for valid DestinationRule fields, since every DestinationRule must declare which service it governs before defining subsets, load-balancing or connection-pool settings.

Why this answer

In Istio's networking API, a DestinationRule is defined by the fields host, trafficPolicy, and subsets, so options B, C, and D are correct. The host field (B) is required and specifies the name of the service (or the Kubernetes service FQDN) to which the routing rules apply. The trafficPolicy field (C) defines policies such as load balancing, connection pool settings, outlier detection, and TLS settings applied to traffic to that host.

The subsets field (D) defines named subsets of the service's endpoints (via labels) so that VirtualService routes can direct traffic to specific versions. Options A (redirect) and E (match) are not DestinationRule fields: redirect is a route action used in VirtualService HTTP/TCP route destinations, and match is used in VirtualService route matching conditions, not in DestinationRule.

Exam trap

ICA often tests whether candidates can distinguish DestinationRule fields (host, trafficPolicy, subsets) from VirtualService fields (match, redirect, route), since both resources are commonly edited together.

26
MCQhard

You want to perform a 'headers' modification on an incoming request. Which resource allows this?

A.DestinationRule
B.EnvoyFilter
D.VirtualService
AnswerD

VirtualService HTTP route rules expose a headers field supporting request and response manipulation, including set, add and remove operations. This is the only Istio resource that rewrites incoming request headers before forwarding to the destination.

Why this answer

VirtualService allows header manipulation (add, remove, replace) in the route action.

27
MCQmedium

To strip a URL prefix before passing a request to a backend service, which field do you use?

A.prefix
B.rewrite
C.path
D.redirect
AnswerB

The rewrite field strips or replaces a matched URL prefix before forwarding the request upstream, so the backend receives the path it expects. This satisfies the requirement to remove the prefix without altering the client-facing route.

Why this answer

The rewrite field in a VirtualService can modify the URI path.

28
Multi-Selecthard

Which are valid match conditions in VirtualService? (Choose THREE)

Select 3 answers
A.headers
B.timeout
C.uri
D.weight
E.port
AnswersA, C, E

Headers match on HTTP request header values, satisfying the stem's requirement for valid VirtualService match conditions. Istio evaluates them alongside URI, method, and source labels within the match block, enabling routing decisions based on custom or standard headers such as authorisation tokens or content type.

Why this answer

In Istio's VirtualService, the HTTPMatchRequest object defines the conditions used to select which route applies to a request, and its valid fields include headers (A), uri (C), and port (E). Option A (headers) is correct because HTTPMatchRequest supports a headers map that matches request headers by exact, prefix, or regex value. Option C (uri) is correct because uri is a core match field supporting exact, prefix, and regex matching on the request path.

Option E (port) is correct because HTTPMatchRequest includes a port field that matches the destination port number of the request. Option B (timeout) is not a match condition; it is a route-level setting that specifies how long to wait for a response before aborting. Option D (weight) is not a match condition either; it is a destination-level field used to distribute traffic across subsets in a weighted route.

29
MCQhard

How do you implement a circuit breaker to eject a pod that returns 5xx errors?

A.DestinationRule outlierDetection
B.PeerAuthentication
C.VirtualService fault injection
D.VirtualService retry policy
AnswerA

DestinationRule outlierDetection continuously analyses each endpoint's 5xx responses and ejects the offending pod from the load-balancing pool once consecutive failures breach the configured threshold, satisfying the requirement to remove misbehaving pods automatically. Istio's Envoy sidecars enforce this at the data plane, so no application code changes are needed.

Why this answer

Circuit breaking in Istio is implemented via DestinationRule's outlierDetection field, which configures Envoy's outlier detection to eject endpoints that return consecutive 5xx errors (or gateway errors) from the load balancing pool for a specified interval. The key parameters are consecutive5xxErrors, interval, baseEjectionTime, and maxEjectionPercent. This is the canonical Istio mechanism for passive health checking and circuit breaking at the destination level.

Exam trap

ICA often tests whether candidates confuse the three Istio traffic-management resources — VirtualService (routing, retries, fault injection), DestinationRule (LB, outlier detection, mTLS), and PeerAuthentication (mTLS) — so the trap is picking VirtualService retry or fault injection when the question asks about ejecting unhealthy endpoints.

How to eliminate wrong answers

Option B is wrong because PeerAuthentication configures mutual TLS (mTLS) mode between workloads — it has nothing to do with ejecting unhealthy endpoints based on HTTP error codes. Option C is wrong because VirtualService fault injection deliberately introduces delays or aborts to test resilience; it does not detect or eject failing pods. Option D is wrong because VirtualService retry policy retries failed requests but does not remove the failing endpoint from the load balancing pool — retries alone will keep hitting the bad pod.

30
MCQmedium

You want to access an external API (e.g., api.google.com) from within your mesh. What must you configure?

A.DestinationRule
B.ServiceEntry
C.VirtualService
D.EnvoyFilter
AnswerB

ServiceEntry registers external hosts in Istio's internal service registry, letting mesh sidecars resolve and route to api.google.com. Without it, the sidecar's outbound traffic policy blocks unknown external destinations, so this satisfies the requirement to reach an external API.

Why this answer

ServiceEntry allows adding entries to the Istio internal service registry for external endpoints.

31
MCQhard

You need to inspect the envoy config for a specific pod. Which command do you use?

A.istioctl get config
B.kubectl get proxy
C.istioctl proxy-config all
D.istioctl inspect
AnswerC

`istioctl proxy-config all` dumps every Envoy configuration category — clusters, listeners, routes, endpoints and secrets — for the named pod's sidecar, satisfying the requirement to inspect the full envoy config. Unlike narrower subcommands such as `cluster` or `listener`, `all` returns the complete configuration in one pass.

Why this answer

istioctl proxy-config all <pod-name> shows all configuration for that proxy.

32
Multi-Selecteasy

Which THREE are types of traffic management patterns?

Select 3 answers
A.Canary deployment
B.Circuit breaking
C.Traffic mirroring
D.Namespace isolation
E.Database sharding
AnswersA, B, C

Canary deployment is a traffic management pattern that shifts a small percentage of live traffic to a new version, then gradually increases it. This progressive rollout limits blast radius, matching the question's requirement for a recognised traffic management pattern.

Why this answer

Canary deployment (A) is a traffic management pattern in which a small percentage of live traffic is routed to a new version of a service so its behavior can be validated before a full rollout, typically implemented via weighted routing in a service mesh or load balancer. Circuit breaking (B) is a traffic management pattern that monitors failure rates and, once a threshold is exceeded, trips the circuit to stop sending requests to an unhealthy backend, preventing cascading failures and allowing recovery. Traffic mirroring (C) is a traffic management pattern that duplicates production traffic (often via shadowing in Istio or AWS VPC Traffic Mirroring) and sends a copy to a test or analysis target without affecting the original request path.

Namespace isolation (D) is a Kubernetes organizational and security construct for scoping resources, RBAC, and network policies, not a traffic management pattern. Database sharding (E) is a data partitioning/scalability technique that distributes rows across multiple databases, not a pattern for managing service traffic.

33
Multi-Selectmedium

Which of the following are valid traffic management components in Istio? (Choose TWO)

Select 2 answers
A.ClusterRole
B.Deployment
C.VirtualService
D.ServiceAccount
E.DestinationRule
AnswersC, E

VirtualService defines how requests are routed to a service within Istio's traffic management API, specifying matching rules and destinations. It is a core traffic management component, satisfying the question's requirement for valid Istio traffic management resources.

Why this answer

VirtualService (C) is a core Istio traffic management resource that defines how requests are routed to a service in the mesh, including match conditions, retries, timeouts, fault injection, and traffic splitting rules. DestinationRule (E) is also a core Istio traffic management resource that configures policies applied after routing, such as load balancing algorithms, connection pool settings, outlier detection, and subsets used by VirtualService routes. Together, VirtualService and DestinationRule form the standard Istio routing pair for controlling traffic behavior.

The other options are Kubernetes resources, not Istio traffic management components: ClusterRole (A) and ServiceAccount (D) are RBAC/identity objects, and Deployment (B) is a workload controller for managing pods.

34
MCQeasy

What protocol does the Gateway resource support?

A.Only HTTP
B.Only TCP
C.HTTP, HTTPS, GRPC, and TCP
D.Only TLS
AnswerC

The Kubernetes Gateway resource models Layer 4 and Layer 7 routing, so listeners can be configured for HTTP, HTTPS, GRPC and TCP traffic. This protocol set satisfies the requirement to expose both web and raw TCP services through one gateway.

Why this answer

Gateways support HTTP, HTTPS, GRPC, and TCP protocols.

35
MCQeasy

Which resource is used to provide a unified entry point for multiple services?

A.ServiceEntry
C.VirtualService
D.EnvoyFilter
AnswerB

A gateway consolidates access to several backend services behind one address, giving clients a single, unified entry point rather than separate endpoints. It satisfies the stem's requirement for one entry point by routing and translating requests to the appropriate service, unlike a proxy that typically forwards to a single destination.

Why this answer

An Istio Gateway provides a unified entry point for multiple services by configuring a load balancer at the edge of the mesh to accept inbound HTTP/TCP traffic and route it to VirtualServices. A single Gateway resource can host multiple VirtualService bindings, each routing different hostnames or paths to different backend services, making it the canonical 'north-south' entry point in Istio.

Exam trap

ICA often tests whether candidates can distinguish the roles of Gateway (entry point/listener), VirtualService (routing rules), and ServiceEntry (external service registration), so the trap is picking VirtualService because it 'routes traffic' — but routing rules alone do not create an entry point.

How to eliminate wrong answers

Option A is wrong because ServiceEntry is used to register external services (outside the mesh) into Istio's service registry so mesh workloads can route to them — it is not an ingress entry point. Option C is wrong because VirtualService defines routing rules (hosts, match conditions, destinations) but must be bound to a Gateway or sidecar to actually receive traffic; it is not itself an entry point. Option D is wrong because EnvoyFilter is a low-level escape hatch for patching Envoy configuration (listeners, clusters, HTTP filters) and does not provide a service entry point.

36
MCQmedium

You need to ensure that traffic is only routed to healthy pods. What feature does this?

A.DestinationRule outlierDetection
B.ServiceEntry registry
C.PeerAuthentication
D.VirtualService weight
AnswerA

DestinationRule outlierDetection continuously ejects pods that return consecutive 5xx errors or fail health checks, removing them from the load-balancing pool so traffic reaches only healthy endpoints. This directly satisfies the stem's requirement to route traffic exclusively to healthy pods, unlike liveness probes, which merely restart containers without influencing routing decisions.

Why this answer

Outlier detection in DestinationRule ejects unhealthy hosts from the load balancing pool.

37
MCQmedium

How do you specify a header-based match in a VirtualService?

A.In the 'subset' policy
B.In the 'destination' block
C.In the 'subset' definition
D.In the 'match' block
AnswerD

Header-based matching is expressed inside the match block of an HTTP route, using a headers list with exact, prefix or regex matchers. This satisfies routing decisions based on request headers rather than URI or method alone.

Why this answer

Header-based matching in Istio is configured inside the 'match' block of a VirtualService HTTP route, using the 'headers' field with a key and a StringMatch (exact, prefix, or regex). The match block is the conditional gate that determines which route applies to an incoming request. This is the canonical location for all request-matching criteria, including headers, URI, method, query params, and source labels.

Exam trap

ICA often tests whether candidates know that header matching belongs in the VirtualService 'match' block, not in DestinationRule subsets or the destination stanza — mixing up where routing predicates live is the classic error.

How to eliminate wrong answers

Option A is wrong because 'subset' is not a policy block — subsets are named endpoint groupings defined in a DestinationRule, and they have no matching logic. Option B is wrong because the 'destination' block specifies where matched traffic goes (host, subset, port), not how to match it. Option C is wrong because a subset definition lives in DestinationRule and only labels endpoints; it cannot express header conditions.

Option D is correct because the 'match' block is where all request predicates, including headers, are declared.

38
Multi-Selecthard

Which THREE settings are required in a VirtualService for a canary deployment?

Select 3 answers
A.tcp
B.http routes
C.tls
D.weight
E.hosts
AnswersB, D, E

The http routes block is mandatory: it defines the match conditions and destination subsets that split traffic between stable and canary versions. Without it, the VirtualService has no routing rules to weight, so canary splitting cannot occur.

Why this answer

In an Istio VirtualService, a canary deployment is expressed through HTTP routing rules, so option B (http routes) is required because the http stanza holds the match and route entries that split traffic between the stable and canary subsets. Option D (weight) is required because each route destination must carry a weight value (for example 90/10) so the mesh can distribute traffic proportionally between the two versions. Option E (hosts) is required because the VirtualService must declare the destination hosts (the service DNS names, such as reviews.prod.svc.cluster.local) that the routing rules apply to.

Options A (tcp) and C (tls) are not required here: tcp and tls are alternative protocol-specific stanzas used for TCP or TLS routing, and a canary deployment based on HTTP traffic does not need them.

Exam trap

The trap is selecting tcp or tls as required fields because they appear in VirtualService documentation — but they are alternative protocol blocks, not components of an HTTP canary.

39
MCQmedium

What is the function of the 'weight' parameter in a VirtualService route?

A.To specify the TTL of a request
B.To split traffic between multiple destinations
C.To limit bandwidth usage
D.To set the priority of a rule
AnswerB

Weight assigns a relative proportion of traffic to each destination within a single route block, letting you split requests across multiple subsets or hosts. This satisfies the stem's requirement by distributing load between several destinations rather than sending all traffic to one.

Why this answer

Weight determines the percentage of traffic directed to a specific destination.

40
MCQhard

You want to limit the total number of concurrent connections to a service. Where is this defined?

A.DestinationRule
B.AuthorizationPolicy
D.VirtualService
AnswerA

DestinationRule defines connection pool limits under its trafficPolicy, using tcp.maxConnections to cap concurrent TCP connections to a service. This directly satisfies the stem's requirement to limit total concurrent connections, since the setting is enforced per destination host by Envoy sidecars.

Why this answer

connectionPool settings in the DestinationRule control connection limits.

41
Multi-Selectmedium

Which of these are valid sub-commands for istioctl? (Choose TWO)

Select 2 answers
A.restart
B.analyze
C.proxy-config
D.start
E.debug
AnswersB, C

The analyze sub-command inspects a live cluster or configuration files for misconfigurations, reporting warnings and errors. It validates Istio resources against best practise, making it a genuine istioctl sub-command used for diagnosing broken mesh configuration.

Why this answer

Option B, analyze, is a valid istioctl sub-command: `istioctl analyze` performs configuration analysis on Istio resources and reports potential issues such as misconfigurations or deprecated fields. Option C, proxy-config, is also valid: `istioctl proxy-config` (often abbreviated `pc`) retrieves Envoy configuration from a sidecar or gateway, with subcommands like `cluster`, `listener`, `route`, `endpoint`, and `bootstrap`. The other options are not istioctl sub-commands: restart and start are not provided by istioctl (workload restarts are done via kubectl or by deleting pods), and debug, while istioctl has diagnostic commands such as `proxy-status` and `experimental`, is not a valid top-level sub-command.

42
Multi-Selecthard

Which parameters can be configured in a VirtualService retry policy? (Choose TWO)

Select 2 answers
A.maxConnections
B.attempts
C.connectionPool
D.outlierDetection
E.perTryTimeout
AnswersB, E

The `attempts` parameter sets how many times Envoy re-tries a failed request before returning an error to the caller, satisfying the stem's requirement for configurable retry-policy parameters. Istio's VirtualService retry block exposes `attempts` alongside `perTryTimeout` and `retryOn`, so it is directly configurable.

Why this answer

In Istio's VirtualService HTTP retry policy, the retry block supports fields such as attempts, perTryTimeout, retryOn, and retryRemoteLocalities, so option B (attempts) is correct because it specifies the maximum number of retry attempts for a failed request, and option E (perTryTimeout) is correct because it sets the timeout for each individual retry attempt. The other options do not belong to the retry policy: maxConnections (A) and connectionPool (C) are DestinationRule traffic-policy settings controlling connection limits, and outlierDetection (D) is a DestinationRule setting for ejecting unhealthy hosts from the load-balancing pool.

Exam trap

The trap is mixing VirtualService retry fields with DestinationRule connection-pool and outlier-detection fields; the exam expects you to know which resource owns which parameter.

43
MCQhard

Your team runs a payments service in the 'prod' namespace with a Kubernetes Service named 'payments' listening on port 8443. During a canary rollout you created a Gateway 'payments-gw' in the 'istio-system' namespace and a VirtualService 'payments-vs' in the 'prod' namespace that references the gateway as 'payments-gw'. Clients report HTTP 404 errors when calling the service, but the sidecar-injected payments pods show healthy endpoints and the Gateway pod logs report 'no matching route'. Which change resolves the routing failure?

A.Move the payments-vs VirtualService into the istio-system namespace.
B.Add 'exportTo: ["*"]' to the payments-vs VirtualService.
C.Add a 'hosts' entry for 'payments.prod.svc.cluster.local' to the payments-gw Gateway.
D.Change the VirtualService gateway reference to 'istio-system/payments-gw'.
AnswerD

Gateway references in a VirtualService are resolved as '<namespace>/<name>' when the Gateway lives in a different namespace than the VirtualService. Because payments-vs is in 'prod' and payments-gw is in 'istio-system', the short name only resolves within the VirtualService's own namespace, so the Gateway never binds the route and clients receive 404. Qualifying the reference with the Gateway's namespace binds the route correctly.

Why this answer

A VirtualService binds to a Gateway by name, and that name is resolved relative to the VirtualService's own namespace. When the Gateway is in a different namespace, the reference must be fully qualified as '<gateway-namespace>/<gateway-name>'. Because the Gateway and VirtualService here live in different namespaces, the unqualified reference fails to bind, so the Gateway has no route and returns 404.

Qualifying the reference restores the binding.

Exam trap

The trap here is assuming a short Gateway name resolves cluster-wide, when it is actually scoped to the VirtualService's own namespace unless explicitly qualified.

44
MCQmedium

A platform engineer is migrating a legacy service into the mesh. The service exposes an HTTP API on port 8080 but also a raw TCP admin port on 9090. The engineer wants the sidecar to treat port 8080 as HTTP so that Istio can apply request-level routing, while treating port 9090 as opaque TCP. Which configuration achieves this?

A.Set the environment variable ISTIO_META_PROTOCOL=HTTP on the application container so the sidecar reads it during injection.
B.Add a DestinationRule that sets trafficPolicy.portLevelSettings with protocol: HTTP for 8080 and protocol: TCP for 9090.
C.Annotate the pod with sidecar.istio.io/inject=true and set the protocol using the Service port name prefix, such as http-api for 8080 and tcp-admin for 9090.
D.Create a VirtualService that lists both ports and set the tls.match.sniHosts field for 9090 to force TCP handling.
AnswerC

Istio infers the protocol for a Service port from the port name prefix (http-, tcp-, grpc-, etc.), so naming 8080 http-api and 9090 tcp-admin makes the sidecar apply HTTP parsing to one and opaque TCP handling to the other. This is the standard, supported way to declare per-port protocol on a Kubernetes Service without extra configuration.

Why this answer

Istio's sidecar determines how to handle a port primarily from the Service port name prefix or the appProtocol field. Naming port 8080 with an http- prefix enables HTTP-aware routing and metrics, while naming 9090 with tcp- keeps it as opaque TCP. The other approaches either reference fields that do not exist or place protocol information where the control plane does not read it.

Exam trap

The trap here is assuming any Istio resource can declare a port's protocol, when in fact protocol selection happens through Service port naming or appProtocol.

45
Multi-Selectmedium

Which of the following are valid Gateway configurations? (Choose TWO)

Select 2 answers
A.servers
B.subsets
C.selector
D.retry
E.endpoints
AnswersA, C

"Servers" is a valid Gateway configuration because Istio's ingress gateway can run directly on bare-metal or virtual machines, not only as a Kubernetes pod. This satisfies the stem's requirement for valid deployment targets, since the gateway workload may be hosted on standalone servers outside a cluster.

Why this answer

In Istio's Gateway resource, the `servers` field (option A) is a valid top-level configuration that defines the ports, protocols, hosts, and TLS settings the gateway listens on, making it a required part of any Gateway spec. The `selector` field (option C) is also valid and specifies which Envoy proxy pods (via label matching, e.g., `istio: ingressgateway`) should apply the gateway configuration. Options B (`subsets`) and E (`endpoints`) belong to DestinationRule and Service/Endpoint resources respectively, not Gateway, and option D (`retry`) is a traffic-policy setting found in VirtualService or DestinationRule, so none of these are valid Gateway fields.

46
MCQmedium

Which load balancing policy would you choose to ensure requests from the same user always hit the same pod?

A.LEAST_CONN
B.consistentHash
C.ROUND_ROBIN
D.PASSTHROUGH
AnswerB

consistentHash hashes a chosen request attribute, such as a cookie or source IP, so the same user consistently maps to the same pod, satisfying the requirement that requests from one user always reach the same pod.

Why this answer

Consistent hashing based on a header or cookie ensures session stickiness.

47
Multi-Selecteasy

Which TWO resources are essential for configuring traffic splitting between versions?

Select 2 answers
A.VirtualService
B.ServiceEntry
C.Sidecar
E.DestinationRule
AnswersA, E

A VirtualService defines the routing rules that distribute requests across versioned workloads, satisfying the requirement to split traffic between versions. It matches on hosts, paths and headers, then weights destinations to specific subsets, so percentage-based canary or blue-green distribution becomes possible when paired with a DestinationRule.

Why this answer

In Istio, traffic splitting between versions is implemented by defining weighted routing rules in a VirtualService (option A), whose HTTP route entries specify multiple destinations with weights that sum to 100 for the version subsets. Those subsets must be declared in a DestinationRule (option E), which uses labels to define named subsets such as v1 and v2 that the VirtualService weights reference. Without the DestinationRule subsets, the VirtualService has no version-specific destinations to split traffic across, so both resources are essential.

ServiceEntry (B) is only needed to register external or non-mesh hosts, Sidecar (C) scopes sidecar proxy configuration, and Gateway (D) handles ingress/egress edge traffic, none of which are required for internal version-based traffic splitting.

48
MCQhard

A VirtualService is not correctly routing traffic to a new version. Which tool helps verify the actual route configuration loaded in the proxy?

A.istioctl describe
B.istioctl analyze
C.kubectl logs
D.istioctl proxy-config routes
AnswerD

istioctl proxy-config routes queries the Envoy admin API and prints the route configuration currently loaded in a specific sidecar. This satisfies the constraint of verifying actual routes, revealing whether the VirtualService changes were pushed and how they were translated.

Why this answer

istioctl proxy-config routes displays the routing table as understood by the Envoy proxy.

49
MCQmedium

You want to inject a 5-second delay into requests for testing. Which resource allows this?

A.VirtualService
B.Sidecar
C.EnvoyFilter
D.DestinationRule
AnswerA

VirtualService supports fault injection, including a fixed delay applied to matching requests. Specifying a five-second delay in the http fault block makes Envoy hold each matching request, satisfying the testing requirement without changing application code.

Why this answer

A VirtualService is the Istio resource that defines traffic routing rules, including fault injection. The 'fault' stanza with 'delay' (fixedDelay or exponentialDelay) injects latency into requests matching the route, which is exactly what's needed to simulate a 5-second delay for chaos/resilience testing. This is a first-class VirtualService capability, not something you configure in DestinationRule or Gateway.

Exam trap

ICA often tests the confusion between VirtualService and DestinationRule — candidates must remember that routing and fault injection live in VirtualService, while LB/TLS/connection pooling live in DestinationRule.

How to eliminate wrong answers

Option B is wrong because Sidecar only scopes which services a proxy can reach (namespace/registry configuration) — it has no fault injection capability. Option C is wrong because EnvoyFilter patches raw Envoy config and could theoretically inject delay, but it is a low-level escape hatch, not the intended resource for fault injection and far more error-prone. Option D is wrong because DestinationRule configures load balancing, connection pool settings, outlier detection, and TLS — not request delays.

Option E is wrong because Gateway only handles ingress/egress listener configuration (ports, hosts, TLS), not per-request fault behavior.

50
Multi-Selecthard

Which THREE fields are found within the 'trafficPolicy' block of a DestinationRule?

Select 3 answers
A.loadBalancer
B.retries
C.connectionPool
D.mirroring
E.outlierDetection
AnswersA, C, E

The `trafficPolicy` block accepts `loadBalancer`, which configures how Istio distributes requests across a service's endpoints — for example `ROUND_ROBIN`, `LEAST_REQUEST` or `RANDOM`. This satisfies the stem's requirement for a genuine trafficPolicy field, since load balancing policy is defined there rather than in the DestinationRule's top-level spec.

Why this answer

The trafficPolicy block of an Istio DestinationRule supports loadBalancer (A), which defines how requests are distributed across the endpoints of the destination (e.g., ROUND_ROBIN, LEAST_REQUEST, RANDOM, PASSTHROUGH); connectionPool (C), which configures TCP and HTTP connection limits such as maxConnections, http1MaxPendingRequests, and http2MaxRequests; and outlierDetection (E), which enables passive health checking by ejecting unhealthy hosts based on consecutive errors (consecutive5xxErrors, interval, baseEjectionTime). These three are all valid top-level fields nested directly under trafficPolicy in the DestinationRule spec. The retries field (B) is not part of DestinationRule trafficPolicy; retry behavior is configured via a VirtualService's HTTP route retries block.

The mirroring field (D) is likewise not in DestinationRule trafficPolicy; traffic mirroring is defined in a VirtualService HTTP route using the mirror and mirrorPercentage fields.

Exam trap

ICA often tests the distinction between VirtualService and DestinationRule features, causing candidates to incorrectly assign retries or mirroring to DestinationRule's trafficPolicy.

51
MCQeasy

Where do you define the hosts that a Gateway will listen on?

B.ServiceEntry
C.DestinationRule
D.VirtualService
AnswerA

The Gateway resource's servers block declares the hosts, port and TLS settings the ingress or egress proxy listens on. This satisfies the stem directly: host definitions belong to the Gateway, while routing rules referencing that gateway live in the VirtualService.

Why this answer

The hosts field inside the servers block of a Gateway resource defines the hostnames.

52
MCQeasy

To perform a canary deployment, you have two versions of a service. Which resource do you use to split traffic between them?

A.DestinationRule
C.Sidecar
D.VirtualService
AnswerD

Istio's VirtualService defines routing rules, including weighted destination subsets, so you can direct a percentage of traffic to the canary version and the remainder to the stable one. DestinationRule merely defines those subsets; the VirtualService performs the actual traffic split.

Why this answer

In Istio, the VirtualService resource defines routing rules that determine how requests are matched and distributed to destinations. To split traffic between two versions of a service for a canary deployment, you configure weighted routes (e.g., 90/10) inside a VirtualService's http route block, each pointing to a subset defined in a DestinationRule.

Exam trap

The trap here is confusing DestinationRule with VirtualService — candidates often assume the resource that defines subsets also performs the traffic split, when in fact VirtualService does the routing and DestinationRule only defines the subsets.

How to eliminate wrong answers

Option A is wrong because a DestinationRule defines policies that apply after routing has occurred — such as subsets, load balancing, and connection pool settings — but it does not itself split traffic between versions. Option B is wrong because a Gateway configures ingress/egress listeners at the edge of the mesh (ports, hosts, TLS) and does not perform traffic splitting between service versions. Option C is wrong because a Sidecar resource controls the scope of configuration pushed to sidecar proxies (namespace/port visibility), not traffic distribution.

53
MCQmedium

A DestinationRule is configured with a 'v1' subset but traffic is failing. Where should you check for the label match?

A.EnvoyFilter
B.VirtualService
C.DestinationRule spec
D.Gateway spec
AnswerC

The subset's label selector lives in the DestinationRule spec, under subsets[].labels. If those labels do not match the pod labels, no endpoints populate the subset and traffic fails, so that is where the match must be verified.

Why this answer

DestinationRule uses 'subsets' that map to 'labels' on Kubernetes pods.

54
MCQmedium

Which type of routing allows you to route to different services based on URL path?

A.DestinationRule
C.VirtualService
D.ServiceEntry
AnswerC

VirtualService HTTP route match rules support URI path conditions, directing requests to distinct destinations based on the URL path. This path-based routing capability is exactly what the scenario requires, unlike DestinationRule, which handles subsets and policies after routing is decided.

Why this answer

VirtualService 'match' can use 'uri' with 'prefix' or 'exact' matches to route to different services.

55
MCQmedium

Which resource type is used for mTLS policy?

A.PeerAuthentication
B.VirtualService
C.DestinationRule
AnswerA

PeerAuthentication enforces mutual TLS between workloads in the Istio mesh, satisfying the requirement for an mTLS policy resource. Its mtls mode setting (STRICT, PERMISSIVE or DISABLE) controls whether sidecar proxies accept only encrypted, certificate-authenticated connections, directly configuring transport-level authentication rather than authorisation or routing.

Why this answer

PeerAuthentication is the specific CRD for mTLS.

56
MCQhard

How do you specify a custom header match in a VirtualService?

A.Using a DestinationRule
B.Using a ServiceEntry
C.Using a Gateway
D.Using the match field in a VirtualService
AnswerD

The match field within an HTTP route accepts header criteria, letting you specify exact, prefix or regex matches on a named header. This satisfies the stem's requirement for defining custom header matching in a VirtualService.

Why this answer

The match block within a VirtualService route supports header matching using the headers key.

57
MCQhard

You want to inject a fault to test application resilience. Which field in the VirtualService supports this?

A.weight
B.fault
C.retry
D.mirror
AnswerB

The fault field injects delays or aborts into a percentage of requests at the Envoy proxy, directly satisfying the resilience-testing requirement without touching application code. Other VirtualService fields handle routing, retries and mirroring, but only fault deliberately corrupts traffic.

Why this answer

The fault field in the route block allows for abort or delay injection.

58
MCQhard

You need to route traffic to a service based on the 'x-user-type' header. How is this defined?

A.ServiceEntry
B.DestinationRule subset
C.Gateway host
D.VirtualService match
AnswerD

A VirtualService match inspects HTTP headers directly, so an exact or regex match on `x-user-type` routes requests to the appropriate destination. This satisfies the stem's requirement to route by that header, unlike host- or path-based rules, which cannot discriminate on arbitrary request headers.

Why this answer

The match field in a VirtualService can include a 'headers' condition with exact or regex matching.

59
MCQhard

You have an external dependency that is not in the Kubernetes registry. How do you allow the mesh services to communicate with it?

A.Create a VirtualService
B.Create a ServiceEntry
C.Create an EnvoyFilter
D.Create a DestinationRule
AnswerB

A ServiceEntry adds the external dependency to Istio's internal service registry, giving mesh sidecars the DNS name, endpoints and ports needed to route traffic to it. This directly satisfies the stem's constraint: the dependency is absent from the Kubernetes registry, so mesh services cannot otherwise resolve or reach it.

Why this answer

A ServiceEntry adds an external service to Istio's internal service registry, giving it a mesh-internal hostname, ports, and resolution mode. Once registered, mesh sidecars can route to the external dependency through Istio's traffic management (with policies, TLS origination, etc.). This is the canonical way to allow egress to services not in the Kubernetes registry.

Exam trap

ICA often tests the misconception that VirtualService or DestinationRule can register external services, when only ServiceEntry adds entries to Istio's service registry.

How to eliminate wrong answers

Option A is wrong because a VirtualService defines routing rules for hosts already known to Istio; it cannot introduce a new external host into the registry by itself. Option C is wrong because EnvoyFilter patches the underlying Envoy configuration directly — it is a low-level escape hatch, not the supported mechanism for registering external services. Option D is wrong because DestinationRule applies traffic policy (load balancing, TLS, outlier detection) to a host that must already exist in the registry; it does not create the registry entry.

60
MCQeasy

What is the command to view the status of all pods including proxies?

A.kubectl get pods
B.istioctl pods
C.istioctl status
D.kubectl describe proxy
AnswerA

kubectl get pods lists every pod in the namespace, and because each sidecar-injected pod appears as a single pod with its proxy container, this command shows all pods including proxies. It satisfies the stem's requirement to view status across pods and their injected proxies.

Why this answer

In Istio, sidecar proxies run as containers inside the application pods, so they appear as additional containers in the pod's status. The standard Kubernetes command kubectl get pods shows each pod's status, including the number of ready containers (e.g., 2/2 when both the app and the istio-proxy sidecar are ready), which is how you verify proxy health alongside the app.

Exam trap

The trap is reaching for an istioctl command to list pods; the exam tests whether you know that sidecars are just containers, so the ordinary kubectl get pods command is the correct way to see their status.

How to eliminate wrong answers

Option B is wrong because istioctl pods is not a valid istioctl subcommand — istioctl operates on configuration and proxy state, not on listing pods. Option C is wrong because istioctl status reports the status of the Istio control plane components (istiod, ingress gateways), not the application pods and their sidecars. Option D is wrong because kubectl describe proxy is not a valid resource type; kubectl describe works on real resources like pods, and there is no 'proxy' resource to describe.

61
MCQhard

You need to define a local service that is not in the cluster. How?

A.DestinationRule
B.VirtualService
D.ServiceEntry
AnswerD

ServiceEntry adds external endpoints to Istio's internal registry, letting sidecars route to a service outside the mesh. It satisfies the stem's constraint of defining a local service absent from the cluster: the entry registers the hostname, address and ports, so Envoy treats the external destination as mesh-local.

Why this answer

ServiceEntry with location: MESH_INTERNAL allows defining services that are technically outside the K8s registry but internal to the mesh.

62
MCQmedium

A team wants to shift 10 percent of traffic to a new version of a service for a canary, while keeping 90 percent on the stable version. Both versions are healthy and registered as subsets in a DestinationRule. Which VirtualService configuration accomplishes this?

A.Define an http.route with two destinations, weight 90 for the stable subset and weight 10 for the canary subset.
B.Add two http.match entries with a uri.prefix of / and different fault percentages for each subset.
C.Create two separate Gateways, one for each subset, and use DNS weighting to send most client traffic to the stable Gateway.
D.Set the DestinationRule trafficPolicy.loadBalancer to RANDOM and rely on having one endpoint per subset.
AnswerA

Weighted routing in a VirtualService http.route block splits traffic across destinations by percentage, and the weights must sum to 100. Setting 90 and 10 sends nine-tenths to stable and one-tenth to the canary, exactly matching the requested canary split. This is the canonical Istio pattern for progressive delivery and integrates with the named subsets from the DestinationRule.

Why this answer

Weighted destinations inside a VirtualService http.route express the exact percentage split between subsets, and the weights must total 100. A 90/10 split with named subsets from the DestinationRule delivers the requested canary behavior. The alternatives either manipulate responses, rely on unrelated load balancing, or use ingress constructs that do not perform in-mesh traffic splitting.

Exam trap

The trap here is confusing load balancing policy with traffic splitting, when only VirtualService route weights express a percentage canary.

63
MCQmedium

You need to restrict traffic to a specific subset of a service defined in a DestinationRule. What should you use in your VirtualService destination block?

A.host
B.subset
C.weight
D.port
AnswerB

The VirtualService destination block uses the subset field to name a subset declared in the corresponding DestinationRule, restricting routing to those labelled pods. This satisfies the constraint of limiting traffic to a specific subset rather than the whole service.

Why this answer

The subset field in the destination object refers to the named subset in the DestinationRule.

64
Multi-Selecthard

Which TWO settings are configured within the 'outlierDetection' block?

Select 2 answers
A.interval
B.maxRetries
C.timeout
D.weight
E.consecutive5xxErrors
AnswersA, E

The `interval` setting defines how frequently the outlier detection engine evaluates each backend, expressed as a duration. It satisfies the stem's requirement for a setting configured inside the `outlierDetection` block, controlling the evaluation cadence that determines when unhealthy hosts are ejected from the load-balancing pool.

Why this answer

In Istio's DestinationRule, the outlierDetection block configures passive health checking (circuit breaking) for a service's endpoints, and it includes the fields interval and consecutive5xxErrors. Option A (interval) is correct because it defines the time interval between ejection sweeps of the outlier detection analysis, e.g., interval: 10s. Option E (consecutive5xxErrors) is correct because it specifies the number of consecutive 5xx errors an endpoint must return before it is ejected from the load-balancing pool.

Option B (maxRetries) is not part of outlierDetection; retry attempts are configured in the HTTP retry policy (e.g., retries/attempts under route or VirtualService). Option C (timeout) belongs to the traffic policy/route timeout settings, not outlierDetection. Option D (weight) is a load-balancer or subset routing field (e.g., in DestinationRule subsets or HTTP route destination weights), not an outlierDetection setting.

65
MCQmedium

If you want to perform traffic shadowing, which field do you use?

A.redirect
B.weight
C.fault
D.mirror
AnswerD

The mirror field in a VirtualService duplicates live traffic to a shadow destination while the primary response is returned to the caller. This satisfies traffic shadowing, letting you test a new version with real requests without affecting production responses.

Why this answer

The mirror field in a VirtualService enables traffic shadowing.

66
MCQmedium

Which field in the VirtualService allows you to redirect an incoming request to a different path?

A.rewrite
B.mirror
C.redirect
D.match
AnswerC

The redirect field in an HTTP route rewrites the request to a different URI or authority, returning a 301 by default. This satisfies the stem's path-redirection requirement, unlike rewrite, which forwards to the destination while altering the path.

Why this answer

The 'redirect' field in the VirtualService route allows for URI or authority redirection.

67
MCQmedium

Which field in VirtualService is used for A/B testing?

A.redirect
B.weight
C.match
D.subset
AnswerB

The weight field under an HTTP route destination splits traffic proportionally between subsets, so assigning unequal weights (for example 90/10) sends a controlled share to a canary version. This satisfies the A/B testing requirement by enabling gradual, measurable traffic distribution across versions.

Why this answer

The weight field is used to split traffic between versions (subsets) for A/B testing.

68
MCQmedium

You want to enforce mTLS globally for all services in the cluster. Which resource should you apply?

A.ServiceEntry
B.PeerAuthentication
C.AuthorizationPolicy
D.DestinationRule
AnswerB

PeerAuthentication is the mesh-wide resource governing how sidecars receive and require mTLS. Applying one in the root namespace without a selector sets the mesh-wide default to STRICT, enforcing mutual TLS for every workload in the cluster.

Why this answer

PeerAuthentication at the root namespace (istio-system) enforces global mTLS.

69
Multi-Selecthard

What information can you get from 'istioctl proxy-config'? (Choose THREE)

Select 3 answers
A.virtualservices
B.deployments
C.clusters
D.endpoints
E.routes
AnswersC, D, E

The clusters subcommand lists the upstream clusters Envoy knows about, showing the services and subsets the proxy can route to. This reveals the proxy's configured backends, which is one of the three information types requested.

Why this answer

The `istioctl proxy-config` command (often abbreviated `pc`) inspects the Envoy sidecar configuration generated for a specific workload, and its subcommands map directly to Envoy's xDS configuration sections. Option C (clusters) is correct because `istioctl proxy-config clusters` lists the upstream clusters Envoy knows about, including the service and subset clusters derived from Istio's service registry. Option D (endpoints) is correct because `istioctl proxy-config endpoints` shows the load-balancing endpoints (host:port members) that back each cluster, i.e., the resolved instances of a service.

Option E (routes) is correct because `istioctl proxy-config routes` dumps the route configurations (virtual hosts and route rules) that Envoy uses to match and forward traffic. Options A (virtualservices) and B (deployments) are not part of `proxy-config`: VirtualService is an Istio Kubernetes CRD inspected with `kubectl get virtualservice` or `istioctl analyze`, and Deployments are Kubernetes workload objects retrieved with `kubectl get deployments`, neither of which reflects Envoy's runtime proxy configuration.

70
MCQeasy

What is the standard path to install istioctl?

A.apt-get
B.kubectl plugin
C.Binary download
D.npm install
AnswerC

Downloading the istioctl binary directly from the Istio release page places the CLI on the local machine, which is the documented standard installation method. Package managers and Helm charts install the control plane, not the istioctl client tool itself.

Why this answer

Downloading the binary from the Istio release page is the standard method.

71
MCQmedium

When configuring a retry policy for a VirtualService, which parameter defines the maximum time allowed for a single attempt?

A.perTryTimeout
B.timeout
C.maxRetries
D.retryOn
AnswerA

`perTryTimeout` caps the duration of each individual retry attempt, satisfying the stem's requirement for a single-attempt limit. It differs from `timeout`, which bounds the entire request lifecycle including all retries. Setting `perTryTimeout` ensures a slow attempt is abandoned before consuming the overall VirtualService deadline.

Why this answer

The perTryTimeout field controls the duration for an individual attempt within a retry policy.

72
MCQeasy

You need to expose an application running in the mesh to traffic from outside the cluster. Which resource is required to define the entry point?

A.ServiceEntry
C.VirtualService
D.DestinationRule
AnswerB

Gateway configures a standalone Envoy at the mesh edge, opening the listener ports and hosts that admit external traffic. This satisfies the constraint of defining the entry point, since inbound requests must match the Gateway's servers before a VirtualService can bind and route them.

Why this answer

In Istio, a Gateway resource configures the Envoy proxy at the edge of the mesh to accept inbound traffic on specified ports and protocols (HTTP, HTTPS, TCP, etc.). It is the required entry point definition that binds a load balancer or ingress IP to the mesh, and it is then referenced by a VirtualService to route traffic to internal services. Without a Gateway, external traffic has no defined listener to enter the mesh.

Exam trap

The trap here is confusing egress-side resources (ServiceEntry) with ingress-side resources (Gateway), since both are Istio CRDs that deal with 'external' traffic but in opposite directions.

How to eliminate wrong answers

Option A is wrong because ServiceEntry is used to register external (out-of-mesh) services into Istio's internal service registry so mesh workloads can reach them — it governs egress, not ingress. Option C is wrong because VirtualService defines routing rules (hosts, match conditions, destinations) but must be bound to a Gateway or sidecar to take effect; it does not itself open an entry point. Option D is wrong because DestinationRule configures traffic policy after routing decisions are made — load balancing, connection pool, outlier detection, TLS origination — and has no role in exposing services externally.

73
MCQeasy

Which component is responsible for enforcing traffic policies in the data plane?

A.Envoy proxy
B.Ingress Gateway
C.istiod
D.Kiali
AnswerA

Envoy sidecars and gateways intercept every request and apply the pushed listener, route and filter rules, including mTLS and authorization checks. This satisfies the constraint because policy enforcement occurs at the proxy, not in istiod, which only distributes configuration.

Why this answer

The Envoy proxy (injected as a sidecar) handles all data plane traffic management.

74
MCQeasy

What is the primary purpose of the 'subset' field in a VirtualService destination?

A.To route to a specific version/label set
B.To specify a namespace
C.To handle failover
D.To limit traffic to one pod
AnswerA

The subset field selects a named subset of a destination's endpoints, defined by labels such as version, so traffic routes only to pods matching that label set. This enables version-specific or canary routing within Istio VirtualService destinations.

Why this answer

The 'subset' field in a VirtualService destination references a named subset defined in a DestinationRule, which is a label selector that identifies a specific version or group of pods (e.g., version: v2). This is how Istio routes traffic to a particular deployment version for canary or blue/green releases.

Exam trap

ICA often tests whether candidates understand the division of labor between VirtualService (routing) and DestinationRule (subsets/policies), and candidates mistakenly think subset specifies a namespace or a single pod.

How to eliminate wrong answers

Option B is wrong because namespaces are specified via the destination's 'host' field using the fully qualified service name (service.namespace.svc.cluster.local), not via subset. Option C is wrong because failover is handled by DestinationRule outlier detection and locality load balancing settings, not by the subset field. Option D is wrong because limiting traffic to a single pod is not what subset does — subset selects a group of pods by label, and even a subset with one matching pod is coincidental, not the purpose.

75
MCQmedium

You want to route traffic to a specific version of a service based on a header. Where do you define the subset?

B.ServiceEntry
C.VirtualService
D.DestinationRule
AnswerD

DestinationRule defines named subsets by matching pod labels, so header-based routing in the VirtualService can reference a specific version. The subset itself lives in the DestinationRule; the VirtualService only selects it, satisfying the requirement to route by header to one version.

Why this answer

In Istio, a DestinationRule defines the named subsets of a service (for example, v1 and v2) by selecting pods with specific labels. A VirtualService then references those subsets when routing traffic, so the subset definition itself lives in the DestinationRule. This separation lets routing rules (VirtualService) stay decoupled from the actual pod groupings (DestinationRule).

Exam trap

The trap is conflating the VirtualService (which routes to subsets) with the DestinationRule (which defines subsets) — candidates often pick VirtualService because that is where the routing rule is written.

How to eliminate wrong answers

Option A is wrong because a Gateway configures ingress/egress listeners (ports, hosts, TLS) at the edge of the mesh and does not define service subsets. Option B is wrong because a ServiceEntry registers external services into Istio's internal registry so mesh traffic can reach them; it has no subset concept for internal versioning. Option C is wrong because a VirtualService defines the routing rules (match conditions, weights, retries) that reference subsets, but it does not define the subsets themselves — it consumes them.

Page 1 of 2 · 93 questions totalNext →

Ready to test yourself?

Try a timed practice session using only Traffic Management questions.