2 top-level fields · last changed in Istio 1.31.0
Configuration affecting load balancing, outlier detection, etc. See more details at: https://istio.io/docs/reference/config/networking/destination-rule.html
A list of namespaces to which this destination rule is exported.
The name of a service from the service registry.
One or more named sets that represent individual versions of a service.
Labels apply a filter over the endpoints of a service in the service registry.
Name of the subset.
Traffic policies that apply to this subset.
HTTP connection pool settings.
Specify if http1.1 connection should be upgraded to http2 for the associated destination. Valid Options: DEFAULT, DO_NOT_UPGRADE, UPGRADE
Maximum number of requests that will be queued while waiting for a ready connection pool connection.
Configure HTTP/2 PING frames for upstream connections.
Send HTTP/2 PING frames at this interval.
How long to wait for a response to an HTTP/2 PING frame before closing the connection.
Maximum number of active requests to a destination.
The idle timeout for upstream connection pool connections.
The maximum number of concurrent streams allowed for a peer on one HTTP/2 connection.
Maximum number of requests per connection to a backend.
Maximum number of retries that can be outstanding to all hosts in a cluster at a given time.
If set to true, client protocol will be preserved while initiating connection to backend.
Settings common to both HTTP and TCP upstream connections.
TCP connection timeout.
The idle timeout for TCP connections.
The maximum duration of a connection.
Maximum number of HTTP1 /TCP connections to a destination host.
If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
The time duration between keep-alive probes.
Maximum number of keepalive probes to send without response before deciding the connection is dead.
The time duration a connection needs to be idle before keep-alive probes start being sent.
Settings controlling the load balancer algorithms.
Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP headers, cookies or other properties.
Hash based on HTTP cookie.
Additional attributes for the cookie.
The name of the cookie attribute.
The optional value of the cookie attribute.
Name of the cookie.
Path to set for the cookie.
Lifetime of the cookie.
Hash based on a specific HTTP header.
Hash based on a specific HTTP query parameter.
The Maglev load balancer implements consistent hashing to backend hosts.
The table size for Maglev hashing.
Deprecated.
The ring/modulo hash load balancer implements consistent hashing to backend hosts.
The minimum number of virtual nodes to use for the hash ring.
Hash based on the source IP address.
Locality load balancer settings.
Optional: only one of distribute, failover or failoverPriority can be set.
Originating locality, '/' separated, e.g.
Map of upstream localities to traffic distribution weights.
Enable locality load balancing.
Optional: only one of distribute, failover or failoverPriority can be set.
Originating region.
Destination region the traffic will fail over to when endpoints in the 'from' region becomes unhealthy.
failoverPriority is an ordered list of labels used to sort endpoints to do priority based load balancing.
Standard load balancing algorithms that require no tuning. Valid Options: LEAST_CONN, RANDOM, PASSTHROUGH, ROUND_ROBIN, LEAST_REQUEST
Represents the warmup configuration of Service.
This parameter controls the speed of traffic increase over the warmup duration.
Deprecated: use `warmup` instead.
Zone Aware load balancer settings.
Enable zone aware load balancing.
Optional.
Originating region.
Destination region the traffic will fail over to when endpoints in the 'from' region becomes unhealthy.
failoverPriority is an ordered list of labels used to sort endpoints for priority-based load balancing.
Minimum number of hosts in the upstream cluster's local region required for zone-aware load balancing to be enabled.
Minimum ejection duration.
Number of 5xx errors before a host is ejected from the connection pool.
Number of gateway errors before a host is ejected from the connection pool.
The number of consecutive locally originated failures before ejection occurs.
Time interval between ejection sweep analysis.
Maximum % of hosts in the load balancing pool for the upstream service that can be ejected.
Outlier detection will be enabled as long as the associated load balancing pool has at least `minHealthPercent` hosts in healthy mode.
Specifies the HTTP response status codes that are treated as outlier detection errors.
Determines whether to distinguish local origin failures from external errors.
Traffic policies specific to individual ports.
HTTP connection pool settings.
Specify if http1.1 connection should be upgraded to http2 for the associated destination. Valid Options: DEFAULT, DO_NOT_UPGRADE, UPGRADE
Maximum number of requests that will be queued while waiting for a ready connection pool connection.
Configure HTTP/2 PING frames for upstream connections.
Send HTTP/2 PING frames at this interval.
How long to wait for a response to an HTTP/2 PING frame before closing the connection.
Maximum number of active requests to a destination.
The idle timeout for upstream connection pool connections.
The maximum number of concurrent streams allowed for a peer on one HTTP/2 connection.
Maximum number of requests per connection to a backend.
Maximum number of retries that can be outstanding to all hosts in a cluster at a given time.
If set to true, client protocol will be preserved while initiating connection to backend.
Settings common to both HTTP and TCP upstream connections.
TCP connection timeout.
The idle timeout for TCP connections.
The maximum duration of a connection.
Maximum number of HTTP1 /TCP connections to a destination host.
If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
The time duration between keep-alive probes.
Maximum number of keepalive probes to send without response before deciding the connection is dead.
The time duration a connection needs to be idle before keep-alive probes start being sent.
Settings controlling the load balancer algorithms.
Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP headers, cookies or other properties.
Hash based on HTTP cookie.
Additional attributes for the cookie.
The name of the cookie attribute.
The optional value of the cookie attribute.
Name of the cookie.
Path to set for the cookie.
Lifetime of the cookie.
Hash based on a specific HTTP header.
Hash based on a specific HTTP query parameter.
The Maglev load balancer implements consistent hashing to backend hosts.
The table size for Maglev hashing.
Deprecated.
The ring/modulo hash load balancer implements consistent hashing to backend hosts.
The minimum number of virtual nodes to use for the hash ring.
Hash based on the source IP address.
Locality load balancer settings.
Optional: only one of distribute, failover or failoverPriority can be set.
Originating locality, '/' separated, e.g.
Map of upstream localities to traffic distribution weights.
Enable locality load balancing.
Optional: only one of distribute, failover or failoverPriority can be set.
Originating region.
Destination region the traffic will fail over to when endpoints in the 'from' region becomes unhealthy.
failoverPriority is an ordered list of labels used to sort endpoints to do priority based load balancing.
Standard load balancing algorithms that require no tuning. Valid Options: LEAST_CONN, RANDOM, PASSTHROUGH, ROUND_ROBIN, LEAST_REQUEST
Represents the warmup configuration of Service.
This parameter controls the speed of traffic increase over the warmup duration.
Deprecated: use `warmup` instead.
Zone Aware load balancer settings.
Enable zone aware load balancing.
Optional.
Originating region.
Destination region the traffic will fail over to when endpoints in the 'from' region becomes unhealthy.
failoverPriority is an ordered list of labels used to sort endpoints for priority-based load balancing.
Minimum number of hosts in the upstream cluster's local region required for zone-aware load balancing to be enabled.
Minimum ejection duration.
Number of 5xx errors before a host is ejected from the connection pool.
Number of gateway errors before a host is ejected from the connection pool.
The number of consecutive locally originated failures before ejection occurs.
Time interval between ejection sweep analysis.
Maximum % of hosts in the load balancing pool for the upstream service that can be ejected.
Outlier detection will be enabled as long as the associated load balancing pool has at least `minHealthPercent` hosts in healthy mode.
Specifies the HTTP response status codes that are treated as outlier detection errors.
Determines whether to distinguish local origin failures from external errors.
Specifies the number of a port on the destination service on which this policy is being applied.
TLS related settings for connections to the upstream service.
OPTIONAL: The path to the file containing certificate authority certificates to use in verifying a presented server certificate.
OPTIONAL: The path to the file containing the certificate revocation list (CRL) to use in verifying a presented server certificate.
REQUIRED if mode is `MUTUAL`.
The name of the secret that holds the TLS certs for the client including the CA certificates.
`insecureSkipVerify` specifies whether the proxy should skip verifying the CA signature and SAN for the server certificate corresponding to the host.
Indicates whether connections to this port should be secured using TLS. Valid Options: DISABLE, SIMPLE, MUTUAL, ISTIO_MUTUAL
REQUIRED if mode is `MUTUAL`.
SNI string to present to the server during TLS handshake.
A list of alternate names to verify the subject identity in the certificate.
The upstream PROXY protocol settings.
The PROXY protocol version to use. Valid Options: V1, V2
Specifies a limit on concurrent retries in relation to the number of active requests.
Specifies the duration in which requests will be considered when calculating the budget for retries.
Specifies the minimum retry concurrency allowed for the retry budget.
Specifies the limit on concurrent retries as a percentage of the sum of active requests and active pending requests.
TLS related settings for connections to the upstream service.
OPTIONAL: The path to the file containing certificate authority certificates to use in verifying a presented server certificate.
OPTIONAL: The path to the file containing the certificate revocation list (CRL) to use in verifying a presented server certificate.
REQUIRED if mode is `MUTUAL`.
The name of the secret that holds the TLS certs for the client including the CA certificates.
`insecureSkipVerify` specifies whether the proxy should skip verifying the CA signature and SAN for the server certificate corresponding to the host.
Indicates whether connections to this port should be secured using TLS. Valid Options: DISABLE, SIMPLE, MUTUAL, ISTIO_MUTUAL
REQUIRED if mode is `MUTUAL`.
SNI string to present to the server during TLS handshake.
A list of alternate names to verify the subject identity in the certificate.
Configuration of tunneling TCP over other transport or application layers for the host configured in the DestinationRule.
Specifies which protocol to use for tunneling the downstream connection.
Specifies a host to which the downstream connection is tunneled.
Specifies a port to which the downstream connection is tunneled.
Traffic policies to apply (load balancing policy, connection pool sizes, outlier detection).
HTTP connection pool settings.
Specify if http1.1 connection should be upgraded to http2 for the associated destination. Valid Options: DEFAULT, DO_NOT_UPGRADE, UPGRADE
Maximum number of requests that will be queued while waiting for a ready connection pool connection.
Configure HTTP/2 PING frames for upstream connections.
Send HTTP/2 PING frames at this interval.
How long to wait for a response to an HTTP/2 PING frame before closing the connection.
Maximum number of active requests to a destination.
The idle timeout for upstream connection pool connections.
The maximum number of concurrent streams allowed for a peer on one HTTP/2 connection.
Maximum number of requests per connection to a backend.
Maximum number of retries that can be outstanding to all hosts in a cluster at a given time.
If set to true, client protocol will be preserved while initiating connection to backend.
Settings common to both HTTP and TCP upstream connections.
TCP connection timeout.
The idle timeout for TCP connections.
The maximum duration of a connection.
Maximum number of HTTP1 /TCP connections to a destination host.
If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
The time duration between keep-alive probes.
Maximum number of keepalive probes to send without response before deciding the connection is dead.
The time duration a connection needs to be idle before keep-alive probes start being sent.
Settings controlling the load balancer algorithms.
Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP headers, cookies or other properties.
Hash based on HTTP cookie.
Additional attributes for the cookie.
The name of the cookie attribute.
The optional value of the cookie attribute.
Name of the cookie.
Path to set for the cookie.
Lifetime of the cookie.
Hash based on a specific HTTP header.
Hash based on a specific HTTP query parameter.
The Maglev load balancer implements consistent hashing to backend hosts.
The table size for Maglev hashing.
Deprecated.
The ring/modulo hash load balancer implements consistent hashing to backend hosts.
The minimum number of virtual nodes to use for the hash ring.
Hash based on the source IP address.
Locality load balancer settings.
Optional: only one of distribute, failover or failoverPriority can be set.
Originating locality, '/' separated, e.g.
Map of upstream localities to traffic distribution weights.
Enable locality load balancing.
Optional: only one of distribute, failover or failoverPriority can be set.
Originating region.
Destination region the traffic will fail over to when endpoints in the 'from' region becomes unhealthy.
failoverPriority is an ordered list of labels used to sort endpoints to do priority based load balancing.
Standard load balancing algorithms that require no tuning. Valid Options: LEAST_CONN, RANDOM, PASSTHROUGH, ROUND_ROBIN, LEAST_REQUEST
Represents the warmup configuration of Service.
This parameter controls the speed of traffic increase over the warmup duration.
Deprecated: use `warmup` instead.
Zone Aware load balancer settings.
Enable zone aware load balancing.
Optional.
Originating region.
Destination region the traffic will fail over to when endpoints in the 'from' region becomes unhealthy.
failoverPriority is an ordered list of labels used to sort endpoints for priority-based load balancing.
Minimum number of hosts in the upstream cluster's local region required for zone-aware load balancing to be enabled.
Minimum ejection duration.
Number of 5xx errors before a host is ejected from the connection pool.
Number of gateway errors before a host is ejected from the connection pool.
The number of consecutive locally originated failures before ejection occurs.
Time interval between ejection sweep analysis.
Maximum % of hosts in the load balancing pool for the upstream service that can be ejected.
Outlier detection will be enabled as long as the associated load balancing pool has at least `minHealthPercent` hosts in healthy mode.
Specifies the HTTP response status codes that are treated as outlier detection errors.
Determines whether to distinguish local origin failures from external errors.
Traffic policies specific to individual ports.
HTTP connection pool settings.
Specify if http1.1 connection should be upgraded to http2 for the associated destination. Valid Options: DEFAULT, DO_NOT_UPGRADE, UPGRADE
Maximum number of requests that will be queued while waiting for a ready connection pool connection.
Configure HTTP/2 PING frames for upstream connections.
Send HTTP/2 PING frames at this interval.
How long to wait for a response to an HTTP/2 PING frame before closing the connection.
Maximum number of active requests to a destination.
The idle timeout for upstream connection pool connections.
The maximum number of concurrent streams allowed for a peer on one HTTP/2 connection.
Maximum number of requests per connection to a backend.
Maximum number of retries that can be outstanding to all hosts in a cluster at a given time.
If set to true, client protocol will be preserved while initiating connection to backend.
Settings common to both HTTP and TCP upstream connections.
TCP connection timeout.
The idle timeout for TCP connections.
The maximum duration of a connection.
Maximum number of HTTP1 /TCP connections to a destination host.
If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
The time duration between keep-alive probes.
Maximum number of keepalive probes to send without response before deciding the connection is dead.
The time duration a connection needs to be idle before keep-alive probes start being sent.
Settings controlling the load balancer algorithms.
Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP headers, cookies or other properties.
Hash based on HTTP cookie.
Additional attributes for the cookie.
The name of the cookie attribute.
The optional value of the cookie attribute.
Name of the cookie.
Path to set for the cookie.
Lifetime of the cookie.
Hash based on a specific HTTP header.
Hash based on a specific HTTP query parameter.
The Maglev load balancer implements consistent hashing to backend hosts.
The table size for Maglev hashing.
Deprecated.
The ring/modulo hash load balancer implements consistent hashing to backend hosts.
The minimum number of virtual nodes to use for the hash ring.
Hash based on the source IP address.
Locality load balancer settings.
Optional: only one of distribute, failover or failoverPriority can be set.
Originating locality, '/' separated, e.g.
Map of upstream localities to traffic distribution weights.
Enable locality load balancing.
Optional: only one of distribute, failover or failoverPriority can be set.
Originating region.
Destination region the traffic will fail over to when endpoints in the 'from' region becomes unhealthy.
failoverPriority is an ordered list of labels used to sort endpoints to do priority based load balancing.
Standard load balancing algorithms that require no tuning. Valid Options: LEAST_CONN, RANDOM, PASSTHROUGH, ROUND_ROBIN, LEAST_REQUEST
Represents the warmup configuration of Service.
This parameter controls the speed of traffic increase over the warmup duration.
Deprecated: use `warmup` instead.
Zone Aware load balancer settings.
Enable zone aware load balancing.
Optional.
Originating region.
Destination region the traffic will fail over to when endpoints in the 'from' region becomes unhealthy.
failoverPriority is an ordered list of labels used to sort endpoints for priority-based load balancing.
Minimum number of hosts in the upstream cluster's local region required for zone-aware load balancing to be enabled.
Minimum ejection duration.
Number of 5xx errors before a host is ejected from the connection pool.
Number of gateway errors before a host is ejected from the connection pool.
The number of consecutive locally originated failures before ejection occurs.
Time interval between ejection sweep analysis.
Maximum % of hosts in the load balancing pool for the upstream service that can be ejected.
Outlier detection will be enabled as long as the associated load balancing pool has at least `minHealthPercent` hosts in healthy mode.
Specifies the HTTP response status codes that are treated as outlier detection errors.
Determines whether to distinguish local origin failures from external errors.
Specifies the number of a port on the destination service on which this policy is being applied.
TLS related settings for connections to the upstream service.
OPTIONAL: The path to the file containing certificate authority certificates to use in verifying a presented server certificate.
OPTIONAL: The path to the file containing the certificate revocation list (CRL) to use in verifying a presented server certificate.
REQUIRED if mode is `MUTUAL`.
The name of the secret that holds the TLS certs for the client including the CA certificates.
`insecureSkipVerify` specifies whether the proxy should skip verifying the CA signature and SAN for the server certificate corresponding to the host.
Indicates whether connections to this port should be secured using TLS. Valid Options: DISABLE, SIMPLE, MUTUAL, ISTIO_MUTUAL
REQUIRED if mode is `MUTUAL`.
SNI string to present to the server during TLS handshake.
A list of alternate names to verify the subject identity in the certificate.
The upstream PROXY protocol settings.
The PROXY protocol version to use. Valid Options: V1, V2
Specifies a limit on concurrent retries in relation to the number of active requests.
Specifies the duration in which requests will be considered when calculating the budget for retries.
Specifies the minimum retry concurrency allowed for the retry budget.
Specifies the limit on concurrent retries as a percentage of the sum of active requests and active pending requests.
TLS related settings for connections to the upstream service.
OPTIONAL: The path to the file containing certificate authority certificates to use in verifying a presented server certificate.
OPTIONAL: The path to the file containing the certificate revocation list (CRL) to use in verifying a presented server certificate.
REQUIRED if mode is `MUTUAL`.
The name of the secret that holds the TLS certs for the client including the CA certificates.
`insecureSkipVerify` specifies whether the proxy should skip verifying the CA signature and SAN for the server certificate corresponding to the host.
Indicates whether connections to this port should be secured using TLS. Valid Options: DISABLE, SIMPLE, MUTUAL, ISTIO_MUTUAL
REQUIRED if mode is `MUTUAL`.
SNI string to present to the server during TLS handshake.
A list of alternate names to verify the subject identity in the certificate.
Configuration of tunneling TCP over other transport or application layers for the host configured in the DestinationRule.
Specifies which protocol to use for tunneling the downstream connection.
Specifies a host to which the downstream connection is tunneled.
Specifies a port to which the downstream connection is tunneled.
Criteria used to select the specific set of pods/VMs on which this `DestinationRule` configuration should be applied.
One or more labels that indicate a specific set of pods/VMs on which a policy should be applied.
Current service state of the resource.
Last time we probed the condition.
Last time the condition transitioned from one status to another.
Human-readable message indicating details about last transition.
Resource Generation to which the Condition refers.
Unique, one-word, CamelCase reason for the condition's last transition.
Status is the status of the condition.
Type is the type of the condition.
Includes any errors or warnings detected by Istio's analyzers.
A url pointing to the Istio documentation for this specific error type.
Represents how severe a message is. Valid Options: UNKNOWN, ERROR, WARNING, INFO
A 7 character code matching `^IST[0-9]{4}$` intended to uniquely identify the message type.
A human-readable name for the message type.
Source: crd-all.gen.yaml
Changes to DestinationRule (networking.istio.io/v1) in each Istio version, compared to the version before it.
14 properties have been added
12 properties have changed the description
Released · View DestinationRule in 1.31.0
4 properties have been added
Released · View DestinationRule in 1.28.0
2 properties have been added
Released · View DestinationRule in 1.27.0
1 property has been added
1 property has changed the description
Released · View DestinationRule in 1.25.0
8 properties have changed the description
Released · View DestinationRule in 1.24.3
7 properties have been added
4 properties have changed the description
Released · View DestinationRule in 1.24.0
DestinationRule was first seen on this version of Istio
Released · View DestinationRule in 1.22.0
No examples of DestinationRule yet. Contribute one on GitHub.