From 323f2a67fa9258eb005edb27252e36a17d2da992 Mon Sep 17 00:00:00 2001
From: Martin Taillefer
-A group of commands used to interact with Istio authentication policies.
- tls-check
-
-Check what authentication policies and destination rules pilot uses to config a proxy instance,
-and check if TLS settings are compatible between them.
- (authz is experimental. Use `istioctl experimental authz`) List the versions of Istio recommended for use or supported for upgrade by this version of the operator binary. List the versions of Istio recommended for use or supported for upgrade by this version of istioctl. The diff subcommand displays the differences between two Istio configuration profiles. Kubernetes webhook for automatic Istio sidecar injection. Check the liveness or readiness of a locally-running server Prints out build version information Configuration affecting the service mesh as a whole. Mirrors k8s.io.api.core.v1. AuthenticationPolicy defines authentication policy. It can be set for
@@ -55,14 +99,14 @@ policy. Certificate configures the provision of a certificate and its key.
Example 1: key and cert stored in a secret
-{ secretName: galley-cert
+{ secretName: galley-cert
secretNamespace: istio-system
dnsNames:
- galley.istio-system.svc
- galley.mydomain.com
}
Example 2: key and cert stored in a directory
-{ dnsNames:
+{ dnsNames:
- pilot.istio-system
- pilot.istio-system.svc
- pilot.mydomain.com
@@ -98,6 +142,155 @@ No
The DNS names for the certificate. A certificate may contain
multiple DNS names. Configuration for internal components. Mirrors k8s.io.api.apps.v1.DeploymentStrategy for unmarshaling. Mirrors k8s.io.api.core.v1.ExecAction for unmarshaling. Configuration for external components. Configuration for gateways. Mirrors k8s.io.api.core.v1.HTTPGetAction for unmarshaling. Mirrors k8s.io.api.core.v1.HTTPHeader for unmarshaling. IstioComponentSpec defines the desired installed state of Istio components. IstioOperatorSpec defines the desired installed state of Istio components.
+The spec is a used to define a customization of the default profile values that are supplied with each Istio release.
+Because the spec is a customization API, specifying an empty IstioOperatorSpec results in a default Istio
+component values. Status describes the current state of a component. Component is not present. Component is being updated to a different version. Controller has started but not yet completed reconciliation loop for the component. Component is healthy. Component is in an error state. VersionStatus is the status and version of a component. Patch for an existing k8s resource. KubernetesResourcesConfig is a common set of k8s resource configs for components. Mirrors k8s.io.api.policy.v1beta1.PodDisruptionBudget for unmarshaling. ProxyConfig defines variables for individual Envoy instances.istioctl authn
-
-
-
-
-
-
-
-Flags
-Shorthand
-Description
-
-
-
---context <string>
- The name of the kubeconfig context to use (default ``)
-
-
-
---istioNamespace <string>
--i
Istio system namespace (default `istio-system`)
-
-
-
---kubeconfig <string>
--c
Kubernetes configuration file (default ``)
-
-
-
---log_output_level <string>
- Comma-separated minimum per-scope logging level of messages to output, in the form of <scope>:<level>,<scope>:<level>,... where scope can be one of [ads, all, analysis, attributes, authn, cache, citadelclient, configmapcontroller, default, googleca, grpcAdapter, installer, mcp, model, patch, processing, rbac, resource, sds, secretfetcher, source, stsclient, tpath, translator, util, validation, vault] and level can be one of [debug, info, warn, error, fatal, none] (default `default:info,validation:error,processing:error,source:error,analysis:warn,installer:warn,translator:warn`)
-
-
-
-
---namespace <string>
--n
Config namespace (default ``)
-Examples
-
-# Check whether TLS setting are matching between authentication policy and destination rules:
-istioctl authn tls-check
-
istioctl authn tls-check
-
-istioctl authn tls-check <pod-name[.namespace]> [<service>] [flags]
-
-
-
-
-
-
-
-Flags
-Shorthand
-Description
-
-
-
---context <string>
- The name of the kubeconfig context to use (default ``)
-
-
-
---istioNamespace <string>
--i
Istio system namespace (default `istio-system`)
-
-
-
---kubeconfig <string>
--c
Kubernetes configuration file (default ``)
-
-
-
---log_output_level <string>
- Comma-separated minimum per-scope logging level of messages to output, in the form of <scope>:<level>,<scope>:<level>,... where scope can be one of [ads, all, analysis, attributes, authn, cache, citadelclient, configmapcontroller, default, googleca, grpcAdapter, installer, mcp, model, patch, processing, rbac, resource, sds, secretfetcher, source, stsclient, tpath, translator, util, validation, vault] and level can be one of [debug, info, warn, error, fatal, none] (default `default:info,validation:error,processing:error,source:error,analysis:warn,installer:warn,translator:warn`)
-
-
-
-
---namespace <string>
--n
Config namespace (default ``)
-Examples
-
-# Check settings for pod "foo-656bd7df7c-5zp4s" in namespace default:
-istioctl authn tls-check foo-656bd7df7c-5zp4s.default
-
-# Check settings for pod "foo-656bd7df7c-5zp4s" in namespace default, filtered on destination
-service "bar" :
-istioctl authn tls-check foo-656bd7df7c-5zp4s.default bar
-
istioctl authz
--output <string>
--o
Output format: one of [yaml log json] (default `log`)
+Output format: one of [log json yaml] (default `log`)
@@ -2888,7 +2790,7 @@ istioctl kube-inject -f samples/bookinfo/platform/kube/bookinfo.yaml \
--output-threshold <Level>
--filename <stringSlice>
--f
Path to file containing IstioOperator CustomResource
+ Path to file containing IstioOperator custom resource
This flag can be specified multiple times to overlay multiple files. Multiple files are overlaid in left to right order. (default `[]`)
@@ -3073,7 +2975,7 @@ e.g.
--filename <stringSlice>
--f
Path to file containing IstioOperator CustomResource
+ Path to file containing IstioOperator custom resource
This flag can be specified multiple times to overlay multiple files. Multiple files are overlaid in left to right order. (default `[]`)
@@ -3201,7 +3103,7 @@ https://istio.io/docs/reference/config/istio.operator.v1alpha12.pb/#IstioControl
istioctl manifest versions
-istioctl manifest versions [flags]
@@ -3324,7 +3226,7 @@ https://istio.io/docs/reference/config/istio.operator.v1alpha12.pb/#IstioControl
+
--filename <string>
--f
Path to file containing IstioOperator CustomResource
+ Path to file containing IstioOperator custom resource
This flag can be specified multiple times to overlay multiple files. Multiple files are overlaid in left to right order. (default ``)
@@ -3410,7 +3312,7 @@ This flag can be specified multiple times to overlay multiple files. Multiple fi
--filename <string>
--f
Path to file containing IstioOperator CustomResource
+ Path to file containing IstioOperator custom resource
This flag can be specified multiple times to overlay multiple files. Multiple files are overlaid in left to right order. (default ``)
@@ -3528,6 +3430,10 @@ This flag can be specified multiple times to overlay multiple files. Multiple fi
Examples
+istioctl profile list
+istioctl manifest apply --set profile=demo # Use a profile from the list
+
istioctl profile diff
istioctl profile diff <file1.yaml> <file2.yaml> [flags]
@@ -3614,7 +3520,7 @@ This flag can be specified multiple times to overlay multiple files. Multiple fi
--filename <stringSlice>
--f
Path to file containing IstioOperator CustomResource
+ Path to file containing IstioOperator custom resource
This flag can be specified multiple times to overlay multiple files. Multiple files are overlaid in left to right order. (default `[]`)
@@ -4727,6 +4633,12 @@ These environment variables affect the behavior of the
istioctl
com
Service name of istiod. If empty the istiod listener, certs will be disabled.
+
+
+ISTIO_DEFAULT_REQUEST_TIMEOUT
Time Duration
+
+0s
Default Http and gRPC Request timeout
+
ISTIO_GPRC_MAXRECVMSGSIZE
Integer
@@ -4799,18 +4711,18 @@ These environment variables affect the behavior of the 4194304
istioctl
com
-
-
-PILOT_DISABLE_XDS_MARSHALING_TO_ANY
Boolean
-
-false
-
PILOT_DISTRIBUTION_HISTORY_RETENTION
Time Duration
1m0s
If enabled, Pilot will keep track of old versions of distributed config for this duration.
+
+
+PILOT_ENABLED_SERVICE_APIS
Boolean
+
+false
If this is set to true, support for Kubernetes service-apis (github.com/kubernetes-sigs/service-apis) will be enabled. This feature is currently experimental, and is off by default.
+
PILOT_ENABLE_CONFIG_DISTRIBUTION_TRACKING
Boolean
@@ -4835,12 +4747,6 @@ These environment variables affect the behavior of the true
istioctl
com
If enabled, for headless service in Kubernetes, pilot will send endpoints over EDS, allowing the sidecar to load balance among pods in the headless service. This feature should be enabled if applications access all services explicitly via a HTTP proxy port in the sidecar.
-
-
-PILOT_ENABLE_FALLTHROUGH_ROUTE
Boolean
-
-true
EnableFallthroughRoute provides an option to add a final wildcard match for routes. When ALLOW_ANY traffic policy is used, a Passthrough cluster is used. When REGISTRY_ONLY traffic policy is used, a 502 error is returned.
-
PILOT_ENABLE_HEADLESS_SERVICE_POD_LISTENERS
Boolean
@@ -4877,6 +4783,12 @@ These environment variables affect the behavior of the true
istioctl
com
If enabled, metadata exchange will be enabled for TCP using ALPN and Network Metadata Exchange filters in Envoy
+
+
+PILOT_ENABLE_THRIFT_FILTER
Boolean
+
+false
EnableThriftFilter enables injection of `envoy.filters.network.thrift_proxy` in the filter chain.
+
PILOT_FILTER_GATEWAY_CLUSTER_CONFIG
Boolean
@@ -4907,12 +4819,6 @@ These environment variables affect the behavior of the false
istioctl
com
Limits the number of concurrent pushes allowed. On larger machines this can be increased for faster pushes
-
-
-PILOT_RESPECT_DNS_TTL
Boolean
-
-true
If enabled, DNS based clusters will respect the TTL of the DNS, rather than polling at a fixed rate. This option is only provided for backward compatibility purposes and will be removed in the near future.
-
PILOT_RESTRICT_POD_UP_TRAFFIC_LOOP
Boolean
@@ -4925,12 +4831,6 @@ These environment variables affect the behavior of the true
istioctl
com
If enabled, a gateway workload can only select gateway resources in the same namespace. Gateways with same selectors in different namespaces will not be applicable.
-
-
-PILOT_SCOPE_PUSHES
Boolean
-
-true
If enabled, pilot will attempt to limit unnecessary pushes by determining what proxies a config or endpoint update will impact.
-
PILOT_SIDECAR_USE_REMOTE_ADDRESS
Boolean
@@ -4955,12 +4855,6 @@ These environment variables affect the behavior of the false
istioctl
com
If enabled, Pilot will use EndpointSlices as the source of endpoints for Kubernetes services. By default, this is false, and Endpoints will be used. This requires the Kubernetes EndpointSlice controller to be enabled. Currently this is mutual exclusive - either Endpoints or EndpointSlices will be used
-
-
-PROV_CERT
String
-
-Set to a directory containing provisioned certs, for VMs
-
SECRET_WATCHER_RESYNC_PERIOD
String
diff --git a/content/en/docs/reference/commands/pilot-agent/index.html b/content/en/docs/reference/commands/pilot-agent/index.html
index fce2a9aee8..afd76b5fce 100644
--- a/content/en/docs/reference/commands/pilot-agent/index.html
+++ b/content/en/docs/reference/commands/pilot-agent/index.html
@@ -81,7 +81,7 @@ remove_toc_prefix: 'pilot-agent '
---connectTimeout <duration>
Connection timeout used by Envoy for supporting services (default `1s`)
+Connection timeout used by Envoy for supporting services (default `10s`)
@@ -105,11 +105,7 @@ remove_toc_prefix: 'pilot-agent '
--controlPlaneAuthPolicy <string>
-
---discoveryAddress <string>
Address of the discovery service exposing xDS (e.g. istio-pilot:8080) (default `istio-pilot:15010`)
-
-
---dnsRefreshRate <string>
The dns_refresh_rate for bootstrap STRICT_DNS clusters (default `300s`)
+Address of the discovery service exposing xDS (e.g. istio-pilot:8080) (default ``)
@@ -188,6 +184,10 @@ remove_toc_prefix: 'pilot-agent '
--domain <string>
The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
+
+
+--meshConfig <string>
File name for Istio mesh configuration. If not specified, a default mesh will be used. MESH_CONFIG environment variable takes precedence. (default `/etc/istio/config/mesh`)
+
@@ -404,6 +404,12 @@ These environment variables affect the behavior of the --mixerIdentity <string>
The identity used as the suffix for mixer's spiffe SAN. This would only be used by pilot all other proxy would get this value from pilot (default ``)
pilot-agent
+
+
+GCP_METADATA
String
+
+Pipe separted GCP metadata, schemed as PROJECT_ID|PROJECT_NUMBER|CLUSTER_NAME|CLUSTER_ZONE
+
GKE_CLUSTER_URL
String
@@ -458,6 +464,12 @@ These environment variables affect the behavior of the pilot-agent
+
+
+ISTIO_DEFAULT_REQUEST_TIMEOUT
Time Duration
+
+0s
Default Http and gRPC Request timeout
+
ISTIO_GPRC_MAXRECVMSGSIZE
Integer
@@ -524,16 +536,22 @@ These environment variables affect the behavior of the 4194304
pilot-agent
The JWT validation policy.
+
+
+MESH_CONFIG
String
+
+The mesh configuration
+
NAMESPACE
String
istio-system
namespace that nodeagent/citadel run in
-
+OUTPUT_CERTS
OUTPUT_KEY_CERT_TO_DIRECTORY
String
-The output directory for the key and certificate. If empty, key and certificate will not be saved. Must be set for VMs using provisioning certificates.
+The output directory for the key and certificate. If empty, no output of key and certificate.
@@ -572,18 +590,18 @@ These environment variables affect the behavior of the PILOT_BLOCK_HTTP_ON_443
pilot-agent
-
-
-PILOT_DISABLE_XDS_MARSHALING_TO_ANY
Boolean
-
-false
-
PILOT_DISTRIBUTION_HISTORY_RETENTION
Time Duration
1m0s
If enabled, Pilot will keep track of old versions of distributed config for this duration.
+
+
+PILOT_ENABLED_SERVICE_APIS
Boolean
+
+false
If this is set to true, support for Kubernetes service-apis (github.com/kubernetes-sigs/service-apis) will be enabled. This feature is currently experimental, and is off by default.
+
PILOT_ENABLE_CONFIG_DISTRIBUTION_TRACKING
Boolean
@@ -608,12 +626,6 @@ These environment variables affect the behavior of the true
pilot-agent
If enabled, for headless service in Kubernetes, pilot will send endpoints over EDS, allowing the sidecar to load balance among pods in the headless service. This feature should be enabled if applications access all services explicitly via a HTTP proxy port in the sidecar.
-
-
-PILOT_ENABLE_FALLTHROUGH_ROUTE
Boolean
-
-true
EnableFallthroughRoute provides an option to add a final wildcard match for routes. When ALLOW_ANY traffic policy is used, a Passthrough cluster is used. When REGISTRY_ONLY traffic policy is used, a 502 error is returned.
-
PILOT_ENABLE_HEADLESS_SERVICE_POD_LISTENERS
Boolean
@@ -650,6 +662,12 @@ These environment variables affect the behavior of the true
pilot-agent
If enabled, metadata exchange will be enabled for TCP using ALPN and Network Metadata Exchange filters in Envoy
+
+
+PILOT_ENABLE_THRIFT_FILTER
Boolean
+
+false
EnableThriftFilter enables injection of `envoy.filters.network.thrift_proxy` in the filter chain.
+
PILOT_FILTER_GATEWAY_CLUSTER_CONFIG
Boolean
@@ -680,12 +698,6 @@ These environment variables affect the behavior of the false
pilot-agent
Limits the number of concurrent pushes allowed. On larger machines this can be increased for faster pushes
-
-
-PILOT_RESPECT_DNS_TTL
Boolean
-
-true
If enabled, DNS based clusters will respect the TTL of the DNS, rather than polling at a fixed rate. This option is only provided for backward compatibility purposes and will be removed in the near future.
-
PILOT_RESTRICT_POD_UP_TRAFFIC_LOOP
Boolean
@@ -698,12 +710,6 @@ These environment variables affect the behavior of the true
pilot-agent
If enabled, a gateway workload can only select gateway resources in the same namespace. Gateways with same selectors in different namespaces will not be applicable.
-
-
-PILOT_SCOPE_PUSHES
Boolean
-
-true
If enabled, pilot will attempt to limit unnecessary pushes by determining what proxies a config or endpoint update will impact.
-
PILOT_SIDECAR_USE_REMOTE_ADDRESS
Boolean
@@ -752,12 +758,6 @@ These environment variables affect the behavior of the false
pilot-agent
-
-
-PROV_CERT
String
-
-Set to a directory containing provisioned certs, for VMs
-
SDS_ENABLED
Boolean
diff --git a/content/en/docs/reference/commands/pilot-discovery/index.html b/content/en/docs/reference/commands/pilot-discovery/index.html
index d71b7dffec..60454ee66e 100644
--- a/content/en/docs/reference/commands/pilot-discovery/index.html
+++ b/content/en/docs/reference/commands/pilot-discovery/index.html
@@ -231,7 +231,7 @@ remove_toc_prefix: 'pilot-discovery '
false
--namespace <string>
--n
Select a namespace where the controller resides. If not set, uses ${POD_NAMESPACE} environment variable (default ``)
+Select a namespace where the controller resides. If not set, uses ${POD_NAMESPACE} environment variable (default `istio-system`)
@@ -261,7 +261,7 @@ remove_toc_prefix: 'pilot-discovery '
--networksConfig <string>
--secureGrpcAddr <string>
- Discovery service grpc address, with https and spiffe certificates. (default `:15011`)
+Discovery service grpc address, with https (default ``)
@@ -496,6 +496,12 @@ These environment variables affect the behavior of the --trust-domain <string>
pilot-discoveryService name of istiod. If empty the istiod listener, certs will be disabled.
+
+
+ISTIO_DEFAULT_REQUEST_TIMEOUT
Time Duration
+
+0s
Default Http and gRPC Request timeout
+
ISTIO_GPRC_MAXRECVMSGSIZE
Integer
@@ -532,12 +538,6 @@ These environment variables affect the behavior of the 4194304
pilot-discoveryKuberenetes service host, set automatically when running in-cluster
-
-
-MASTER_ELECTION
Boolean
-
-true
Enable master election
-
MAX_WORKLOAD_CERT_TTL
Time Duration
@@ -580,18 +580,18 @@ These environment variables affect the behavior of the 2160h0m0s
pilot-discovery
-
-
-PILOT_DISABLE_XDS_MARSHALING_TO_ANY
Boolean
-
-false
-
PILOT_DISTRIBUTION_HISTORY_RETENTION
Time Duration
1m0s
If enabled, Pilot will keep track of old versions of distributed config for this duration.
+
+
+PILOT_ENABLED_SERVICE_APIS
Boolean
+
+false
If this is set to true, support for Kubernetes service-apis (github.com/kubernetes-sigs/service-apis) will be enabled. This feature is currently experimental, and is off by default.
+
PILOT_ENABLE_CONFIG_DISTRIBUTION_TRACKING
Boolean
@@ -616,12 +616,6 @@ These environment variables affect the behavior of the true
pilot-discoveryIf enabled, for headless service in Kubernetes, pilot will send endpoints over EDS, allowing the sidecar to load balance among pods in the headless service. This feature should be enabled if applications access all services explicitly via a HTTP proxy port in the sidecar.
-
-
-PILOT_ENABLE_FALLTHROUGH_ROUTE
Boolean
-
-true
EnableFallthroughRoute provides an option to add a final wildcard match for routes. When ALLOW_ANY traffic policy is used, a Passthrough cluster is used. When REGISTRY_ONLY traffic policy is used, a 502 error is returned.
-
PILOT_ENABLE_HEADLESS_SERVICE_POD_LISTENERS
Boolean
@@ -658,6 +652,12 @@ These environment variables affect the behavior of the true
pilot-discoveryIf enabled, metadata exchange will be enabled for TCP using ALPN and Network Metadata Exchange filters in Envoy
+
+
+PILOT_ENABLE_THRIFT_FILTER
Boolean
+
+false
EnableThriftFilter enables injection of `envoy.filters.network.thrift_proxy` in the filter chain.
+
PILOT_FILTER_GATEWAY_CLUSTER_CONFIG
Boolean
@@ -688,12 +688,6 @@ These environment variables affect the behavior of the false
pilot-discoveryLimits the number of concurrent pushes allowed. On larger machines this can be increased for faster pushes
-
-
-PILOT_RESPECT_DNS_TTL
Boolean
-
-true
If enabled, DNS based clusters will respect the TTL of the DNS, rather than polling at a fixed rate. This option is only provided for backward compatibility purposes and will be removed in the near future.
-
PILOT_RESTRICT_POD_UP_TRAFFIC_LOOP
Boolean
@@ -706,12 +700,6 @@ These environment variables affect the behavior of the true
pilot-discoveryIf enabled, a gateway workload can only select gateway resources in the same namespace. Gateways with same selectors in different namespaces will not be applicable.
-
-
-PILOT_SCOPE_PUSHES
Boolean
-
-true
If enabled, pilot will attempt to limit unnecessary pushes by determining what proxies a config or endpoint update will impact.
-
PILOT_SIDECAR_USE_REMOTE_ADDRESS
Boolean
@@ -744,7 +732,7 @@ These environment variables affect the behavior of the false
pilot-discovery
POD_NAMESPACE
String
-
+istio-system
diff --git a/content/en/docs/reference/commands/sidecar-injector/index.html b/content/en/docs/reference/commands/sidecar-injector/index.html
deleted file mode 100644
index 0d4495f82d..0000000000
--- a/content/en/docs/reference/commands/sidecar-injector/index.html
+++ /dev/null
@@ -1,640 +0,0 @@
----
-WARNING: THIS IS AN AUTO-GENERATED FILE, DO NOT EDIT. PLEASE MODIFY THE ORIGINAL SOURCE IN THE 'https://github.com/istio/istio' REPO
-source_repo: https://github.com/istio/istio
-title: sidecar-injector
-description: Kubernetes webhook for automatic Istio sidecar injection.
-generator: pkg-collateral-docs
-number_of_entries: 4
-max_toc_level: 2
-remove_toc_prefix: 'sidecar-injector '
----
-
+
+
+
+
-sidecar-injector [flags]
-
-
-
-
-
-
-
-Flags
-Description
-
-
-
---caCertFile <string>
File containing the x509 Certificate for HTTPS. (default `/etc/istio/certs/root-cert.pem`)
-
-
-
---healthCheckFile <string>
File that should be periodically updated if health checking is enabled (default ``)
-
-
-
---healthCheckInterval <duration>
Configure how frequently the health check file specified by --healthCheckFile should be updated (default `0s`)
-
-
-
---injectConfig <string>
File containing the Istio sidecar injection configuration and template (default `/etc/istio/inject/config`)
-
-
-
---injectValues <string>
File containing the Istio sidecar injection values, in yaml format (default `/etc/istio/inject/values`)
-
-
-
---kubeconfig <string>
Specifies path to kubeconfig file. This must be specified when not running inside a Kubernetes pod. (default ``)
-
-
-
---log_as_json
Whether to format output as JSON or in plain console-friendly format
-
-
-
---log_caller <string>
Comma-separated list of scopes for which to include caller information, scopes can be any of [all, default, model, rbac, validation] (default ``)
-
-
-
---log_output_level <string>
Comma-separated minimum per-scope logging level of messages to output, in the form of <scope>:<level>,<scope>:<level>,... where scope can be one of [all, default, model, rbac, validation] and level can be one of [debug, info, warn, error, fatal, none] (default `default:info`)
-
-
-
---log_rotate <string>
The path for the optional rotating log file (default ``)
-
-
-
---log_rotate_max_age <int>
The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)
-
-
-
---log_rotate_max_backups <int>
The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)
-
-
-
---log_rotate_max_size <int>
The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)
-
-
-
---log_stacktrace_level <string>
Comma-separated minimum per-scope logging level at which stack traces are captured, in the form of <scope>:<level>,<scope:level>,... where scope can be one of [all, default, model, rbac, validation] and level can be one of [debug, info, warn, error, fatal, none] (default `default:none`)
-
-
-
---log_target <stringArray>
The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
-
-
-
---meshConfig <string>
File containing the Istio mesh configuration (default `/etc/istio/config/mesh`)
-
-
-
---monitoringPort <int>
Webhook monitoring port (default `15014`)
-
-
-
---port <int>
Webhook port (default `9443`)
-
-
-
---reconcileWebhookConfig
Enable managing webhook configuration.
-
-
-
---tlsCertFile <string>
File containing the x509 Certificate for HTTPS. (default `/etc/istio/certs/cert-chain.pem`)
-
-
-
---tlsKeyFile <string>
File containing the x509 private key matching --tlsCertFile. (default `/etc/istio/certs/key.pem`)
-
-
-
---webhookConfigName <string>
Name of the mutatingwebhookconfiguration resource in Kubernetes. (default `istio-sidecar-injector`)
-
-
-
-
---webhookName <string>
Name of the webhook entry in the webhook config. (default `sidecar-injector.istio.io`)
-sidecar-injector probe
-
-sidecar-injector probe [flags]
-
-
-
-
-
-
-
-Flags
-Description
-
-
-
---caCertFile <string>
File containing the x509 Certificate for HTTPS. (default `/etc/istio/certs/root-cert.pem`)
-
-
-
---healthCheckFile <string>
File that should be periodically updated if health checking is enabled (default ``)
-
-
-
---healthCheckInterval <duration>
Configure how frequently the health check file specified by --healthCheckFile should be updated (default `0s`)
-
-
-
---injectConfig <string>
File containing the Istio sidecar injection configuration and template (default `/etc/istio/inject/config`)
-
-
-
---injectValues <string>
File containing the Istio sidecar injection values, in yaml format (default `/etc/istio/inject/values`)
-
-
-
---interval <duration>
Duration used for checking the target file's last modified time. (default `0s`)
-
-
-
---kubeconfig <string>
Specifies path to kubeconfig file. This must be specified when not running inside a Kubernetes pod. (default ``)
-
-
-
---log_as_json
Whether to format output as JSON or in plain console-friendly format
-
-
-
---log_caller <string>
Comma-separated list of scopes for which to include caller information, scopes can be any of [all, default, model, rbac, validation] (default ``)
-
-
-
---log_output_level <string>
Comma-separated minimum per-scope logging level of messages to output, in the form of <scope>:<level>,<scope>:<level>,... where scope can be one of [all, default, model, rbac, validation] and level can be one of [debug, info, warn, error, fatal, none] (default `default:info`)
-
-
-
---log_rotate <string>
The path for the optional rotating log file (default ``)
-
-
-
---log_rotate_max_age <int>
The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)
-
-
-
---log_rotate_max_backups <int>
The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)
-
-
-
---log_rotate_max_size <int>
The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)
-
-
-
---log_stacktrace_level <string>
Comma-separated minimum per-scope logging level at which stack traces are captured, in the form of <scope>:<level>,<scope:level>,... where scope can be one of [all, default, model, rbac, validation] and level can be one of [debug, info, warn, error, fatal, none] (default `default:none`)
-
-
-
---log_target <stringArray>
The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
-
-
-
---meshConfig <string>
File containing the Istio mesh configuration (default `/etc/istio/config/mesh`)
-
-
-
---monitoringPort <int>
Webhook monitoring port (default `15014`)
-
-
-
---port <int>
Webhook port (default `9443`)
-
-
-
---probe-path <string>
Path of the file for checking the availability. (default ``)
-
-
-
---reconcileWebhookConfig
Enable managing webhook configuration.
-
-
-
---tlsCertFile <string>
File containing the x509 Certificate for HTTPS. (default `/etc/istio/certs/cert-chain.pem`)
-
-
-
---tlsKeyFile <string>
File containing the x509 private key matching --tlsCertFile. (default `/etc/istio/certs/key.pem`)
-
-
-
---webhookConfigName <string>
Name of the mutatingwebhookconfiguration resource in Kubernetes. (default `istio-sidecar-injector`)
-
-
-
-
---webhookName <string>
Name of the webhook entry in the webhook config. (default `sidecar-injector.istio.io`)
-sidecar-injector version
-
-sidecar-injector version [flags]
-
-
-
-
-
-
-
-Flags
-Shorthand
-Description
-
-
-
---caCertFile <string>
- File containing the x509 Certificate for HTTPS. (default `/etc/istio/certs/root-cert.pem`)
-
-
-
---healthCheckFile <string>
- File that should be periodically updated if health checking is enabled (default ``)
-
-
-
---healthCheckInterval <duration>
- Configure how frequently the health check file specified by --healthCheckFile should be updated (default `0s`)
-
-
-
---injectConfig <string>
- File containing the Istio sidecar injection configuration and template (default `/etc/istio/inject/config`)
-
-
-
---injectValues <string>
- File containing the Istio sidecar injection values, in yaml format (default `/etc/istio/inject/values`)
-
-
-
---kubeconfig <string>
- Specifies path to kubeconfig file. This must be specified when not running inside a Kubernetes pod. (default ``)
-
-
-
---log_as_json
- Whether to format output as JSON or in plain console-friendly format
-
-
-
---log_caller <string>
- Comma-separated list of scopes for which to include caller information, scopes can be any of [all, default, model, rbac, validation] (default ``)
-
-
-
---log_output_level <string>
- Comma-separated minimum per-scope logging level of messages to output, in the form of <scope>:<level>,<scope>:<level>,... where scope can be one of [all, default, model, rbac, validation] and level can be one of [debug, info, warn, error, fatal, none] (default `default:info`)
-
-
-
---log_rotate <string>
- The path for the optional rotating log file (default ``)
-
-
-
---log_rotate_max_age <int>
- The maximum age in days of a log file beyond which the file is rotated (0 indicates no limit) (default `30`)
-
-
-
---log_rotate_max_backups <int>
- The maximum number of log file backups to keep before older files are deleted (0 indicates no limit) (default `1000`)
-
-
-
---log_rotate_max_size <int>
- The maximum size in megabytes of a log file beyond which the file is rotated (default `104857600`)
-
-
-
---log_stacktrace_level <string>
- Comma-separated minimum per-scope logging level at which stack traces are captured, in the form of <scope>:<level>,<scope:level>,... where scope can be one of [all, default, model, rbac, validation] and level can be one of [debug, info, warn, error, fatal, none] (default `default:none`)
-
-
-
---log_target <stringArray>
- The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default `[stdout]`)
-
-
-
---meshConfig <string>
- File containing the Istio mesh configuration (default `/etc/istio/config/mesh`)
-
-
-
---monitoringPort <int>
- Webhook monitoring port (default `15014`)
-
-
-
---output <string>
--o
One of 'yaml' or 'json'. (default ``)
-
-
-
---port <int>
- Webhook port (default `9443`)
-
-
-
---reconcileWebhookConfig
- Enable managing webhook configuration.
-
-
-
---short
--s
Use --short=false to generate full version information
-
-
-
---tlsCertFile <string>
- File containing the x509 Certificate for HTTPS. (default `/etc/istio/certs/cert-chain.pem`)
-
-
-
---tlsKeyFile <string>
- File containing the x509 private key matching --tlsCertFile. (default `/etc/istio/certs/key.pem`)
-
-
-
---webhookConfigName <string>
- Name of the mutatingwebhookconfiguration resource in Kubernetes. (default `istio-sidecar-injector`)
-
-
-
-
---webhookName <string>
- Name of the webhook entry in the webhook config. (default `sidecar-injector.istio.io`)
-Environment variables
-These environment variables affect the behavior of the sidecar-injector
command.
-
-
-
-
-
-
-
-Variable Name
-Type
-Default Value
-Description
-
-
-
-ISTIOD_ADDR
String
-
-Service name of istiod. If empty the istiod listener, certs will be disabled.
-
-
-
-ISTIO_GPRC_MAXRECVMSGSIZE
Integer
-
-4194304
Sets the max receive buffer size of gRPC stream in bytes.
-
-
-
-ISTIO_GPRC_MAXSTREAMS
Integer
-
-100000
Sets the maximum number of concurrent grpc streams.
-
-
-
-JWT_POLICY
String
-
-third-party-jwt
The JWT validation policy.
-
-
-
-PILOT_BLOCK_HTTP_ON_443
Boolean
-
-true
If enabled, any HTTP services will be blocked on HTTPS port (443). If this is disabled, any HTTP service on port 443 could block all external traffic
-
-
-
-PILOT_CERT_DIR
String
-
-
-
-
-
-PILOT_CERT_PROVIDER
String
-
-istiod
the provider of Pilot DNS certificate.
-
-
-
-PILOT_DEBOUNCE_AFTER
Time Duration
-
-100ms
The delay added to config/registry events for debouncing. This will delay the push by at least this internal. If no change is detected within this period, the push will happen, otherwise we'll keep delaying until things settle, up to a max of PILOT_DEBOUNCE_MAX.
-
-
-
-PILOT_DEBOUNCE_MAX
Time Duration
-
-10s
The maximum amount of time to wait for events while debouncing. If events keep showing up with no breaks for this time, we'll trigger a push.
-
-
-
-PILOT_DEBUG_ADSZ_CONFIG
Boolean
-
-false
-
-
-
-PILOT_DISABLE_XDS_MARSHALING_TO_ANY
Boolean
-
-false
-
-
-
-PILOT_DISTRIBUTION_HISTORY_RETENTION
Time Duration
-
-1m0s
If enabled, Pilot will keep track of old versions of distributed config for this duration.
-
-
-
-PILOT_ENABLE_CONFIG_DISTRIBUTION_TRACKING
Boolean
-
-true
If enabled, Pilot will assign meaningful nonces to each Envoy configuration message, and allow users to interrogate which envoy has which config from the debug interface.
-
-
-
-PILOT_ENABLE_CRD_VALIDATION
Boolean
-
-false
If enabled, pilot will validate CRDs while retrieving CRDs from kubernetes cache.Use this flag to enable validation of CRDs in Pilot, especially in deployments that do not have galley installed.
-
-
-
-PILOT_ENABLE_EDS_DEBOUNCE
Boolean
-
-true
If enabled, Pilot will include EDS pushes in the push debouncing, configured by PILOT_DEBOUNCE_AFTER and PILOT_DEBOUNCE_MAX. EDS pushes may be delayed, but there will be fewer pushes. By default this is enabled
-
-
-
-PILOT_ENABLE_EDS_FOR_HEADLESS_SERVICES
Boolean
-
-false
If enabled, for headless service in Kubernetes, pilot will send endpoints over EDS, allowing the sidecar to load balance among pods in the headless service. This feature should be enabled if applications access all services explicitly via a HTTP proxy port in the sidecar.
-
-
-
-PILOT_ENABLE_FALLTHROUGH_ROUTE
Boolean
-
-true
EnableFallthroughRoute provides an option to add a final wildcard match for routes. When ALLOW_ANY traffic policy is used, a Passthrough cluster is used. When REGISTRY_ONLY traffic policy is used, a 502 error is returned.
-
-
-
-PILOT_ENABLE_HEADLESS_SERVICE_POD_LISTENERS
Boolean
-
-true
If enabled, for a headless service/stateful set in Kubernetes, pilot will generate an outbound listener for each pod in a headless service. This feature should be disabled if headless services have a large number of pods.
-
-
-
-PILOT_ENABLE_MYSQL_FILTER
Boolean
-
-false
EnableMysqlFilter enables injection of `envoy.filters.network.mysql_proxy` in the filter chain.
-
-
-
-PILOT_ENABLE_PROTOCOL_SNIFFING_FOR_INBOUND
Boolean
-
-true
If enabled, protocol sniffing will be used for inbound listeners whose port protocol is not specified or unsupported
-
-
-
-PILOT_ENABLE_PROTOCOL_SNIFFING_FOR_OUTBOUND
Boolean
-
-true
If enabled, protocol sniffing will be used for outbound listeners whose port protocol is not specified or unsupported
-
-
-
-PILOT_ENABLE_REDIS_FILTER
Boolean
-
-false
EnableRedisFilter enables injection of `envoy.filters.network.redis_proxy` in the filter chain.
-
-
-
-PILOT_ENABLE_TCP_METADATA_EXCHANGE
Boolean
-
-true
If enabled, metadata exchange will be enabled for TCP using ALPN and Network Metadata Exchange filters in Envoy
-
-
-
-PILOT_FILTER_GATEWAY_CLUSTER_CONFIG
Boolean
-
-false
-
-
-
-PILOT_HTTP10
Boolean
-
-false
Enables the use of HTTP 1.0 in the outbound HTTP listeners, to support legacy applications.
-
-
-
-PILOT_INBOUND_PROTOCOL_DETECTION_TIMEOUT
Time Duration
-
-1s
Protocol detection timeout for inbound listener
-
-
-
-PILOT_INITIAL_FETCH_TIMEOUT
Time Duration
-
-0s
Specifies the initial_fetch_timeout for config. If this time is reached without a response to the config requested by Envoy, the Envoy will move on with the init phase. This prevents envoy from getting stuck waiting on config during startup.
-
-
-
-PILOT_PUSH_THROTTLE
Integer
-
-100
Limits the number of concurrent pushes allowed. On larger machines this can be increased for faster pushes
-
-
-
-PILOT_RESPECT_DNS_TTL
Boolean
-
-true
If enabled, DNS based clusters will respect the TTL of the DNS, rather than polling at a fixed rate. This option is only provided for backward compatibility purposes and will be removed in the near future.
-
-
-
-PILOT_RESTRICT_POD_UP_TRAFFIC_LOOP
Boolean
-
-true
If enabled, this will block inbound traffic from matching outbound listeners, which could result in an infinite loop of traffic. This option is only provided for backward compatibility purposes and will be removed in the near future.
-
-
-
-PILOT_SCOPE_GATEWAY_TO_NAMESPACE
Boolean
-
-false
If enabled, a gateway workload can only select gateway resources in the same namespace. Gateways with same selectors in different namespaces will not be applicable.
-
-
-
-PILOT_SCOPE_PUSHES
Boolean
-
-true
If enabled, pilot will attempt to limit unnecessary pushes by determining what proxies a config or endpoint update will impact.
-
-
-
-PILOT_SIDECAR_USE_REMOTE_ADDRESS
Boolean
-
-false
UseRemoteAddress sets useRemoteAddress to true for side car outbound listeners.
-
-
-
-PILOT_SKIP_VALIDATE_TRUST_DOMAIN
Boolean
-
-false
Skip validating the peer is from the same trust domain when mTLS is enabled in authentication policy
-
-
-
-PILOT_TRACE_SAMPLING
Floating-Point
-
-100
Sets the mesh-wide trace sampling percentage. Should be 0.0 - 100.0. Precision to 0.01. Default is 100, not recommended for production use.
-
-
-
-PILOT_USE_ENDPOINT_SLICE
Boolean
-
-false
If enabled, Pilot will use EndpointSlices as the source of endpoints for Kubernetes services. By default, this is false, and Endpoints will be used. This requires the Kubernetes EndpointSlice controller to be enabled. Currently this is mutual exclusive - either Endpoints or EndpointSlices will be used
-
-
-
-TERMINATION_DRAIN_DURATION_SECONDS
Integer
-
-5
The amount of time allowed for connections to complete on pilot-agent shutdown. On receiving SIGTERM or SIGINT, pilot-agent tells the active Envoy to start draining, preventing any new connections and allowing existing connections to complete. It then sleeps for the TerminationDrainDuration and then kills any remaining active Envoy processes.
-
-
-
-
-USE_ISTIO_JWT_FILTER
Boolean
-
-false
Use the Istio JWT filter for JWT token verification.
-Exported metrics
-
-
-
diff --git a/content/en/docs/reference/config/istio.mesh.v1alpha1/index.html b/content/en/docs/reference/config/istio.mesh.v1alpha1/index.html
index a458cb0fef..3bce80dc6e 100644
--- a/content/en/docs/reference/config/istio.mesh.v1alpha1/index.html
+++ b/content/en/docs/reference/config/istio.mesh.v1alpha1/index.html
@@ -7,10 +7,54 @@ location: https://istio.io/docs/reference/config/istio.mesh.v1alpha1.html
layout: protoc-gen-docs
generator: protoc-gen-docs
weight: 20
-number_of_entries: 24
+number_of_entries: 74
---
-
-
-Metric Name Type Description
-endpoint_no_pod
LastValue
Endpoints without an associated pod.
-istio_build
LastValue
Istio component build info
-pilot_conflict_inbound_listener
LastValue
Number of conflicting inbound listeners.
-pilot_conflict_outbound_listener_http_over_current_tcp
LastValue
Number of conflicting wildcard http listeners with current wildcard tcp listener.
-pilot_conflict_outbound_listener_http_over_https
LastValue
Number of conflicting HTTP listeners with well known HTTPS ports
-pilot_conflict_outbound_listener_tcp_over_current_http
LastValue
Number of conflicting wildcard tcp listeners with current wildcard http listener.
-pilot_conflict_outbound_listener_tcp_over_current_tcp
LastValue
Number of conflicting tcp listeners with current tcp listener.
-pilot_destrule_subsets
LastValue
Duplicate subsets across destination rules for same host
-pilot_duplicate_envoy_clusters
LastValue
Duplicate envoy clusters caused by service entries with same hostname
-pilot_eds_no_instances
LastValue
Number of clusters without instances.
-pilot_endpoint_not_ready
LastValue
Endpoint found in unready state.
-pilot_jwks_resolver_network_fetch_fail_total
Sum
Total number of failed network fetch by pilot jwks resolver
-pilot_jwks_resolver_network_fetch_success_total
Sum
Total number of successfully network fetch by pilot jwks resolver
-pilot_no_ip
LastValue
Pods not found in the endpoint table, possibly invalid.
-pilot_total_rejected_configs
Sum
Total number of configs that Pilot had to reject or ignore.
-pilot_virt_services
LastValue
Total virtual services known to pilot.
-pilot_vservice_dup_domain
LastValue
Virtual services with dup domains.
-sidecar_injection_failure_total
Sum
Total number of failed Side car injection requests.
-sidecar_injection_requests_total
Sum
Total number of Side car injection requests.
-sidecar_injection_skip_total
Sum
Total number of skipped injection requests.
-
-sidecar_injection_success_total
Sum
Total number of successful Side car injection requests. Affinity
+AuthenticationPolicy
+No
+
+ClientIPConfig
+ComponentSpec
+ConfigMapKeySelector
+DeploymentStrategy
+EnvVar
+EnvVarSource
+ExecAction
+ExternalComponentSpec
+GatewaySpec
+HTTPGetAction
+HTTPHeader
+IstioComponentSetSpec
+IstioOperatorSpec
+IstioOperatorSpec.Status
+
+
+
+
+
+
+
+Name
+Description
+
+
+
+NONE
+
+
+
+
+UPDATING
+
+
+
+
+RECONCILING
+
+
+
+
+HEALTHY
+
+
+
+
+
+ERROR
+
+IstioOperatorSpec.VersionStatus
+K8sObjectOverlay
+K8sObjectOverlay.PathValue
+KubernetesResourcesSpec
+LocalObjectReference
+MeshConfig.ThriftConfig
-NodeAffinity
+NodeSelector
+NodeSelectorRequirement
+NodeSelectorTerm
+ObjectFieldSelector
+ObjectMeta
+PodAffinity
+PodAffinityTerm
+PodAntiAffinity
+PodDisruptionBudgetSpec
+PreferredSchedulingTerm
+ProxyConfig
Mirrors k8s.io.api.core.v1.Probe for unmarshaling.
+ + +Mirrors k8s.io.api.core.v1.ResourceRequirements for unmarshaling.
+ + +Mirrors k8s.io.api.apps.v1.RollingUpdateDeployment for unmarshaling.
+ + +Mirrors k8s.io.api.core.v1.TCPSocketAction for unmarshaling.
+ + +GOTYPE: *BoolValueForPB
+ +GOTYPE: *IntOrStringForPB
+ +GOTYPE: interface{}
+ +GOTYPE: map[string]interface{}
+ +GOTYPE: map[string]interface{}
+ +HorizontalPodAutoscalerSpec describes the desired functionality of the HorizontalPodAutoscaler.
+ + +Quantity is a fixed-point representation of a number. +It provides convenient marshaling/unmarshaling in JSON and YAML, +in addition to String() and Int64() accessors.
+ +The serialization format is:
+ +No matter which of the three exponent forms is used, no quantity may represent +a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal +places. Numbers larger or more precise will be capped or rounded up. +(E.g.: 0.1m will rounded up to 1m.) +This may be extended in the future if we require larger or smaller quantities.
+ +When a Quantity is parsed from a string, it will remember the type of suffix +it had, and will use the same type again when it is serialized.
+ +Before serializing, Quantity will be put in “canonical form”. +This means that Exponent/suffix will be adjusted up or down (with a +corresponding increase or decrease in Mantissa) such that: + a. No precision is lost + b. No fractional digits will be emitted + c. The exponent (or suffix) is as large as possible. +The sign will be omitted unless the number is negative.
+ +Examples: + 1.5 will be serialized as “1500m” + 1.5Gi will be serialized as “1536Mi”
+ +Note that the quantity will NEVER be internally represented by a +floating point number. That is the whole point of this exercise.
+ +Non-canonical values will still parse as long as they are well formed, +but will be re-emitted in their canonical form. (So always use canonical +form, or don’t diff.)
+ +This format is intended to make it difficult to use these numbers without +writing some sort of special handling code in the hopes that that will +cause implementors to also use a fixed point implementation.
+ ++protobuf=true ++protobuf.embed=string ++protobuf.options.marshal=false ++protobuf.options.(gogoproto.goproto_stringer)=false ++k8s:deepcopy-gen=true ++k8s:openapi-gen=true
+ + +A label selector is a label query over a set of resources. The result of matchLabels and +matchExpressions are ANDed. An empty label selector matches all objects. A null +label selector matches no objects.
+ + +IntOrString is a type that can hold an int32 or a string. When used in +JSON or YAML marshalling and unmarshalling, it produces or consumes the +inner type. This allows you to have, for example, a JSON field that can +accept a name or number. +TODO: Rename to Int32OrString
+ ++protobuf=true ++protobuf.options.(gogoproto.goproto_stringer)=false ++k8s:openapi-gen=true
+ + +Configuration affecting Istio control plane installation version and shape.
@@ -681,7 +681,7 @@ Noport
TypeIntOrStringForPB
TypeInterface_kubernetes
targetAverageUtilization
int32
TypeInterface_kubernetes
maxUnavailable
TypeIntOrStringForPB
TypeInterface_kubernetes
maxSurge
TypeIntOrStringForPB
TypeInterface_kubernetes
targetPort
TypeIntOrStringForPB
TypeInterface_kubernetes
port
TypeIntOrStringForPB
TypeInterface_kubernetes
GOTYPE: interface{}
+GOTYPE: interface{}
+Hash based on the source IP address.
+httpQueryParameterName
string (oneof)
Hash based on a specific HTTP query parameter.
+defaultEndpoint
string
The loopback IP endpoint or Unix domain socket to which traffic should
-be forwarded to by default. Format should be 127.0.0.1:PORT
or
-unix:///path/to/socket
or unix://@foobar
(Linux abstract namespace).
httpsRedirect
bool
If set to true, the load balancer will send a 301 redirect for all -http connections, asking the clients to use HTTPS.
+If set to true, the load balancer will send a 301 redirect for +all http connections, asking the clients to use HTTPS. Not +applicable in Sidecar API.
The credentialName stands for a unique identifier that can be used
to identify the serverCertificate and the privateKey. The
credentialName appended with suffix “-cacert” is used to identify
-the CaCertificates associated with this server. Gateway workloads
+the CaCertificates associated with this server. Proxies
capable of fetching credentials from a remote credential store such
as Kubernetes secrets, will be configured to retrieve the
serverCertificate and the privateKey using credentialName, instead
of using the file system paths specified above. If using mutual TLS,
-gateway workload instances will retrieve the CaCertificates using
+proxy instances will retrieve the CaCertificates using
credentialName-cacert. The semantics of the name are platform
dependent. In Kubernetes, the default Istio supplied credential
server expects the credentialName to match the name of the
Kubernetes secret that holds the server certificate, the private
key, and the CA certificate (if using mutual TLS). Set the
-ISTIO_META_USER_SDS
metadata variable in the gateway’s proxy to
+ISTIO_META_USER_SDS
metadata variable in the proxy to
enable the dynamic credential fetching feature.
PASSTHROUGH
The SNI string presented by the client will be used as the match -criterion in a VirtualService TLS route to determine the -destination service from the service registry.
+The SNI string presented by the client will be used as the +match criterion in a VirtualService TLS route to determine +the destination service from the service registry. On a +sidecar, TLS traffic will be forwarded as is to the default +endpoint defined in the Ingress Listener.
MUTUAL
Secure connections to the downstream using mutual TLS by presenting -server certificates for authentication.
+Secure connections to the downstream using mutual TLS by +presenting server certificates for authentication.
AUTO_PASSTHROUGH
Similar to the passthrough mode, except servers with this TLS mode -do not require an associated VirtualService to map from the SNI -value to service in the registry. The destination details such as -the service/subset/port are encoded in the SNI value. The proxy -will forward to the upstream (Envoy) cluster (a group of -endpoints) specified by the SNI value. This server is typically -used to provide connectivity between services in disparate L3 -networks that otherwise do not have direct connectivity between -their respective endpoints. Use of this mode assumes that both the -source and the destination are using Istio mTLS to secure traffic.
+Similar to the passthrough mode, except servers with this TLS +mode do not require an associated VirtualService to map from +the SNI value to service in the registry. The destination +details such as the service/subset/port are encoded in the +SNI value. The proxy will forward to the upstream (Envoy) +cluster (a group of endpoints) specified by the SNI +value. This server is typically used to provide connectivity +between services in disparate L3 networks that otherwise do +not have direct connectivity between their respective +endpoints. Use of this mode assumes that both the source and +the destination are using Istio mTLS to secure traffic. Not +applicable in Sidecar API.
ISTIO_MUTUAL
Secure connections from the downstream using mutual TLS by presenting
-server certificates for authentication.
-Compared to Mutual mode, this mode uses certificates, representing
-gateway workload identity, generated automatically by Istio for
-mTLS authentication. When this mode is used, all other fields in
-TLSOptions
should be empty.
Secure connections from the downstream using mutual TLS by
+presenting server certificates for authentication. Compared
+to Mutual mode, this mode uses certificates, representing
+gateway workload identity, generated automatically by Istio
+for mTLS authentication. When this mode is used, all other
+fields in TLSOptions
should be empty.
workloadSelector
that selects this workload instance, over a Sidecar
configuration
without any workloadSelector
.
-NOTE 1: Each namespace can have only one Sidecar
configuration without any
-workloadSelector
. The behavior of the system is undefined if more
-than one selector-less Sidecar
configurations exist in a given namespace. The
-behavior of the system is undefined if two or more Sidecar
configurations
-with a workloadSelector
select the same workload instance.
NOTE 1: Each namespace can have only one Sidecar
+configuration without any workloadSelector
that specifies the
+default for all pods in that namespace. It is recommended to use
+the name default
for the namespace-wide sidecar. The behavior of
+the system is undefined if more than one selector-less Sidecar
+configurations exist in a given namespace. The behavior of the
+system is undefined if two or more Sidecar
configurations with a
+workloadSelector
select the same workload instance.
NOTE 2: A NOTE 2: A The example below declares a global default The example below declares a global default {{ {{}}
{{}} The example below declares a The example below declares a {{ {{}}
{{}} The example below declares a The following example declares a {{ {{}}
{{}} If the workload is deployed without IPTables-based traffic capture, the
- and the associated PeerAuthentication security policy to ensure
+that mutual TLS based authentication is not configured for ports
+9080 and 9443: and the associated DestinationRule to ensure that the clients use
+the appropriate TLS settings: {{ {{}} {{ {{}}
+{{}} If the workload is deployed without IPTables-based traffic capture,
+the {{Sidecar
configuration in the MeshConfig
+Sidecar
configuration in the MeshConfig
root namespace
will be applied by default to all namespaces without a Sidecar
configuration. This global default Sidecar
configuration should not have
any workloadSelector
.Sidecar
configuration in the
-root namespace called istio-config
, that configures sidecars in
-all namespaces to allow egress traffic only to other workloads in
-the same namespace, and to services in the istio-system
namespace.Sidecar
configuration
+in the root namespace called istio-config
, that configures
+sidecars in all namespaces to allow egress traffic only to other
+workloads in the same namespace as well as to services in the
+istio-system
namespace.Sidecar
configuration in the prod-us1
-namespace that overrides the global default defined above, and
-configures the sidecars in the namespace to allow egress traffic to
-public services in the prod-us1
, prod-apis
, and the istio-system
-namespaces.Sidecar
configuration in the
+prod-us1
namespace that overrides the global default defined
+above, and configures the sidecars in the namespace to allow egress
+traffic to public services in the prod-us1
, prod-apis
, and the
+istio-system
namespaces.Sidecar
configuration in the prod-us1
namespace
-that accepts inbound HTTP traffic on port 9080 and forwards
-it to the attached workload instance listening on a Unix domain socket. In the
-egress direction, in addition to the istio-system
namespace, the sidecar
-proxies only HTTP traffic bound for port 9080 for services in the
-prod-us1
namespace.Sidecar
configuration in the
+prod-us1
namespace for all pods with labels app: ratings
+belonging to the ratings.prod-us1
service. The workload accepts
+inbound HTTP traffic on port 9080 without any authentication, and
+HTTPS traffic on port 9443 with one-way TLS termination using
+custom certificates. To accomplish custom TLS termination on this
+workload, the PeerAuthentication
security policy must be declared
+to disable Istio mutual TLS on these two ports. Any other
+auto-generated listener for this workload will still obey the
+mutual TLS termination requirements set forth in the
+PeerAuthentication policy. The traffic is then forwarded to the
+attached workload instance listening on a Unix domain socket. In
+the egress direction, in addition to the istio-system
namespace,
+the sidecar proxies only HTTP traffic bound for port 9080 for
+services in the prod-us1
namespace.apiVersion: networking.istio.io/v1alpha3
kind: Sidecar
metadata:
- name: default
+ name: ratings
namespace: prod-us1
spec:
+ workloadSelector:
+ labels:
+ app: ratings
ingress:
- port:
number: 9080
protocol: HTTP
name: somename
defaultEndpoint: unix:///var/run/someuds.sock
+ - port:
+ number: 9443
+ protocol: HTTPS
+ name: httpsport
+ inboundTls:
+ mode: SIMPLE # overrides namespace default
+ serverCertificate: /etc/certs/servercert.pem
+ privateKey: /etc/certs/privatekey.pem
+ defaultEndpoint: unix:///var/run/someuds.sock
egress:
- port:
number: 9080
@@ -164,15 +189,27 @@ spec:
apiVersion: networking.istio.io/v1beta1
kind: Sidecar
metadata:
- name: default
+ name: ratings
namespace: prod-us1
spec:
+ workloadSelector:
+ labels:
+ app: ratings
ingress:
- port:
number: 9080
protocol: HTTP
name: somename
defaultEndpoint: unix:///var/run/someuds.sock
+ - port:
+ number: 9443
+ protocol: HTTPS
+ name: httpsport
+ inboundTls:
+ mode: SIMPLE # overrides namespace default
+ serverCertificate: /etc/certs/servercert.pem
+ privateKey: /etc/certs/privatekey.pem
+ defaultEndpoint: unix:///var/run/someuds.sock
egress:
- port:
number: 9080
@@ -187,18 +224,94 @@ spec:
Sidecar
configuration is the only way to configure the ports on the proxy
-attached to the workload instance. The following example declares a Sidecar
-configuration in the prod-us1
namespace for all pods with labels
-app: productpage
belonging to the productpage.prod-us1
service. Assuming
-that these pods are deployed without IPtable rules (i.e. the istio-init
-container) and the proxy metadata ISTIO_META_INTERCEPTION_MODE
is set to
-NONE
, the specification, below, allows such pods to receive HTTP traffic
-on port 9080 and forward it to the application listening on
-127.0.0.1:8080
. It also allows the application to communicate with a
-backing MySQL database on 127.0.0.1:3306
, that then gets proxied to the
-externally hosted MySQL service at mysql.foo.com:3306
.
+
+apiVersion: security.istio.io/v1beta1
+kind: PeerAuthentication
+metadata:
+ name: ratings-istio-mtls-exception
+ namespace: prod-us1
+spec:
+ selector:
+ matchLabels:
+ app: ratings
+ # other ports inherit the settings from namespace-wide policy.
+ portLevelMtls:
+ 9080:
+ mode: DISABLE
+ 9443:
+ mode: DISABLE
+
+
+apiVersion: networking.istio.io/v1alpha3
+kind: DestinationRule
+metadata:
+ name: ratings-istio-mtls-exception
+ namespace: prod-us1
+spec:
+ host: ratings.prod-us1.svc.cluster.local
+ trafficPolicy:
+ portLevelSettings:
+ - port:
+ number: 9080
+ tls:
+ mode: DISABLE
+ - port:
+ number: 9443
+ tls:
+ mode: SIMPLE
+ caCertificates: /etc/certs/ca-certs.pem
+
+
+apiVersion: networking.istio.io/v1beta1
+kind: DestinationRule
+metadata:
+ name: ratings-istio-mtls-exception
+ namespace: prod-us1
+spec:
+ host: ratings.prod-us1.svc.cluster.local
+ trafficPolicy:
+ portLevelSettings:
+ - port:
+ number: 9080
+ tls:
+ mode: DISABLE
+ - port:
+ number: 9443
+ tls:
+ mode: SIMPLE
+ caCertificates: /etc/certs/ca-certs.pem
+
Sidecar
configuration is the only way to configure the ports
+on the proxy attached to the workload instance. The following
+example declares a Sidecar
configuration in the prod-us1
+namespace for all pods with labels app: productpage
belonging to
+the productpage.prod-us1
service. Assuming that these pods are
+deployed without IPtable rules (i.e. the istio-init
container)
+and the proxy metadata ISTIO_META_INTERCEPTION_MODE
is set to
+NONE
, the specification, below, allows such pods to receive HTTP
+traffic on port 9080 (wrapped inside Istio mutual TLS) and forward
+it to the application listening on 127.0.0.1:8080
. It also allows
+the application to communicate with a backing MySQL database on
+127.0.0.1:3306
, that then gets proxied to the externally hosted
+MySQL service at mysql.foo.com:3306
.192.168.0.0/16
subnet. Assume that the VM has a
additional network interface on 172.16.0.0/16
subnet for inbound
traffic. The following Sidecar
configuration allows the VM to expose a
listener on 172.16.1.32:80
(the VM’s IP) for traffic arriving from the
-172.16.0.0/16
subnet. Note that in this scenario, the
-ISTIO_META_INTERCEPTION_MODE
metadata on the proxy in the VM should
-contain REDIRECT
or TPROXY
as its value, implying that IP tables
-based traffic capture is active.
172.16.0.0/16
subnet.
+
+NOTE: The ISTIO_META_INTERCEPTION_MODE
metadata on the
+proxy in the VM should contain REDIRECT
or TPROXY
as its value,
+implying that IP tables based traffic capture is active.
{{
127.0.0.1:PORT
or unix:///path/
Yes
+
+inboundTls
+TLSOptions
+
+Overrides Sidecar level inboundTls
settings. Has same
+restrictions as the Sidecar level inboundTls,
+i.e. PeerAuthentication policy takes precedance unless explicitly
+disabled.
+
+
+
+No
+
+
@@ -723,23 +851,43 @@ No
IstioEgressListener[]
Egress specifies the configuration of the sidecar for processing
-outbound traffic from the attached workload instance to other services in the
-mesh.
+outbound traffic from the attached workload instance to other
+services in the mesh. If not specified, inherits the system
+detected defaults from the namespace-wide or the global default Sidecar.
-Yes
+No
outboundTrafficPolicy
OutboundTrafficPolicy
-This allows to configure the outbound traffic policy.
-If your application uses one or more external
-services that are not known apriori, setting the policy to ALLOW_ANY
-will cause the sidecars to route any unknown traffic originating from
-the application to its requested destination.
+Configuration for the outbound traffic policy. If your
+application uses one or more external services that are not known
+apriori, setting the policy to ALLOW_ANY
will cause the
+sidecars to route any unknown traffic originating from the
+application to its requested destination. If not specified,
+inherits the system detected defaults from the namespace-wide or
+the global default Sidecar.
+
+
+
+No
+
+
+
+inboundTls
+TLSOptions
+
+Set of TLS related options that allow a listener to terminate
+SIMPLE or MUTUAL TLS connections at the
+sidecar. PeerAuthentication
policy’s settings take precedance
+over custom TLS settings for the workload. When the
+PeerAuthentication policy disables mTLS tunneling for one or more
+ports in the workload, the TLS settings specified here will be
+applied.
diff --git a/content/en/docs/reference/config/networking/virtual-service/index.html b/content/en/docs/reference/config/networking/virtual-service/index.html
index a0a553ed5c..369780eb56 100644
--- a/content/en/docs/reference/config/networking/virtual-service/index.html
+++ b/content/en/docs/reference/config/networking/virtual-service/index.html
@@ -1068,7 +1068,8 @@ e.g. x-request-id.
regex: "value"
for ECMAscript style regex-based match
-Note: The keys uri
, scheme
, method
, and authority
will be ignored.
+If the value is empty and only the name of header is specfied, presence of the header is checked.
+Note: The keys uri
, scheme
, method
, and authority
will be ignored.
@@ -1146,6 +1147,31 @@ No
Note: The case will be ignored only in the case of exact
and prefix
URI matches.
+
+
+No
+
+
+
+withoutHeaders
+map<string, StringMatch>
+
+withoutHeader has the same syntax with the header, but has opposite meaning.
+If a header is matched with a matching rule among withoutHeader, the traffic becomes not matched one.
+
+
+
+No
+
+
+
+sourceNamespace
+string
+
+Source namespace constraining the applicability of a rule to workloads in that namespace.
+If the VirtualService has a list of gateways specified in the top-level gateways
field,
+it must include the reserved gateway mesh
for this field to be applicable.
+
No
@@ -1352,6 +1378,18 @@ One or more policies can be specified using a ‘,’ delimited list.
See the retry policies
and gRPC retry policies for more details.
+
+
+No
+
+
+
+retryRemoteLocalities
+BoolValue
+
+Flag to specify whether the retries should retry to other localities.
+See the retry plugin configuration for more details.
+
No
@@ -1989,6 +2027,19 @@ No
in the top-level gateways
field of the VirtualService (if any) are overridden. The gateway
match is independent of sourceLabels.
+
+
+No
+
+
+
+sourceNamespace
+string
+
+Source namespace constraining the applicability of a rule to workloads in that namespace.
+If the VirtualService has a list of gateways specified in the top-level gateways
field,
+it must include the reserved gateway mesh
for this field to be applicable.
+
No
@@ -2309,6 +2360,19 @@ No
in the top-level gateways
field of the VirtualService (if any) are overridden. The gateway
match is independent of sourceLabels.
+
+
+No
+
+
+
+sourceNamespace
+string
+
+Source namespace constraining the applicability of a rule to workloads in that namespace.
+If the VirtualService has a list of gateways specified in the top-level gateways
field,
+it must include the reserved gateway mesh
for this field to be applicable.
+
No
diff --git a/content/en/docs/reference/config/policy-and-telemetry/istio.mixer.v1.config.client/index.html b/content/en/docs/reference/config/policy-and-telemetry/istio.mixer.v1.config.client/index.html
index db4b4f2967..dab4adb58b 100644
--- a/content/en/docs/reference/config/policy-and-telemetry/istio.mixer.v1.config.client/index.html
+++ b/content/en/docs/reference/config/policy-and-telemetry/istio.mixer.v1.config.client/index.html
@@ -1320,7 +1320,7 @@ specialized Mixer adapters and services can also generate attributes.
here.
Attributes are strongly typed. The supported attribute types are defined by
-ValueType.
+ValueType.
Each type of value is encoded into one of the so-called transport types present
in this message.
diff --git a/content/en/docs/reference/config/security/istio.authentication.v1alpha1/index.html b/content/en/docs/reference/config/security/istio.authentication.v1alpha1/index.html
index af5a0ef470..e51781794f 100644
--- a/content/en/docs/reference/config/security/istio.authentication.v1alpha1/index.html
+++ b/content/en/docs/reference/config/security/istio.authentication.v1alpha1/index.html
@@ -9,55 +9,10 @@ generator: protoc-gen-docs
schema: istio.authentication.v1alpha1.Policy
weight: 10
aliases: [/docs/reference/config/istio.authentication.v1alpha1]
-number_of_entries: 4
+number_of_entries: 2
---
This package defines user-facing authentication policy.
-MutualTls
-
-TLS authentication params.
-
-
-
MutualTls.Mode
Defines the acceptable connection TLS mode.
@@ -82,37 +37,6 @@ No
Connection can be either plaintext or TLS with Client cert.
-
-
-
-
-
-PeerAuthenticationMethod
-
-PeerAuthenticationMethod defines one particular type of authentication. Only mTLS is supported
-at the moment.
-The type can be progammatically determine by checking the type of the
-“params” field.
-
-