Service Mesh
AuthenticationPolicy
AuthenticationPolicy defines authentication policy. It can be set for different scopes (mesh, service …), and the most narrow scope with non-INHERIT value will be used. Mesh policy cannot be INHERIT.
Name | Description |
---|---|
NONE | Do not encrypt Envoy to Envoy traffic. |
MUTUAL_TLS | Envoy to Envoy traffic is wrapped into mutual TLS connections. |
INHERIT | Use the policy defined by the parent scope. Should not be used for mesh policy. |
MeshConfig
MeshConfig defines mesh-wide variables shared by all Envoy instances in the Istio service mesh.
MeshConfig.AuthPolicy
TODO AuthPolicy needs to be removed and merged with AuthPolicy defined above
Name | Description |
---|---|
NONE | Do not encrypt Envoy to Envoy traffic. |
MUTUAL_TLS | Envoy to Envoy traffic is wrapped into mutual TLS connections. |
MeshConfig.IngressControllerMode
Name | Description |
---|---|
OFF | Disables Istio ingress controller. |
DEFAULT | Istio ingress controller will act on ingress resources that do not contain any annotation or whose annotations match the value specified in the ingress_class parameter described earlier. Use this mode if Istio ingress controller will be the default ingress controller for the entire kubernetes cluster. |
STRICT | Istio ingress controller will only act on ingress resources whose annotations match the value specified in the ingress_class parameter described earlier. Use this mode if Istio ingress controller will be a secondary ingress controller (e.g., in addition to a cloud-provided ingress controller). |
MeshConfig.OutboundTrafficPolicy
MeshConfig.OutboundTrafficPolicy.Mode
Name | Description |
---|---|
REGISTRY_ONLY | outbound traffic will be restricted to services defined in the service registry as well as those defined through ExternalServices |
ALLOW_ANY | outbound traffic to unknown destinations will be allowed |
VIRTUAL_SERVICE_ONLY | not implemented. outbound traffic will be restricted to destinations defined in VirtualServices only |
MeshConfig.RbacConfig
RbacConfig defines the global config to control Istio RBAC behavior.
MeshConfig.RbacConfig.Mode
Name | Description |
---|---|
OFF | Disable Istio RBAC completely, any other config in RbacConfig will be ignored and Istio RBAC policies will not be enforced. |
ON | Enable Istio RBAC for all services and namespaces. |
ON_WITH_INCLUSION | Enable Istio RBAC only for services and namespaces specified in the inclusion field. Any other services and namespaces not in the inclusion field will not be enforced by Istio RBAC policies. |
ON_WITH_EXCLUSION | Enable Istio RBAC for all services and namespaces except those specified in the exclusion field. Any other services and namespaces not in the exclusion field will be enforced by Istio RBAC policies. |
MeshConfig.RbacConfig.Target
Target defines a list of services or namespaces.
ProxyConfig
ProxyConfig defines variables for individual Envoy instances.
ProxyConfig.InboundInterceptionMode
The mode used to redirect inbound traffic to Envoy. This setting has no effect on outbound traffic: iptables REDIRECT is always used for outbound connections.
Name | Description |
---|---|
REDIRECT | The REDIRECT mode uses iptables REDIRECT to NAT and redirect to Envoy. This mode loses source IP addresses during redirection. |
TPROXY | The TPROXY mode uses iptables TPROXY to redirect to Envoy. This mode preserves both the source and destination IP addresses and ports, so that they can be used for advanced filtering and manipulation. This mode also configures the sidecar to run with the CAPNETADMIN capability, which is required to use TPROXY. |