Which THREE fields are found in the 'http' connectionPool configuration?
Limits connection idle time.
Why this answer
http2MaxRequests, maxRequestsPerConnection, and idleTimeout are valid fields.
60 questions · Resilience And Fault Injection topic · All types, answers revealed
Which THREE fields are found in the 'http' connectionPool configuration?
Limits connection idle time.
Why this answer
http2MaxRequests, maxRequestsPerConnection, and idleTimeout are valid fields.
You want to limit the number of concurrent connections to the 'payment' service to 100. Where is this configuration set?
Connection pool settings are defined in the DestinationRule under trafficPolicy.
Why this answer
Connection pool settings are configured under trafficPolicy in the DestinationRule.
What happens if a request times out in Istio?
This is the default standard error returned by Envoy when a timeout is reached.
Why this answer
If a request exceeds the timeout, the proxy terminates the request and returns a 504 Gateway Timeout.
Which TWO of the following are true about Istio Circuit Breakers?
The sidecar enforces it.
Why this answer
Circuit breaking is implemented in the proxy and applies to individual load balancer pools.
Which TWO fields are required when configuring an 'abort' fault injection in a VirtualService?
Defines the error code to return.
Why this answer
Abort requires both the percentage and the specific status code to be returned.
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?
A valid field.
Why this answer
The outlierDetection object supports consecutive5xxErrors, interval, and baseEjectionTime.
What is the default value for 'consecutive5xx' in OutlierDetection?
The standard default is 5.
Why this answer
The default value for consecutive5xx in Istio/Envoy is 5.
You need to limit the number of concurrent connections to the 'orders' service. Which field in the DestinationRule do you configure?
This field specifically governs the maximum concurrent TCP connections.
You want to configure a circuit breaker that only allows 100 concurrent requests to a service. Which field is correct?
This field caps the number of concurrent requests in the pool.
Why this answer
trafficPolicy.connectionPool.http.http1MaxPendingRequests or maxRequests (in versions) is used to control concurrency.
Which field in the trafficPolicy of a DestinationRule controls the maximum number of pending requests in the connection pool?
maxPendingRequests controls the limit of queued requests.
Why this answer
maxRequestsPerConnection is used for HTTP/1.1 and maxPendingRequests for total pending requests.
Which TWO of the following are valid HTTP fault injection delay settings?
Defines the duration of the delay.
Why this answer
fixedDelay and percentage are the two required components.
Which THREE of the following are valid sub-fields of 'outlierDetection'?
Limits number of ejected pods.
Why this answer
interval, baseEjectionTime, and maxEjectionPercent are core fields of outlierDetection.
You need to limit the number of concurrent connections to the 'order-service' to prevent cascading failures. Which Istio resource should you configure?
DestinationRule is the correct resource to define connectionPool settings.
Why this answer
The DestinationRule resource allows you to define traffic policies, including connection pool settings, which control concurrent connections and requests.
How do you specify the percentage of traffic that should experience a fault?
This is the correct nested structure for defining the fault rate.
Why this answer
The 'percentage' field within the fault injection block uses a 'value' field (0-100).
Which setting is used to limit the number of retries for a request?
The 'attempts' field defines the maximum number of retry tries.
Why this answer
The 'retries' policy in a VirtualService allows you to define the number of attempts.
Which TWO are common causes for a service to be ejected by Outlier Detection?
Primary network indicator.
Why this answer
Repeated 5xx errors and gateway failures are the two primary reasons.
What is the consequence of having a timeout that is shorter than the average latency of the service?
The proxy will cut off slow but otherwise healthy requests, returning 504.
Why this answer
If the timeout is too short, requests will be terminated prematurely, causing valid requests to fail.
Which of the following describes the difference between Circuit Breaking and Outlier Detection?
Correct distinction: CB manages concurrency/load, OD manages instance reliability.
Why this answer
Circuit Breaking is for request limits (concurrency), while Outlier Detection is for host health (ejection).
Which of the following is a valid method for performing fault injection?
VirtualService allows the 'fault' block to inject delays or aborts.
Why this answer
Istio supports both delay and abort faults via VirtualService.
Which of the following is true regarding Outlier Detection in Istio?
This is its primary function when configured.
Why this answer
Outlier Detection requires a destination rule and works by ejecting unhealthy instances based on their error rates.
You want to ensure that a request to the 'search' service fails fast if it takes longer than 2 seconds. How is this configured?
The timeout field in the route rule is the standard way to limit request time.
Why this answer
The timeout field in a VirtualService route rule controls the request duration limit.
What is the recommended way to test fault injection in a production environment?
This isolates the impact to test traffic, minimizing risk.
Why this answer
Using header-based matching allows you to target faults to specific test traffic without impacting all users.
You want to ensure that a pod is only ejected if it fails consistently. Which setting is most appropriate?
Increasing both makes the detector less sensitive to transient spikes.
Why this answer
A combination of a longer interval and a higher consecutive error threshold ensures only sustained failures trigger ejection.
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?
Abort is the correct mechanism for simulating service errors.
Why this answer
The abort fault injection allows specifying a status code and percentage.
When using 'maxRequests' in connectionPool, what happens when the threshold is reached?
When the connection pool is full, new requests are rejected immediately.
Why this answer
In Envoy, maxRequests is a circuit-breaking limit that rejects new requests with a 503 error when the limit is exceeded.
What is the primary purpose of adding a timeout to a service call?
By failing fast, you release resources and prevent cascading failure.
Why this answer
Timeouts prevent resources from being held indefinitely by slow or hung services.
Which TWO conditions can trigger Outlier Detection ejection?
Standard error trigger.
Why this answer
Outlier detection uses both consecutive 5xx errors and consecutive gateway failures.
You are testing resilience. You want to inject an HTTP 503 error for 20% of traffic to the 'catalog' service. Which fault setting is correct?
Correct structure for abort fault injection.
Why this answer
The fault injection abort policy requires an HTTP status code and a percentage.
A service is returning 5xx errors frequently. You want to eject instances that return 5 consecutive 5xx errors. Which OutlierDetection setting is required?
This accurately defines the threshold for consecutive 5xx responses before ejection.
Why this answer
consecutive5xx is the field used to trigger ejection based on the count of 5xx errors.
Which field defines how long an ejected pod remains out of the rotation?
This field specifies the length of the ejection period.
Why this answer
baseEjectionTime determines the duration an instance is excluded from the load balancing pool.
Which TWO of the following are valid connectionPool fields?
Defines TCP pooling.
Which THREE items can you configure in a VirtualService to improve resilience?
Handles transient failures.
Why this answer
Timeouts, Retries, and Fault Injection are all controlled within a VirtualService.
Which THREE things happen when a request fails and a retry policy is active?
Validates if the retry is allowed.
Why this answer
The sidecar checks the retry condition, waits for the backoff, and attempts the request again until the limit.
Which THREE of the following are valid fields in a 'retry' policy?
Timeout for each retry.
Why this answer
attempts, perTryTimeout, and retryOn are common retry policy fields.
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?
This is the correct field for triggering host ejection based on error counts.
Why this answer
The 'consecutive5xxErrors' field in the 'outlierDetection' section of a DestinationRule is used to eject unhealthy hosts.
What is the purpose of 'minHealthPercent' in the OutlierDetection configuration?
This prevents 'ejection storms' where too many pods are removed at once.
Why this answer
It prevents the ejection of hosts if it would cause the total cluster health to fall below a specific percentage.
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?
The timeout field is the standard way to define request duration limits.
Why this answer
The timeout setting is defined within the route rule of a VirtualService.
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?
baseEjectionTime defines the duration of the ejection.
Why this answer
The host is ejected from the load balancing pool for 30 seconds.
In a VirtualService, where is the fault injection policy defined?
This is where routing rules and their associated fault policies reside.
Why this answer
The fault field is defined inside the route action block of a VirtualService.
How do you define a circuit breaker that limits the number of pending requests?
This controls the queue size for HTTP requests.
Why this answer
The 'http1MaxPendingRequests' field is used to limit the number of pending requests in the connection pool.
You want to simulate a 5-second network latency for 10% of requests to the 'cart' service. Which VirtualService configuration is correct?
The correct structure for fault injection involves defining the delay duration and the percentage of requests.
Why this answer
The fault injection delay policy requires both a percentage and a fixedDelay duration.
What is the default timeout for an HTTP request in Istio when no VirtualService is defined?
15 seconds is the standard default timeout value in the Envoy proxy configuration managed by Istio.
Why this answer
Istio defaults to 15 seconds for request timeouts if not explicitly configured.
Which THREE settings are part of the 'outlierDetection' configuration in a DestinationRule?
Defines the duration of the analysis window.
Why this answer
The standard fields include consecutive5xxErrors, interval, and baseEjectionTime.
Which TWO parameters affect the 'aggressiveness' of Outlier Detection?
Shorter interval = faster checks.
Why this answer
A short interval and a low consecutive error threshold make the system more aggressive.
Which THREE components are involved in configuring a robust resilience strategy?
Handles circuit breaking/outlier detection.
Why this answer
VirtualService, DestinationRule, and Retries/Timeouts (within VS) are key.
You want to configure outlier detection to eject hosts that return 5xx errors. Is it possible to monitor more than just 5xx codes?
This allows targeting specific types of errors commonly associated with network/mesh issues.
Why this answer
Outlier detection supports consecutive Gateway errors (502, 503, 504) as well as 5xx codes.
Which TWO of the following are valid fields within a DestinationRule's 'trafficPolicy'?
Valid field for defining connection limits.
Why this answer
connectionPool and outlierDetection are primary components of the trafficPolicy.
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?
Increasing the interval makes the detector scan less frequently, reducing the likelihood of premature ejection.
Why this answer
The interval field in OutlierDetection determines how often the health check is performed.
Which field in a VirtualService can you use to retry a request?
This is the block for configuring retries.
Why this answer
The 'retries' field in the HTTP route block allows defining retry attempts and timeout per try.
Which resource is used to configure circuit breaking for a service?
DestinationRule contains the trafficPolicy block for circuit breaking.
Why this answer
DestinationRule is the resource where circuit breaking settings are defined within the trafficPolicy.
What happens when a circuit breaker trips?
The circuit breaker 'opens,' preventing further requests from reaching the unhealthy target.
Why this answer
The circuit breaker stops sending traffic to the unhealthy host, protecting the system from overload.
Which component is responsible for the actual enforcement of circuit breaking and fault injection?
Envoy is the data plane proxy that enforces the rules defined in the CRDs.
Why this answer
The Envoy proxy (sidecar) performs the enforcement based on the configuration pushed by Istiod.
Where do you define the connection pool settings for a service?
DestinationRules define how traffic is handled once it reaches a destination, including connection pooling.
Why this answer
Connection pool settings are part of the trafficPolicy within a DestinationRule.
In OutlierDetection, what is the effect of setting 'maxEjectionPercent' to 0?
If no hosts can be ejected, the feature cannot function.
Why this answer
Setting this to 0 effectively disables outlier detection, as no hosts can be ejected.
When configuring circuit breaking, what does 'maxRequestsPerConnection' control?
This limits how many requests a single keep-alive connection processes before being closed.
Why this answer
It limits the number of requests that can be sent over a single keep-alive connection, useful to prevent connection starvation.
Can you configure fault injection for specific traffic patterns, such as user headers?
The 'match' field allows you to apply faults only to specific traffic (e.g., specific header values).
Why this answer
Yes, fault injection can be scoped to specific route matches in a VirtualService.
Which TWO options are required to properly implement an abort fault injection in a VirtualService?
Required to define the error to return.
Why this answer
To implement an abort, you must specify the 'percentage' and the 'httpStatus' code within the 'fault' block.
Which TWO of the following are valid fault injection types in Istio?
Injects a time delay into the request.
Why this answer
Istio natively supports abort (returning an error) and delay (simulating latency).
Which THREE settings are part of the 'connectionPool' configuration in a DestinationRule?
Contains connection settings for HTTP.
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?
Fault injection is specifically supported within VirtualService routing rules.
Why this answer
Fault injection policies are defined within the 'http' routing rules of a VirtualService.
Ready to test yourself?
Try a timed practice session using only Resilience And Fault Injection questions.