Courseiva

CCNA Resilience And Fault Injection Questions

42 questions · Resilience And Fault Injection topic · All types, answers revealed

1
Multi-Selectmedium

Which THREE fields are found in the 'http' connectionPool configuration?

Select 3 answers
A.idleTimeout
B.maxRequestsPerConnection
C.maxConnections
D.http2MaxRequests
E.maxRetries
AnswersA, B, D

idleTimeout is a genuine field within the http connectionPool configuration, specifying how long an unused connection is retained before being closed. It satisfies the stem's requirement by belonging to that connectionPool block, alongside http2MaxRequests and maxRequestsPerConnection.

Why this answer

http2MaxRequests, maxRequestsPerConnection, and idleTimeout are valid fields.

2
MCQmedium

You want to limit the number of concurrent connections to the 'payment' service to 100. Where is this configuration set?

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

The `trafficPolicy.connectionPool.tcp.maxConnections` field in a DestinationRule caps concurrent TCP connections to the payment service at 100. Istio applies this limit at the sidecar proxy when initiating upstream connections, satisfying the stem's concurrency constraint without altering the service itself.

Why this answer

Connection pool limits such as `maxConnections` and `http1MaxPendingRequests` are configured in the DestinationRule's `trafficPolicy.connectionPool` section, which applies to the destination service. This is where Istio exposes Envoy's circuit-breaking settings for outbound traffic to a service.

Exam trap

ICA often tests the boundary between VirtualService (routing) and DestinationRule (traffic policy) — candidates who associate all traffic control with VirtualService pick it for connection limits.

How to eliminate wrong answers

Option B is wrong because EnvoyFilter is a low-level escape hatch for patching Envoy config directly; while you could theoretically set connection limits there, it is not the intended or supported configuration point for connection pool limits. Option C is wrong because ServiceEntry registers external services into the mesh — it controls service discovery, not connection limits. Option D is wrong because VirtualService handles routing (hosts, match conditions, retries, timeouts, fault injection), not connection pool sizing; connection limits belong to the destination's traffic policy.

3
MCQmedium

What happens if a request times out in Istio?

A.The request is retried automatically.
B.The proxy returns a 408 Request Timeout.
C.The request is passed to another healthy host.
D.The proxy returns a 504 Gateway Timeout.
E.The connection is closed without an error.
AnswerD

When the configured timeout elapses without a response, Envoy terminates the upstream request and returns HTTP 504 Gateway Timeout to the caller, distinguishing it from a 503 returned by fault injection or an unavailable endpoint.

Why this answer

If a request exceeds the timeout, the proxy terminates the request and returns a 504 Gateway Timeout.

4
Multi-Selectmedium

You want to configure your microservice to be more resilient. Which THREE of the following are valid fields within an 'outlierDetection' policy in a DestinationRule?

Select 3 answers
A.consecutive5xxErrors
B.interval
C.http2MaxRequests
D.baseEjectionTime
E.maxRequestsPerConnection
AnswersA, B, D

consecutive5xxErrors sets how many sequential server errors an endpoint must return before it is ejected from the load-balancing pool. This satisfies the resilience constraint by removing unhealthy hosts quickly, preventing repeated failures reaching a degraded instance.

Why this answer

In Istio's DestinationRule, the outlierDetection policy supports consecutive5xxErrors (A), which sets the number of consecutive 5xx errors that trigger ejection of a host from the load-balancing pool. It also supports interval (B), which defines the time interval between ejection sweep analyses of the hosts. And it supports baseEjectionTime (D), which specifies the minimum ejection duration for an outlier host, multiplied by the number of times it has been ejected.

The options http2MaxRequests (C) and maxRequestsPerConnection (E) are not part of outlierDetection; they belong to the connectionPool settings (specifically the http and tcp subfields) of a DestinationRule's trafficPolicy, used for connection-pool limits rather than outlier ejection.

Exam trap

ICA often tests the confusion between outlierDetection fields and connectionPool fields, as both are part of DestinationRule and relate to traffic management, but serve different purposes.

5
MCQmedium

What is the default value for 'consecutive5xx' in OutlierDetection?

A.10
B.20
C.0
D.5
E.1
AnswerD

Five consecutive 5xx responses is the default threshold before Istio's outlier detection ejects a host from the load-balancing pool. This satisfies the stem's request for the out-of-the-box `consecutive5xx` value, which applies per host within the interval, requiring no explicit configuration in the DestinationRule.

Why this answer

The default value for consecutive5xx in Istio/Envoy is 5.

6
MCQeasy

You need to limit the number of concurrent connections to the 'orders' service. Which field in the DestinationRule do you configure?

A.trafficPolicy.connectionPool.tcp.maxConnections
B.trafficPolicy.connectionPool.http.maxRequests
C.trafficPolicy.circuitBreaker.maxConnections
D.trafficPolicy.outlierDetection.maxConnections
E.trafficPolicy.loadBalancer.maxConnections
AnswerA

Setting `trafficPolicy.connectionPool.tcp.maxConnections` caps concurrent TCP connections to the 'orders' service, directly satisfying the stem's requirement to limit connection count. Istio's connection pool settings apply per destination host, so this field throttles simultaneous connections at the sidecar before requests reach the workload.

Why this answer

In Istio's DestinationRule, connectionPool.tcp.maxConnections limits the number of concurrent TCP connections to the upstream service. For the 'orders' service, this is the correct field to cap concurrent connections at the TCP layer.

Exam trap

ICA often tests the distinction between TCP-level connection limits (connectionPool.tcp.maxConnections) and HTTP-level request limits (connectionPool.http.maxRequests) — candidates who pick the HTTP field misunderstand the layer at which the limit applies.

How to eliminate wrong answers

Option B is wrong because connectionPool.http.maxRequests limits concurrent HTTP requests, not TCP connections — it applies at the HTTP layer and is a different metric. Option C is wrong because circuitBreaker is not a valid field in DestinationRule's trafficPolicy; circuit breaking is achieved via outlierDetection and connectionPool. Option D is wrong because outlierDetection handles passive health checking and endpoint ejection, not connection limits.

Option E is wrong because loadBalancer configures the load-balancing algorithm (ROUND_ROBIN, LEAST_REQUEST, etc.), not connection limits.

7
MCQeasy

You are reviewing a VirtualService for the 'reviews' service. The service has a timeout of 5 seconds configured. You want to ensure that if a request takes longer than 5 seconds, it is aborted with a 504 Gateway Timeout. Which field in the VirtualService should you configure?

A.retries
B.timeout
C.corsPolicy
D.fault.delay
AnswerB

The timeout field in an HTTP route specifies the maximum time a request can take before it is aborted. When the timeout is exceeded, Istio returns a 504 Gateway Timeout to the client. Setting this field to 5s ensures that requests taking longer than 5 seconds are terminated with the appropriate error. This directly fulfills the scenario's requirement.

Why this answer

The timeout field in a VirtualService HTTP route sets the maximum duration for a request. When exceeded, Istio aborts the request and returns a 504 Gateway Timeout. The other fields handle retries, fault injection, or CORS, none of which enforce a request duration limit.

Exam trap

The trap here is confusing timeout with retries or fault.delay, which serve different purposes.

8
MCQmedium

You need to limit the number of concurrent connections to the 'order-service' to prevent cascading failures. Which Istio resource should you configure?

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

DestinationRule hosts traffic policies for a service, including connectionPool settings that cap concurrent connections and pending requests to order-service. This limits in-flight connections, preventing one slow dependency from exhausting resources and causing cascading failures across the mesh.

Why this answer

The DestinationRule resource allows you to define traffic policies, including connection pool settings, which control concurrent connections and requests.

9
MCQeasy

How do you specify the percentage of traffic that should experience a fault?

A.Using a 'weight' field.
B.Using a 'percentage' object with a 'value' field.
C.Using a 'threshold' field.
D.Using the 'ratio' field.
E.Using a 'rate' field in the VirtualService.
AnswerB

Fault injection scopes the effect using a percentage object containing a value field, which specifies the proportion of requests that receive the fault. This satisfies the constraint of applying the fault to only part of the traffic rather than all of it.

Why this answer

In Istio's fault injection API, the percentage of requests affected by a fault is specified using a 'percentage' object containing a 'value' field (an integer 0–100), nested under the delay or abort fault. For example, an HTTPAbort fault uses 'percentage: {value: 50}' to abort half of matching requests. This is the documented schema for controlling fault scope in a VirtualService.

Exam trap

The trap is confusing traffic-splitting fields ('weight') with fault-scoping fields ('percentage.value'), or inventing plausible-sounding field names like 'ratio' or 'rate' that don't exist in the Istio fault-injection schema.

How to eliminate wrong answers

Option A is wrong because 'weight' is used in HTTP route destination rules to split traffic between subsets/versions, not to set the proportion of requests that experience a fault. Option C is wrong because 'threshold' is not a fault-injection field; it appears in outlier detection and circuit-breaking contexts, not fault percentage. Option D is wrong because 'ratio' is not the Istio fault-injection field name — the API uses 'percentage', not 'ratio'.

Option E is wrong because 'rate' is not a fault-injection field; rate limiting is handled by Envoy filters or the Rate Limit service, not by a 'rate' field in the VirtualService fault block.

10
Multi-Selecteasy

Which TWO are common causes for a service to be ejected by Outlier Detection?

Select 2 answers
A.Consecutive gateway failures.
B.Consecutive 5xx responses.
C.High disk usage on the pod.
D.Too many users logged in.
E.High CPU usage on the pod.
AnswersA, B

Outlier Detection counts consecutiveGatewayErrors, which covers gateway failures such as connection refused or reset, and ejects the host once the threshold is exceeded. This satisfies the stem's requirement that gateway failures be a common ejection cause.

Why this answer

Outlier detection in service meshes (e.g., Istio/Envoy) ejects a host from the load-balancing pool when it exhibits repeated failures at the connection or request level. Option A is correct because consecutive gateway failures—such as TCP connection failures, timeouts, or HTTP 502/503/504 responses classified as gateway errors—trigger the consecutive-gateway-failures ejection policy. Option B is correct because consecutive 5xx responses from the upstream service are counted by the consecutive-5xx ejection policy and cause the endpoint to be ejected once the threshold is exceeded.

Options C and E are incorrect because high disk or CPU usage are resource-pressure conditions handled by metrics-based autoscaling or resource limits, not by outlier detection's failure counters. Option D is incorrect because the number of logged-in users is an application-level metric unrelated to the consecutive failure thresholds that outlier detection evaluates.

11
MCQmedium

What is the consequence of having a timeout that is shorter than the average latency of the service?

A.Increased 504 Gateway Timeout errors.
B.Faster response times.
C.Increased throughput.
D.Automatic retries.
E.Better connection pooling.
AnswerA

When the configured timeout is shorter than the service's average response latency, Envoy aborts the upstream request before the backend can reply, returning a 504 to the caller. This directly satisfies the stem's constraint: a timeout below average latency produces gateway timeout errors.

Why this answer

If the timeout is too short, requests will be terminated prematurely, causing valid requests to fail.

12
MCQhard

Which of the following describes the difference between Circuit Breaking and Outlier Detection?

A.Circuit Breaking is for ingress, Outlier Detection is for egress.
B.Circuit Breaking is proactive, Outlier Detection is reactive.
C.Outlier Detection is for connection pooling.
D.Circuit Breaking only works on TCP.
E.Circuit Breaking monitors request load, Outlier Detection monitors host health.
AnswerE

Outlier detection ejects individual unhealthy hosts from the load-balancing pool based on consecutive 5xx errors or gateway failures, whereas circuit breaking trips at the connection-pool level, rejecting requests once pending or active connection limits are exceeded. The stem's contrast between host health and request load is satisfied precisely by this split.

Why this answer

Circuit Breaking monitors request load (e.g., connection pool saturation, pending requests, retries) and trips when thresholds are exceeded, preventing cascading failures by rejecting new requests. Outlier Detection monitors host health by passively tracking errors (e.g., 5xx responses) and ejecting unhealthy hosts from the load balancing pool. Thus, the correct distinction is that Circuit Breaking focuses on request load, while Outlier Detection focuses on host health.

Exam trap

ICA often tests the distinction between load-based and health-based monitoring, and candidates may confuse the reactive nature of both mechanisms or assume they are protocol-specific.

How to eliminate wrong answers

Option A is wrong because both Circuit Breaking and Outlier Detection can apply to both ingress and egress traffic; they are not direction-specific. Option B is wrong because Circuit Breaking is reactive (it trips after thresholds are breached) and Outlier Detection is also reactive (it ejects hosts after observing errors); neither is inherently proactive. Option C is wrong because Outlier Detection is not for connection pooling; it is for health checking and ejection of unhealthy hosts, while connection pooling is a separate concern.

Option D is wrong because Circuit Breaking works at the application layer (e.g., HTTP) and can be configured for various protocols, not only TCP.

13
MCQeasy

Which of the following is a valid method for performing fault injection?

A.Using a ServiceEntry to redirect traffic.
B.Using a DestinationRule to drop connections.
C.Using a VirtualService to inject delays.
D.Using an EnvoyFilter to rewrite headers.
E.Using a Gateway to block traffic.
AnswerC

Istio's VirtualService resource supports fault injection natively, letting you configure HTTP delays or aborts against a host without altering application code. This satisfies the stem's requirement for a valid fault injection method, since the delay is applied at the service-mesh proxy layer during request routing.

Why this answer

Istio supports both delay and abort faults via VirtualService.

14
MCQmedium

You want to ensure that a request to the 'search' service fails fast if it takes longer than 2 seconds. How is this configured?

A.In the EnvoyFilter, set 'timeout: 2s'.
B.In the Gateway, set 'timeout: 2s'.
C.In the VirtualService, set 'timeout: 2s' in the route rule.
D.In the DestinationRule, set 'timeout: 2s'.
E.In the ServiceEntry, set 'timeout: 2s'.
AnswerC

A timeout of 2s declared in the VirtualService route rule caps how long Envoy waits for the search service before returning an error, delivering the required fail-fast behaviour. The timeout applies per route, so the request is abandoned at two seconds rather than hanging.

Why this answer

In Istio, request timeouts are configured in the VirtualService resource, specifically within the HTTP route rule using the 'timeout' field (e.g., 'timeout: 2s'). This tells the Envoy sidecar to abort the request if it doesn't receive a response from the destination within the specified duration, causing the client to receive a 504 Gateway Timeout. The timeout is applied per route, allowing granular control over different services or subsets.

This is the standard and documented way to enforce fail-fast behavior for a service like 'search'.

Exam trap

ICA often tests the confusion between VirtualService and DestinationRule for traffic management features; candidates may incorrectly choose DestinationRule for timeouts because it handles other traffic policies like load balancing and connection pools.

How to eliminate wrong answers

Option A is wrong because EnvoyFilter is used for low-level Envoy configuration patches, not for setting application-level request timeouts; while it can modify timeouts, it's not the intended or recommended method for this use case. Option B is wrong because Gateway configures ingress/egress traffic properties like TLS, ports, and hosts, not per-request timeouts. Option D is wrong because DestinationRule defines policies for traffic to a destination after routing, such as load balancing, connection pool settings, and outlier detection, but not request timeouts.

Option E is wrong because ServiceEntry is used to register external services into Istio's service registry, not to set timeouts.

15
MCQmedium

What is the recommended way to test fault injection in a production environment?

A.Using header-based matches in a VirtualService.
B.Injecting faults in the code.
C.Using a separate mesh for testing.
D.Enabling it for 1% of traffic using weight.
E.Applying it globally to all users.
AnswerA

Header-based matches in a VirtualService let you route only requests carrying a specific test header to the fault-injected subset, leaving ordinary production traffic untouched. This satisfies the stem's constraint of testing fault injection in production without disrupting live users, since Istio evaluates match conditions before applying the abort or delay rule.

Why this answer

Using header-based matching allows you to target faults to specific test traffic without impacting all users.

16
MCQhard

You want to ensure that a pod is only ejected if it fails consistently. Which setting is most appropriate?

A.Decrease interval, decrease consecutive5xx.
B.Decrease interval, increase consecutive5xx.
C.Increase interval, increase consecutive5xx.
D.Disable outlierDetection and use only circuitBreaking.
E.Increase interval, decrease consecutive5xx.
AnswerC

Raising consecutive5xx requires multiple successive failures before ejection, preventing a single transient error from removing the pod. Increasing the interval lengthens the analysis window, so failures must persist across a longer period. Together these satisfy the stem's demand that ejection occur only after consistent failure.

Why this answer

A combination of a longer interval and a higher consecutive error threshold ensures only sustained failures trigger ejection.

17
MCQmedium

To test how your application handles service unavailability, you want to return an HTTP 503 error for 20% of requests to the 'catalog' service. Which fault injection setting do you use?

A.circuitBreaker
B.outlierDetection
C.delay
D.abort
AnswerD

The abort fault injects a specified HTTP status code, so setting abort with httpStatus 503 and percentage 20 returns 503 for one fifth of catalog requests. This directly satisfies the stem's requirement to simulate service unavailability rather than delay.

Why this answer

The 'abort' fault injection setting in Istio is specifically designed to return an HTTP error code (such as 503) for a specified percentage of requests to a target service. By configuring an abort fault with an HTTP status of 503 and a percentage value of 20, you directly simulate service unavailability for 20% of traffic to the 'catalog' service. This is the intended mechanism for testing how applications handle HTTP error responses.

Exam trap

The trap here is confusing fault injection (abort/delay) with traffic management features like circuit breaking and outlier detection, which also deal with failures but do not inject synthetic errors.

How to eliminate wrong answers

Option A is wrong because circuitBreaker is a traffic management feature that trips and ejects endpoints after consecutive failures, not a fault injection setting that returns a specific HTTP error percentage. Option B is wrong because outlierDetection is used for passive health checking to eject unhealthy hosts from the load balancing pool, not for injecting faults. Option C is wrong because delay injects a time delay (latency) into requests rather than returning an HTTP error code like 503.

18
MCQeasy

What is the primary purpose of adding a timeout to a service call?

A.To hide errors from the user.
B.To prevent resource exhaustion from hanging requests.
C.To load balance more effectively.
D.To increase throughput.
E.To encrypt traffic.
AnswerB

A timeout bounds how long a caller waits, releasing the thread, connection and memory tied to that request once the deadline passes. This directly prevents resource exhaustion from hanging requests, satisfying the stem's stated purpose.

Why this answer

A timeout on a service call ensures that if a downstream service does not respond within a specified period, the call is aborted. This prevents the calling service from indefinitely waiting, which can lead to thread pool exhaustion, memory buildup, and cascading failures. Thus, the primary purpose is to prevent resource exhaustion from hanging requests.

Exam trap

The trap is thinking timeouts improve performance or hide errors; candidates might choose 'increase throughput' or 'hide errors' instead of recognizing the protective role against resource exhaustion.

How to eliminate wrong answers

Option A is wrong because timeouts do not hide errors; they surface them faster (e.g., as timeout exceptions) and allow fallback logic. Option C is wrong because load balancing is handled by dedicated algorithms or proxies, not by timeouts. Option D is wrong because timeouts do not increase throughput; they may reduce it by aborting slow calls, but they protect the system.

Option E is wrong because encryption is provided by TLS, not timeouts.

19
MCQhard

A service is returning 5xx errors frequently. You want to eject instances that return 5 consecutive 5xx errors. Which OutlierDetection setting is required?

A.consecutive5xx: 5
B.interval: 5s
C.maxEjectionPercent: 5
D.consecutiveErrors: 5
E.baseEjectionTime: 5s
AnswerA

Setting `consecutive5xx: 5` instructs the sidecar's outlier detector to eject a host after five successive 5xx responses, directly matching the stem's threshold. Other consecutive-error counters, such as `consecutiveGatewayErrors`, track different status classes and would not trigger on generic 5xx failures.

Why this answer

The `consecutive5xx` field in Istio's OutlierDetection configuration is specifically designed to count consecutive 5xx HTTP response codes from an upstream host. When the count reaches the configured threshold (5 in this case), the host is ejected from the load balancing pool for a period defined by `baseEjectionTime`. This directly matches the requirement to eject instances after 5 consecutive 5xx errors, making `consecutive5xx: 5` the correct setting.

Exam trap

ICA often tests the distinction between `consecutive5xx` and `consecutiveGatewayErrors`, and candidates may mistakenly choose `consecutiveErrors` (which doesn't exist) or confuse the threshold with other ejection parameters like `baseEjectionTime` or `maxEjectionPercent`.

How to eliminate wrong answers

Option B is wrong because `interval` defines the time period over which the ejection sweep is performed (e.g., how often to check for outliers), not the error threshold. Option C is wrong because `maxEjectionPercent` limits the maximum percentage of hosts that can be ejected, not the number of consecutive errors. Option D is wrong because `consecutiveErrors` is not a valid Istio OutlierDetection field; Istio distinguishes between `consecutive5xx` (for HTTP 5xx errors) and `consecutiveGatewayErrors` (for 502/503/504 errors).

Option E is wrong because `baseEjectionTime` specifies the minimum duration a host is ejected, not the error count threshold.

20
MCQmedium

Which field defines how long an ejected pod remains out of the rotation?

A.maxEjectionPercent
B.baseEjectionTime
C.interval
D.minHealthPercent
E.consecutive5xx
AnswerB

baseEjectionTime sets the duration a pod stays ejected from the load-balancing pool before being returned for health re-evaluation. This directly satisfies the stem's requirement: it is the field governing how long an ejected pod remains out of rotation, measured from the moment of ejection.

Why this answer

baseEjectionTime determines the duration an instance is excluded from the load balancing pool.

21
Multi-Selecthard

A platform team is implementing a resilience strategy for the 'checkout' service. They want to configure a DestinationRule that ejects unhealthy hosts, and they also want to ensure that the ejection does not remove too many hosts at once. Which TWO settings in the OutlierDetection configuration directly control how many hosts can be ejected and how long they remain ejected? (Choose two.)

Select 2 answers
A.interval
B.minHealthPercent
C.consecutive5xxErrors
D.maxEjectionPercent
E.baseEjectionTime
AnswersD, E

maxEjectionPercent defines the maximum percentage of endpoints in the load-balancing pool that can be ejected simultaneously. Setting it to a value like 40 ensures that even if many hosts fail, at least 60% remain available to serve traffic. This directly controls how many hosts can be ejected, which is one of the two requirements in the scenario.

Why this answer

Outlier detection in a DestinationRule includes several fields, but the two that directly control ejection quantity and duration are maxEjectionPercent and baseEjectionTime. maxEjectionPercent caps the fraction of endpoints that can be simultaneously ejected, preventing a complete outage. baseEjectionTime sets the minimum time a host stays out of the pool. Together they define the scope and duration of the ejection behavior, which are the two aspects the team wants to manage.

Exam trap

The trap here is confusing the threshold that triggers ejection (consecutive5xxErrors) with the settings that limit how many and how long hosts are ejected.

22
Multi-Selecthard

Which THREE things happen when a request fails and a retry policy is active?

Select 3 answers
A.Ejects the host immediately.
B.Checks if the error code matches 'retryOn'.
C.Attempts the request again.
D.Waits for the specified backoff period.
E.Opens the circuit breaker.
AnswersB, C, D

Envoy evaluates the response against the retryOn condition, comparing the returned status code or reset type to the configured list. Only matching failures trigger the retry budget, so non-matching errors pass straight back to the caller.

Why this answer

When a request fails and a retry policy is active, the policy first evaluates the failure by checking whether the returned error code matches the configured 'retryOn' conditions (option B), since only matching errors trigger a retry. If the error qualifies, the policy attempts the request again (option C), re-issuing the call to the target. Before that retry, it waits for the specified backoff period (option D), which may be fixed or exponential, to avoid overwhelming the endpoint.

Option A is incorrect because host ejection is a separate outlier-detection mechanism, not an immediate retry-policy action. Option E is incorrect because opening the circuit breaker is governed by circuit-breaking thresholds, not by the retry policy itself.

Exam trap

ICA often tests the confusion between retry and outlier detection, leading candidates to pick ejecting the host as part of retry.

23
MCQeasy

A cluster administrator wants to limit the number of concurrent connections and pending requests that the sidecar will allow to the 'shipping' service. The team also wants to configure a circuit breaker that trips when the number of pending requests exceeds a threshold. Where should these settings be defined?

A.In the ServiceEntry's resolution settings.
B.In the VirtualService's http route configuration.
C.In the DestinationRule's trafficPolicy connectionPool settings.
D.In the EnvoyFilter resource applied to the sidecar.
AnswerC

Connection pool limits and circuit breaker thresholds for a service are configured in the DestinationRule under trafficPolicy.connectionPool. The tcp and http subsections define maximum connections and pending requests respectively. This is the correct location because DestinationRules define policies that apply after routing, including connection-level controls for the selected service.

Why this answer

Connection pool and circuit breaker settings for a service are defined in the DestinationRule under trafficPolicy.connectionPool. The tcp subsection controls maximum connections and connection timeouts, while the http subsection controls http1MaxPendingRequests, http2MaxRequests, and similar limits. This placement ensures the settings apply to the sidecar's outbound connections to the selected service, independent of routing rules.

Exam trap

The trap here is assuming that routing resources like VirtualService also carry connection pool settings, when in fact they are exclusive to DestinationRule trafficPolicy.

24
MCQeasy

An application is experiencing intermittent errors. You decide to use outlier detection to eject unhealthy pods. Which field in the DestinationRule controls the ejection of hosts after a certain number of 5xx errors?

A.baseEjectionTime
B.interval
C.consecutive5xxErrors
D.maxConnections
AnswerC

Istio's outlier detection ejects a host once its consecutive 5xx responses reach the value set in consecutive5xxErrors, counted per host over the interval. This field directly governs the ejection threshold, unlike interval or baseEjectionTime, which control timing rather than the error count.

Why this answer

The 'consecutive5xxErrors' field in the 'outlierDetection' section of a DestinationRule is used to eject unhealthy hosts.

25
MCQeasy

You need to ensure that a request to the 'orders' service times out if it takes longer than 2 seconds. Which field in the VirtualService should you configure?

A.deadline
B.timeout
C.maxRequestDuration
D.requestTimeout
AnswerB

The timeout field in the VirtualService's HTTP route specifies how long a request may run before Istio aborts it, so setting it to 2s enforces the required limit on the orders service. Other fields control retries, faults or matching, not request duration.

Why this answer

The timeout setting is defined within the route rule of a VirtualService.

26
MCQhard

You have a DestinationRule with outlier detection enabled. If a host returns 5 consecutive 5xx errors and the 'interval' is set to 1s, what happens if 'baseEjectionTime' is 30s?

A.It is ejected for 30 seconds
B.It is ejected for 1 second
C.It is removed permanently
D.It is ignored because the interval is too small
AnswerA

Outlier detection ejects the host for baseEjectionTime once consecutive 5xx errors reach the threshold within the interval. Five errors in one second triggers ejection, so the host is removed from the load-balancing pool for 30 seconds.

Why this answer

The host is ejected from the load balancing pool for 30 seconds.

27
MCQhard

How do you define a circuit breaker that limits the number of pending requests?

A.maxRequestsInQueue
B.maxPending
C.pendingRequestsLimit
D.maxPendingRequests
E.http1MaxPendingRequests
AnswerE

http1MaxPendingRequests caps how many HTTP/1.1 requests may queue awaiting a connection, directly satisfying the requirement to limit pending requests. Istio's circuit breaker uses this field to shed load once the threshold is exceeded, returning overflow failures rather than allowing unbounded queueing.

Why this answer

The 'http1MaxPendingRequests' field is used to limit the number of pending requests in the connection pool.

28
Multi-Selectmedium

Which THREE settings are part of the 'outlierDetection' configuration in a DestinationRule?

Select 3 answers
A.interval
B.baseEjectionTime
C.requestRetryCount
D.maxConnectionTimeout
E.consecutive5xxErrors
AnswersA, B, E

In `outlierDetection`, `interval` sets how often Envoy scans each host's ejection status, satisfying the requirement for a timing parameter governing consecutive failure evaluation. It works alongside `consecutiveErrors` and `baseEjectionTime`; without it, ejection checks would lack a defined polling cadence, so it belongs among the three valid settings.

Why this answer

In Istio's DestinationRule, the outlierDetection block configures passive health checking (circuit breaking) that ejects unhealthy hosts from the load-balancing pool. Option A, interval, is correct because it defines the time interval between ejection sweep analyses of the hosts (e.g., 10s), controlling how often the outlier detection scan runs. Option B, baseEjectionTime, is correct because it specifies the minimum ejection duration for an outlier host, and the actual ejection time is multiplied by the number of times the host has been ejected.

Option E, consecutive5xxErrors, is correct because it is the threshold of consecutive 5xx errors a host must return before it is ejected from the pool. Option C, requestRetryCount, is not part of outlierDetection; retry behavior is configured under the DestinationRule's trafficPolicy retries or the VirtualService retries block. Option D, maxConnectionTimeout, is not a valid outlierDetection field; connection pool timeouts are configured under connectionPool.tcp (e.g., connectTimeout) in the DestinationRule.

Exam trap

ICA often tests the distinction between outlier detection fields and other DestinationRule settings like connection pool or retry policies, so candidates must memorize the exact field names under 'outlierDetection'.

29
Multi-Selecthard

Which TWO parameters affect the 'aggressiveness' of Outlier Detection?

Select 2 answers
A.baseEjectionTime
B.minHealthPercent
C.interval
D.consecutive5xx
E.maxEjectionPercent
AnswersC, D

Shorter interval = faster checks.

Why this answer

A short interval and a low consecutive error threshold make the system more aggressive.

30
Multi-Selecteasy

Which TWO of the following are valid fields within a DestinationRule's 'trafficPolicy'?

Select 2 answers
A.retryPolicy
B.virtualHosts
C.faultInjection
D.connectionPool
E.outlierDetection
AnswersD, E

connectionPool is a valid trafficPolicy field, defining TCP connection limits such as maxConnections, connectTimeout and HTTP limits for the destination. It controls how Envoy manages upstream connections, making it a legitimate setting within a DestinationRule's traffic policy.

Why this answer

In Istio's DestinationRule, the trafficPolicy block supports connectionPool (D), which configures TCP/HTTP connection pool limits such as maxConnections, http1MaxPendingRequests, and http2MaxRequests for the destination workloads, and outlierDetection (E), which defines passive health checking via consecutive5xxErrors, interval, and baseEjectionTime to eject unhealthy endpoints. Both are legitimate subfields of trafficPolicy and are applied per destination (or per subset/port override). By contrast, retryPolicy (A) is a field of a VirtualService's HTTP route, not a DestinationRule trafficPolicy. virtualHosts (B) is a top-level field of a VirtualService (and of Envoy route configuration), not part of DestinationRule. faultInjection (C) is also configured in a VirtualService's HTTP route, not in a DestinationRule trafficPolicy.

Exam trap

ICA often tests whether candidates can distinguish DestinationRule (post-routing: connection pools, outlier detection, load balancing) from VirtualService (routing: retries, faults, virtual hosts) — mixing these up is the classic error.

31
MCQhard

You notice that a pod is being ejected by Outlier Detection despite only having occasional errors. How do you increase the interval between ejection scans?

A.Set outlierDetection.interval to a higher value.
B.Disable outlierDetection.
C.Set outlierDetection.baseEjectionTime to a higher value.
D.Set outlierDetection.maxEjectionPercent to a higher value.
E.Set outlierDetection.consecutive5xx to a higher value.
.Set connectionPool.tcp.maxConnections to a lower value.
AnswerA

Increasing the interval makes the detector scan less frequently, reducing the likelihood of premature ejection.

Why this answer

To increase the interval between ejection scans in Istio's outlier detection, you set 'outlierDetection.interval' to a higher value. This field controls how often the ejection scan occurs. Increasing it reduces the frequency of scans, thus increasing the interval.

Exam trap

ICA often tests the specific fields of outlier detection, and candidates may confuse 'interval' with 'baseEjectionTime' or 'consecutive5xx', leading to wrong adjustments.

How to eliminate wrong answers

Option B is wrong because disabling outlier detection would stop ejections entirely, not just increase the interval. Option C is wrong because 'baseEjectionTime' controls how long a host is ejected, not the scan interval. Option D is wrong because 'maxEjectionPercent' limits the maximum percentage of hosts that can be ejected, not the scan frequency.

Option E is wrong because 'consecutive5xx' sets the number of consecutive 5xx errors before ejection, not the scan interval. Option F is wrong because 'connectionPool.tcp.maxConnections' limits TCP connections, unrelated to ejection scans.

32
MCQeasy

Which resource is used to configure circuit breaking for a service?

A.PeerAuthentication
C.VirtualService
D.DestinationRule
E.EnvoyFilter
AnswerD

DestinationRule defines traffic policies for a service, including connection pool limits and outlier detection, which ejects unhealthy hosts to achieve circuit breaking. This satisfies the stem's requirement for the resource that configures circuit breaking, as opposed to routing (VirtualService) or gateway configuration.

Why this answer

DestinationRule is the resource where circuit breaking settings are defined within the trafficPolicy.

33
MCQmedium

What happens when a circuit breaker trips?

A.The service is deleted.
B.Traffic is no longer sent to the instance.
C.All traffic is redirected to a static page.
D.The entire mesh is shut down.
E.The pod is restarted.
AnswerB

When the outlier detection thresholds are breached, the circuit breaker ejects the unhealthy endpoint from the load-balancing pool. Envoy then stops routing new requests to that instance, giving it time to recover while traffic flows to remaining healthy endpoints.

Why this answer

The circuit breaker stops sending traffic to the unhealthy host, protecting the system from overload.

34
MCQmedium

Which component is responsible for the actual enforcement of circuit breaking and fault injection?

A.Kubernetes API Server
B.Istiod
C.Envoy proxy
D.Prometheus
E.Ingress Gateway
AnswerC

Envoy sidecar proxies enforce circuit breaking and fault injection at the data plane, applying the outlier detection and abort or delay rules configured in Istio resources. Istiod only distributes configuration; the actual traffic manipulation happens inside Envoy.

Why this answer

The Envoy proxy (sidecar) performs the enforcement based on the configuration pushed by Istiod.

35
MCQeasy

Where do you define the connection pool settings for a service?

B.VirtualService
C.ServiceEntry
D.Sidecar
E.DestinationRule
AnswerE

DestinationRule defines traffic policy for a service after routing, and its connectionPool block specifies TCP and HTTP limits such as maxConnections and http1MaxPendingRequests. This satisfies the stem's requirement to configure connection pool settings per service, unlike VirtualService, which handles routing rules rather than pool limits.

Why this answer

Connection pool settings are part of the trafficPolicy within a DestinationRule.

36
MCQhard

In OutlierDetection, what is the effect of setting 'maxEjectionPercent' to 0?

A.It makes the ejection time infinite.
B.It forces all hosts to be healthy.
C.It ejects hosts immediately.
D.It disables outlier detection.
E.It ejects all hosts.
AnswerD

maxEjectionPercent caps the share of endpoints that may be ejected from a load-balancing pool. Setting it to 0 permits no endpoints to be removed, so outlier detection effectively stops ejecting hosts and the feature is disabled.

Why this answer

Setting this to 0 effectively disables outlier detection, as no hosts can be ejected.

37
MCQmedium

When configuring circuit breaking, what does 'maxRequestsPerConnection' control?

A.The number of concurrent requests.
B.The number of requests per individual connection.
C.The total number of requests sent to a service.
D.The latency of each request.
E.The size of the request body.
AnswerB

The `maxRequestsPerConnection` field caps how many requests may traverse a single HTTP/1.1 or HTTP/2 connection before Istio closes and reopens it. This satisfies the stem's circuit-breaking constraint by bounding per-connection request volume, forcing periodic connection recycling rather than limiting concurrent requests or retries.

Why this answer

It limits the number of requests that can be sent over a single keep-alive connection, useful to prevent connection starvation.

38
MCQeasy

Can you configure fault injection for specific traffic patterns, such as user headers?

A.No, fault injection is global for the service.
B.No, it must be applied via global EnvoyFilter.
C.Yes, by adding a 'match' criteria in the VirtualService.
D.Yes, but only via DestinationRule.
E.Yes, but only for egress traffic.
AnswerC

VirtualService fault injection supports a match block, so you can scope the abort or delay to requests carrying specific headers such as a user identifier. Without match, the fault applies to all traffic to that host.

Why this answer

Yes, fault injection can be scoped to specific route matches in a VirtualService.

39
Multi-Selectmedium

Which TWO of the following are valid fault injection types in Istio?

Select 2 answers
A.retry
B.timeout
C.redirect
D.delay
E.abort
AnswersD, E

Delay injects a fixed latency into matching requests before they reach the target, using the HTTPFaultInjection delay field with a specified duration. This satisfies the stem's requirement for a valid Istio fault injection type, since Istio supports both delay and abort faults, letting you simulate slow upstream services without altering application code.

Why this answer

Istio natively supports abort (returning an error) and delay (simulating latency).

40
Multi-Selecthard

Which THREE settings are part of the 'connectionPool' configuration in a DestinationRule?

Select 3 answers
B.http2
C.grpc
D.tls
E.tcp
AnswersA, B, E

The `http` field configures HTTP-specific connection pool limits, namely `http1MaxPendingRequests`, `http2MaxRequests` and `maxRequestsPerConnection`, which govern request-level queuing and reuse. This satisfies the stem's requirement for a `connectionPool` setting, as distinct from TCP-level limits such as `maxConnections` and `connectTimeout`.

Why this answer

In an Istio DestinationRule, the connectionPool field is a TrafficPolicy-level setting that contains three protocol-specific sub-fields: tcp, http, and http2. Option A (http) is correct because connectionPool.http configures HTTP/1.1 connection pool limits such as http1MaxPendingRequests, http1MaxRequestsPerConnection, maxRequestsPerConnection, and idleTimeout. Option B (http2) is correct because connectionPool.http2 configures HTTP/2-specific limits such as maxRequestsPerConnection and idleTimeout for HTTP/2 traffic.

Option E (tcp) is correct because connectionPool.tcp configures TCP-level settings including maxConnections, connectTimeout, and tcpKeepalive. Option C (grpc) is not a connectionPool sub-field; gRPC traffic is governed through the http2 pool settings. Option D (tls) is not part of connectionPool; TLS-related settings in a DestinationRule live under trafficPolicy.tls (e.g., mode, clientCertificate) or under the port-level tls block.

41
MCQhard

To test the resilience of your microservice architecture, you want to introduce a 5-second delay to 50% of the requests directed to the 'catalog-service'. Where do you define this configuration?

A.DestinationRule
B.VirtualService
D.ServiceEntry
AnswerB

Istio applies traffic-shaping rules such as fault injection through VirtualService, which supports an HTTP fault with a fixed delay and a percentage match on the catalog-service host. DestinationRule handles load balancing and connection pools, not request delays.

Why this answer

A VirtualService is used to define traffic routing rules, including fault injection such as delays and aborts. To introduce a 5-second delay to 50% of requests to 'catalog-service', you configure a fault delay in the VirtualService's HTTP route. This allows testing resilience without modifying the application.

Exam trap

ICA often tests the confusion between VirtualService and DestinationRule, leading candidates to pick DestinationRule for fault injection.

How to eliminate wrong answers

Option A is wrong because DestinationRule defines policies for traffic after routing, such as load balancing, connection pool, and outlier detection, but not fault injection. Option C is wrong because Gateway configures ingress/egress traffic at the edge, not internal service-to-service fault injection. Option D is wrong because ServiceEntry adds external services to the mesh, not for fault injection.

42
MCQhard

You configure a VirtualService for the 'payments' service with an HTTP route that applies a retry policy of 3 attempts with a 2s perTryTimeout, and a global timeout of 5s. During peak load, callers report that requests fail after roughly 5 seconds even though some retries were still in flight. Which behavior of the global timeout explains this?

A.The global timeout is the total time budget for the entire request including all retry attempts; once it elapses, the request fails regardless of remaining retries.
B.The global timeout only applies to websocket and streaming routes; for standard HTTP it is overridden by perTryTimeout, so 5s is irrelevant.
C.The global timeout is ignored whenever a retry policy is present, so the 5s failures must come from the application itself.
D.The global timeout applies only to the first attempt, and subsequent retries each get a fresh 5s budget, so failures at 5s are coincidental.
AnswerA

Istio's HTTPRoute timeout defines the overall deadline for the request as a whole, encompassing all retries. If the 5s global timeout expires while retries are still pending, Envoy terminates the request and returns a timeout to the caller. This is exactly why callers see failures near 5 seconds even when individual retries had not yet been exhausted, since the aggregate budget was consumed.

Why this answer

The route-level timeout is the overall deadline for the request, covering all attempts and retries. When it expires, Envoy ends the request even if retries remain, so a 5s timeout produces failures near 5s. perTryTimeout only limits each individual attempt, so it cannot extend the total budget beyond the global timeout. The observed timing matches the aggregate deadline.

Exam trap

The trap here is assuming the global timeout resets for each retry attempt rather than acting as a single overall deadline for the entire request.

Ready to test yourself?

Try a timed practice session using only Resilience And Fault Injection questions.

CCNA Resilience And Fault Injection Questions | Courseiva