DestinationRule
networking.istio.io / v1
apiVersion: networking.istio.io/v1
kind: DestinationRule
metadata:
name: example
spec object
Configuration affecting load balancing, outlier detection, etc. See more details at: https://istio.io/docs/reference/config/networking/destination-rule.html
exportTo
[]string
A list of namespaces to which this destination rule is exported.
host
string required
The name of a service from the service registry.
subsets []object
One or more named sets that represent individual versions of a service.
labels
object
Labels apply a filter over the endpoints of a service in the service registry.
name
string required
Name of the subset.
trafficPolicy object
Traffic policies that apply to this subset.
connectionPool object
http object
HTTP connection pool settings.
h2UpgradePolicy
string
Specify if http1.1 connection should be upgraded to http2 for the associated destination.
Valid Options: DEFAULT, DO_NOT_UPGRADE, UPGRADE
enum:
DEFAULT, DO_NOT_UPGRADE, UPGRADE
http1MaxPendingRequests
integer
Maximum number of requests that will be queued while waiting for a ready connection pool connection.
format:
int32
http2MaxRequests
integer
Maximum number of active requests to a destination.
format:
int32
idleTimeout
string
The idle timeout for upstream connection pool connections.
maxConcurrentStreams
integer
The maximum number of concurrent streams allowed for a peer on one HTTP/2 connection.
format:
int32
maxRequestsPerConnection
integer
Maximum number of requests per connection to a backend.
format:
int32
maxRetries
integer
Maximum number of retries that can be outstanding to all hosts in a cluster at a given time.
format:
int32
useClientProtocol
boolean
If set to true, client protocol will be preserved while initiating connection to backend.
tcp object
Settings common to both HTTP and TCP upstream connections.
connectTimeout
string
TCP connection timeout.
idleTimeout
string
The idle timeout for TCP connections.
maxConnectionDuration
string
The maximum duration of a connection.
maxConnections
integer
Maximum number of HTTP1 /TCP connections to a destination host.
format:
int32tcpKeepalive object
If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
interval
string
The time duration between keep-alive probes.
probes
integer
Maximum number of keepalive probes to send without response before deciding the connection is dead.
minimum:
0maximum:
4.294967295e+09
time
string
The time duration a connection needs to be idle before keep-alive probes start being sent.
loadBalancer object
Settings controlling the load balancer algorithms.
consistentHash object
httpCookie object
Hash based on HTTP cookie.
name
string required
Name of the cookie.
path
string
Path to set for the cookie.
ttl
string
Lifetime of the cookie.
httpHeaderName
string
Hash based on a specific HTTP header.
httpQueryParameterName
string
Hash based on a specific HTTP query parameter.
maglev object
The Maglev load balancer implements consistent hashing to backend hosts.
tableSize
integer
The table size for Maglev hashing.
minimum:
0
minimumRingSize
integer
Deprecated.
minimum:
0ringHash object
The ring/modulo hash load balancer implements consistent hashing to backend hosts.
minimumRingSize
integer
The minimum number of virtual nodes to use for the hash ring.
minimum:
0
useSourceIp
boolean
Hash based on the source IP address.
localityLbSetting object
distribute []object
Optional: only one of distribute, failover or failoverPriority can be set.
from
string
Originating locality, '/' separated, e.g.
to
object
Map of upstream localities to traffic distribution weights.
enabled
boolean
enable locality load balancing, this is DestinationRule-level and will override mesh wide settings in entirety.
failover []object
Optional: only one of distribute, failover or failoverPriority can be set.
from
string
Originating region.
to
string
Destination region the traffic will fail over to when endpoints in the 'from' region becomes unhealthy.
failoverPriority
[]string
failoverPriority is an ordered list of labels used to sort endpoints to do priority based load balancing.
simple
string
Valid Options: LEAST_CONN, RANDOM, PASSTHROUGH, ROUND_ROBIN, LEAST_REQUEST
enum:
UNSPECIFIED, LEAST_CONN, RANDOM, PASSTHROUGH, ROUND_ROBIN, LEAST_REQUEST
warmupDurationSecs
string
Represents the warmup duration of Service.
outlierDetection object
baseEjectionTime
string
Minimum ejection duration.
consecutive5xxErrors
integer
Number of 5xx errors before a host is ejected from the connection pool.
minimum:
0maximum:
4.294967295e+09
consecutiveErrors
integer
format:
int32
consecutiveGatewayErrors
integer
Number of gateway errors before a host is ejected from the connection pool.
minimum:
0maximum:
4.294967295e+09
consecutiveLocalOriginFailures
integer
The number of consecutive locally originated failures before ejection occurs.
minimum:
0maximum:
4.294967295e+09
interval
string
Time interval between ejection sweep analysis.
maxEjectionPercent
integer
Maximum % of hosts in the load balancing pool for the upstream service that can be ejected.
format:
int32
minHealthPercent
integer
Outlier detection will be enabled as long as the associated load balancing pool has at least min_health_percent hosts in healthy mode.
format:
int32
splitExternalLocalOriginErrors
boolean
Determines whether to distinguish local origin failures from external errors.
portLevelSettings []object
Traffic policies specific to individual ports.
maxItems:
4096connectionPool object
http object
HTTP connection pool settings.
h2UpgradePolicy
string
Specify if http1.1 connection should be upgraded to http2 for the associated destination.
Valid Options: DEFAULT, DO_NOT_UPGRADE, UPGRADE
enum:
DEFAULT, DO_NOT_UPGRADE, UPGRADE
http1MaxPendingRequests
integer
Maximum number of requests that will be queued while waiting for a ready connection pool connection.
format:
int32
http2MaxRequests
integer
Maximum number of active requests to a destination.
format:
int32
idleTimeout
string
The idle timeout for upstream connection pool connections.
maxConcurrentStreams
integer
The maximum number of concurrent streams allowed for a peer on one HTTP/2 connection.
format:
int32
maxRequestsPerConnection
integer
Maximum number of requests per connection to a backend.
format:
int32
maxRetries
integer
Maximum number of retries that can be outstanding to all hosts in a cluster at a given time.
format:
int32
useClientProtocol
boolean
If set to true, client protocol will be preserved while initiating connection to backend.
tcp object
Settings common to both HTTP and TCP upstream connections.
connectTimeout
string
TCP connection timeout.
idleTimeout
string
The idle timeout for TCP connections.
maxConnectionDuration
string
The maximum duration of a connection.
maxConnections
integer
Maximum number of HTTP1 /TCP connections to a destination host.
format:
int32tcpKeepalive object
If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
interval
string
The time duration between keep-alive probes.
probes
integer
Maximum number of keepalive probes to send without response before deciding the connection is dead.
minimum:
0maximum:
4.294967295e+09
time
string
The time duration a connection needs to be idle before keep-alive probes start being sent.
loadBalancer object
Settings controlling the load balancer algorithms.
consistentHash object
httpCookie object
Hash based on HTTP cookie.
name
string required
Name of the cookie.
path
string
Path to set for the cookie.
ttl
string
Lifetime of the cookie.
httpHeaderName
string
Hash based on a specific HTTP header.
httpQueryParameterName
string
Hash based on a specific HTTP query parameter.
maglev object
The Maglev load balancer implements consistent hashing to backend hosts.
tableSize
integer
The table size for Maglev hashing.
minimum:
0
minimumRingSize
integer
Deprecated.
minimum:
0ringHash object
The ring/modulo hash load balancer implements consistent hashing to backend hosts.
minimumRingSize
integer
The minimum number of virtual nodes to use for the hash ring.
minimum:
0
useSourceIp
boolean
Hash based on the source IP address.
localityLbSetting object
distribute []object
Optional: only one of distribute, failover or failoverPriority can be set.
from
string
Originating locality, '/' separated, e.g.
to
object
Map of upstream localities to traffic distribution weights.
enabled
boolean
enable locality load balancing, this is DestinationRule-level and will override mesh wide settings in entirety.
failover []object
Optional: only one of distribute, failover or failoverPriority can be set.
from
string
Originating region.
to
string
Destination region the traffic will fail over to when endpoints in the 'from' region becomes unhealthy.
failoverPriority
[]string
failoverPriority is an ordered list of labels used to sort endpoints to do priority based load balancing.
simple
string
Valid Options: LEAST_CONN, RANDOM, PASSTHROUGH, ROUND_ROBIN, LEAST_REQUEST
enum:
UNSPECIFIED, LEAST_CONN, RANDOM, PASSTHROUGH, ROUND_ROBIN, LEAST_REQUEST
warmupDurationSecs
string
Represents the warmup duration of Service.
outlierDetection object
baseEjectionTime
string
Minimum ejection duration.
consecutive5xxErrors
integer
Number of 5xx errors before a host is ejected from the connection pool.
minimum:
0maximum:
4.294967295e+09
consecutiveErrors
integer
format:
int32
consecutiveGatewayErrors
integer
Number of gateway errors before a host is ejected from the connection pool.
minimum:
0maximum:
4.294967295e+09
consecutiveLocalOriginFailures
integer
The number of consecutive locally originated failures before ejection occurs.
minimum:
0maximum:
4.294967295e+09
interval
string
Time interval between ejection sweep analysis.
maxEjectionPercent
integer
Maximum % of hosts in the load balancing pool for the upstream service that can be ejected.
format:
int32
minHealthPercent
integer
Outlier detection will be enabled as long as the associated load balancing pool has at least min_health_percent hosts in healthy mode.
format:
int32
splitExternalLocalOriginErrors
boolean
Determines whether to distinguish local origin failures from external errors.
port object
Specifies the number of a port on the destination service on which this policy is being applied.
number
integer
minimum:
0maximum:
4.294967295e+09tls object
TLS related settings for connections to the upstream service.
caCertificates
string
OPTIONAL: The path to the file containing certificate authority certificates to use in verifying a presented server certificate.
caCrl
string
OPTIONAL: The path to the file containing the certificate revocation list (CRL) to use in verifying a presented server certificate.
clientCertificate
string
REQUIRED if mode is `MUTUAL`.
credentialName
string
The name of the secret that holds the TLS certs for the client including the CA certificates.
insecureSkipVerify
boolean
`insecureSkipVerify` specifies whether the proxy should skip verifying the CA signature and SAN for the server certificate corresponding to the host.
mode
string
Indicates whether connections to this port should be secured using TLS.
Valid Options: DISABLE, SIMPLE, MUTUAL, ISTIO_MUTUAL
enum:
DISABLE, SIMPLE, MUTUAL, ISTIO_MUTUAL
privateKey
string
REQUIRED if mode is `MUTUAL`.
sni
string
SNI string to present to the server during TLS handshake.
subjectAltNames
[]string
A list of alternate names to verify the subject identity in the certificate.
proxyProtocol object
The upstream PROXY protocol settings.
version
string
The PROXY protocol version to use.
Valid Options: V1, V2
enum:
V1, V2tls object
TLS related settings for connections to the upstream service.
caCertificates
string
OPTIONAL: The path to the file containing certificate authority certificates to use in verifying a presented server certificate.
caCrl
string
OPTIONAL: The path to the file containing the certificate revocation list (CRL) to use in verifying a presented server certificate.
clientCertificate
string
REQUIRED if mode is `MUTUAL`.
credentialName
string
The name of the secret that holds the TLS certs for the client including the CA certificates.
insecureSkipVerify
boolean
`insecureSkipVerify` specifies whether the proxy should skip verifying the CA signature and SAN for the server certificate corresponding to the host.
mode
string
Indicates whether connections to this port should be secured using TLS.
Valid Options: DISABLE, SIMPLE, MUTUAL, ISTIO_MUTUAL
enum:
DISABLE, SIMPLE, MUTUAL, ISTIO_MUTUAL
privateKey
string
REQUIRED if mode is `MUTUAL`.
sni
string
SNI string to present to the server during TLS handshake.
subjectAltNames
[]string
A list of alternate names to verify the subject identity in the certificate.
tunnel object
Configuration of tunneling TCP over other transport or application layers for the host configured in the DestinationRule.
protocol
string
Specifies which protocol to use for tunneling the downstream connection.
targetHost
string required
Specifies a host to which the downstream connection is tunneled.
targetPort
integer required
Specifies a port to which the downstream connection is tunneled.
minimum:
0maximum:
4.294967295e+09trafficPolicy object
Traffic policies to apply (load balancing policy, connection pool sizes, outlier detection).
connectionPool object
http object
HTTP connection pool settings.
h2UpgradePolicy
string
Specify if http1.1 connection should be upgraded to http2 for the associated destination.
Valid Options: DEFAULT, DO_NOT_UPGRADE, UPGRADE
enum:
DEFAULT, DO_NOT_UPGRADE, UPGRADE
http1MaxPendingRequests
integer
Maximum number of requests that will be queued while waiting for a ready connection pool connection.
format:
int32
http2MaxRequests
integer
Maximum number of active requests to a destination.
format:
int32
idleTimeout
string
The idle timeout for upstream connection pool connections.
maxConcurrentStreams
integer
The maximum number of concurrent streams allowed for a peer on one HTTP/2 connection.
format:
int32
maxRequestsPerConnection
integer
Maximum number of requests per connection to a backend.
format:
int32
maxRetries
integer
Maximum number of retries that can be outstanding to all hosts in a cluster at a given time.
format:
int32
useClientProtocol
boolean
If set to true, client protocol will be preserved while initiating connection to backend.
tcp object
Settings common to both HTTP and TCP upstream connections.
connectTimeout
string
TCP connection timeout.
idleTimeout
string
The idle timeout for TCP connections.
maxConnectionDuration
string
The maximum duration of a connection.
maxConnections
integer
Maximum number of HTTP1 /TCP connections to a destination host.
format:
int32tcpKeepalive object
If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
interval
string
The time duration between keep-alive probes.
probes
integer
Maximum number of keepalive probes to send without response before deciding the connection is dead.
minimum:
0maximum:
4.294967295e+09
time
string
The time duration a connection needs to be idle before keep-alive probes start being sent.
loadBalancer object
Settings controlling the load balancer algorithms.
consistentHash object
httpCookie object
Hash based on HTTP cookie.
name
string required
Name of the cookie.
path
string
Path to set for the cookie.
ttl
string
Lifetime of the cookie.
httpHeaderName
string
Hash based on a specific HTTP header.
httpQueryParameterName
string
Hash based on a specific HTTP query parameter.
maglev object
The Maglev load balancer implements consistent hashing to backend hosts.
tableSize
integer
The table size for Maglev hashing.
minimum:
0
minimumRingSize
integer
Deprecated.
minimum:
0ringHash object
The ring/modulo hash load balancer implements consistent hashing to backend hosts.
minimumRingSize
integer
The minimum number of virtual nodes to use for the hash ring.
minimum:
0
useSourceIp
boolean
Hash based on the source IP address.
localityLbSetting object
distribute []object
Optional: only one of distribute, failover or failoverPriority can be set.
from
string
Originating locality, '/' separated, e.g.
to
object
Map of upstream localities to traffic distribution weights.
enabled
boolean
enable locality load balancing, this is DestinationRule-level and will override mesh wide settings in entirety.
failover []object
Optional: only one of distribute, failover or failoverPriority can be set.
from
string
Originating region.
to
string
Destination region the traffic will fail over to when endpoints in the 'from' region becomes unhealthy.
failoverPriority
[]string
failoverPriority is an ordered list of labels used to sort endpoints to do priority based load balancing.
simple
string
Valid Options: LEAST_CONN, RANDOM, PASSTHROUGH, ROUND_ROBIN, LEAST_REQUEST
enum:
UNSPECIFIED, LEAST_CONN, RANDOM, PASSTHROUGH, ROUND_ROBIN, LEAST_REQUEST
warmupDurationSecs
string
Represents the warmup duration of Service.
outlierDetection object
baseEjectionTime
string
Minimum ejection duration.
consecutive5xxErrors
integer
Number of 5xx errors before a host is ejected from the connection pool.
minimum:
0maximum:
4.294967295e+09
consecutiveErrors
integer
format:
int32
consecutiveGatewayErrors
integer
Number of gateway errors before a host is ejected from the connection pool.
minimum:
0maximum:
4.294967295e+09
consecutiveLocalOriginFailures
integer
The number of consecutive locally originated failures before ejection occurs.
minimum:
0maximum:
4.294967295e+09
interval
string
Time interval between ejection sweep analysis.
maxEjectionPercent
integer
Maximum % of hosts in the load balancing pool for the upstream service that can be ejected.
format:
int32
minHealthPercent
integer
Outlier detection will be enabled as long as the associated load balancing pool has at least min_health_percent hosts in healthy mode.
format:
int32
splitExternalLocalOriginErrors
boolean
Determines whether to distinguish local origin failures from external errors.
portLevelSettings []object
Traffic policies specific to individual ports.
maxItems:
4096connectionPool object
http object
HTTP connection pool settings.
h2UpgradePolicy
string
Specify if http1.1 connection should be upgraded to http2 for the associated destination.
Valid Options: DEFAULT, DO_NOT_UPGRADE, UPGRADE
enum:
DEFAULT, DO_NOT_UPGRADE, UPGRADE
http1MaxPendingRequests
integer
Maximum number of requests that will be queued while waiting for a ready connection pool connection.
format:
int32
http2MaxRequests
integer
Maximum number of active requests to a destination.
format:
int32
idleTimeout
string
The idle timeout for upstream connection pool connections.
maxConcurrentStreams
integer
The maximum number of concurrent streams allowed for a peer on one HTTP/2 connection.
format:
int32
maxRequestsPerConnection
integer
Maximum number of requests per connection to a backend.
format:
int32
maxRetries
integer
Maximum number of retries that can be outstanding to all hosts in a cluster at a given time.
format:
int32
useClientProtocol
boolean
If set to true, client protocol will be preserved while initiating connection to backend.
tcp object
Settings common to both HTTP and TCP upstream connections.
connectTimeout
string
TCP connection timeout.
idleTimeout
string
The idle timeout for TCP connections.
maxConnectionDuration
string
The maximum duration of a connection.
maxConnections
integer
Maximum number of HTTP1 /TCP connections to a destination host.
format:
int32tcpKeepalive object
If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
interval
string
The time duration between keep-alive probes.
probes
integer
Maximum number of keepalive probes to send without response before deciding the connection is dead.
minimum:
0maximum:
4.294967295e+09
time
string
The time duration a connection needs to be idle before keep-alive probes start being sent.
loadBalancer object
Settings controlling the load balancer algorithms.
consistentHash object
httpCookie object
Hash based on HTTP cookie.
name
string required
Name of the cookie.
path
string
Path to set for the cookie.
ttl
string
Lifetime of the cookie.
httpHeaderName
string
Hash based on a specific HTTP header.
httpQueryParameterName
string
Hash based on a specific HTTP query parameter.
maglev object
The Maglev load balancer implements consistent hashing to backend hosts.
tableSize
integer
The table size for Maglev hashing.
minimum:
0
minimumRingSize
integer
Deprecated.
minimum:
0ringHash object
The ring/modulo hash load balancer implements consistent hashing to backend hosts.
minimumRingSize
integer
The minimum number of virtual nodes to use for the hash ring.
minimum:
0
useSourceIp
boolean
Hash based on the source IP address.
localityLbSetting object
distribute []object
Optional: only one of distribute, failover or failoverPriority can be set.
from
string
Originating locality, '/' separated, e.g.
to
object
Map of upstream localities to traffic distribution weights.
enabled
boolean
enable locality load balancing, this is DestinationRule-level and will override mesh wide settings in entirety.
failover []object
Optional: only one of distribute, failover or failoverPriority can be set.
from
string
Originating region.
to
string
Destination region the traffic will fail over to when endpoints in the 'from' region becomes unhealthy.
failoverPriority
[]string
failoverPriority is an ordered list of labels used to sort endpoints to do priority based load balancing.
simple
string
Valid Options: LEAST_CONN, RANDOM, PASSTHROUGH, ROUND_ROBIN, LEAST_REQUEST
enum:
UNSPECIFIED, LEAST_CONN, RANDOM, PASSTHROUGH, ROUND_ROBIN, LEAST_REQUEST
warmupDurationSecs
string
Represents the warmup duration of Service.
outlierDetection object
baseEjectionTime
string
Minimum ejection duration.
consecutive5xxErrors
integer
Number of 5xx errors before a host is ejected from the connection pool.
minimum:
0maximum:
4.294967295e+09
consecutiveErrors
integer
format:
int32
consecutiveGatewayErrors
integer
Number of gateway errors before a host is ejected from the connection pool.
minimum:
0maximum:
4.294967295e+09
consecutiveLocalOriginFailures
integer
The number of consecutive locally originated failures before ejection occurs.
minimum:
0maximum:
4.294967295e+09
interval
string
Time interval between ejection sweep analysis.
maxEjectionPercent
integer
Maximum % of hosts in the load balancing pool for the upstream service that can be ejected.
format:
int32
minHealthPercent
integer
Outlier detection will be enabled as long as the associated load balancing pool has at least min_health_percent hosts in healthy mode.
format:
int32
splitExternalLocalOriginErrors
boolean
Determines whether to distinguish local origin failures from external errors.
port object
Specifies the number of a port on the destination service on which this policy is being applied.
number
integer
minimum:
0maximum:
4.294967295e+09tls object
TLS related settings for connections to the upstream service.
caCertificates
string
OPTIONAL: The path to the file containing certificate authority certificates to use in verifying a presented server certificate.
caCrl
string
OPTIONAL: The path to the file containing the certificate revocation list (CRL) to use in verifying a presented server certificate.
clientCertificate
string
REQUIRED if mode is `MUTUAL`.
credentialName
string
The name of the secret that holds the TLS certs for the client including the CA certificates.
insecureSkipVerify
boolean
`insecureSkipVerify` specifies whether the proxy should skip verifying the CA signature and SAN for the server certificate corresponding to the host.
mode
string
Indicates whether connections to this port should be secured using TLS.
Valid Options: DISABLE, SIMPLE, MUTUAL, ISTIO_MUTUAL
enum:
DISABLE, SIMPLE, MUTUAL, ISTIO_MUTUAL
privateKey
string
REQUIRED if mode is `MUTUAL`.
sni
string
SNI string to present to the server during TLS handshake.
subjectAltNames
[]string
A list of alternate names to verify the subject identity in the certificate.
proxyProtocol object
The upstream PROXY protocol settings.
version
string
The PROXY protocol version to use.
Valid Options: V1, V2
enum:
V1, V2tls object
TLS related settings for connections to the upstream service.
caCertificates
string
OPTIONAL: The path to the file containing certificate authority certificates to use in verifying a presented server certificate.
caCrl
string
OPTIONAL: The path to the file containing the certificate revocation list (CRL) to use in verifying a presented server certificate.
clientCertificate
string
REQUIRED if mode is `MUTUAL`.
credentialName
string
The name of the secret that holds the TLS certs for the client including the CA certificates.
insecureSkipVerify
boolean
`insecureSkipVerify` specifies whether the proxy should skip verifying the CA signature and SAN for the server certificate corresponding to the host.
mode
string
Indicates whether connections to this port should be secured using TLS.
Valid Options: DISABLE, SIMPLE, MUTUAL, ISTIO_MUTUAL
enum:
DISABLE, SIMPLE, MUTUAL, ISTIO_MUTUAL
privateKey
string
REQUIRED if mode is `MUTUAL`.
sni
string
SNI string to present to the server during TLS handshake.
subjectAltNames
[]string
A list of alternate names to verify the subject identity in the certificate.
tunnel object
Configuration of tunneling TCP over other transport or application layers for the host configured in the DestinationRule.
protocol
string
Specifies which protocol to use for tunneling the downstream connection.
targetHost
string required
Specifies a host to which the downstream connection is tunneled.
targetPort
integer required
Specifies a port to which the downstream connection is tunneled.
minimum:
0maximum:
4.294967295e+09workloadSelector object
Criteria used to select the specific set of pods/VMs on which this `DestinationRule` configuration should be applied.
matchLabels
object
One or more labels that indicate a specific set of pods/VMs on which a policy should be applied.
status
object
No matches. Try .spec.exportTo for an exact path