Skip to content

Commit 369a18e

Browse files
Merge pull request #280654 from shashankbarsin/meshconfig
Meshconfig doc updates
2 parents 9253dd6 + 6fb69bd commit 369a18e

File tree

1 file changed

+60
-57
lines changed

1 file changed

+60
-57
lines changed

articles/aks/istio-meshconfig.md

Lines changed: 60 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ This article walks through how to configure Istio-based service mesh add-on for
1717

1818
## Prerequisites
1919

20-
This guide assumes you followed the [documentation][istio-deploy-addon] to enable the Istio add-on on an AKS cluster.
20+
This guide assumes you followed the [documentation][istio-deploy-add-on] to enable the Istio add-on on an AKS cluster.
2121

2222
## Set up configuration on cluster
2323

@@ -64,7 +64,7 @@ This guide assumes you followed the [documentation][istio-deploy-addon] to enabl
6464
The values under `defaultConfig` are mesh-wide settings applied for Envoy sidecar proxy.
6565

6666
> [!CAUTION]
67-
> A default ConfigMap (for example, `istio-asm-1-18` for revision asm-1-18) is created in `aks-istio-system` namespace on the cluster when the Istio addon is enabled. However, this default ConfigMap gets reconciled by the managed Istio addon and thus users should NOT directly edit this ConfigMap. Instead users should create a revision specific Istio shared ConfigMap (for example `istio-shared-configmap-asm-1-18` for revision asm-1-18) in the aks-istio-system namespace, and then the Istio control plane will merge this with the default ConfigMap, with the default settings taking precedence.
67+
> A default ConfigMap (for example, `istio-asm-1-18` for revision asm-1-18) is created in `aks-istio-system` namespace on the cluster when the Istio add-on is enabled. However, this default ConfigMap gets reconciled by the managed Istio add-on and thus users should NOT directly edit this ConfigMap. Instead users should create a revision specific Istio shared ConfigMap (for example `istio-shared-configmap-asm-1-18` for revision asm-1-18) in the aks-istio-system namespace, and then the Istio control plane will merge this with the default ConfigMap, with the default settings taking precedence.
6868

6969
### Mesh configuration and upgrades
7070

@@ -76,74 +76,76 @@ After the upgrade is completed or rolled back, you can delete the ConfigMap of t
7676
7777
Fields in `MeshConfig` are classified into three categories:
7878
79-
- **Blocked**: Disallowed fields are blocked via addon managed admission webhooks. API server immediately publishes the error message to the user that the field is disallowed.
79+
- **Blocked**: Disallowed fields are blocked via add-on managed admission webhooks. API server immediately publishes the error message to the user that the field is disallowed.
8080
- **Supported**: Supported fields (for example, fields related to access logging) receive support from Azure support.
8181
- **Allowed**: These fields (such as proxyListenPort or proxyInboundListenPort) are allowed but they aren't covered by Azure support.
8282

8383
Mesh configuration and the list of allowed/supported fields are revision specific to account for fields being added/removed across revisions. The full list of allowed fields and the supported/unsupported ones within the allowed list is provided in the below table. When new mesh revision is made available, any changes to allowed and supported classification of the fields is noted in this table.
8484

8585
### MeshConfig
8686

87-
| **Field** | **Supported** | **Notes** |
87+
Fields present in [open source MeshConfig reference documentation][istio-meshconfig] that are not covered in the following table are blocked. For example, `configSources` is blocked.
88+
89+
| **Field** | **Supported/Allowed** | **Notes** |
8890
|-----------|---------------|-----------|
89-
| proxyListenPort | false | - |
90-
| proxyInboundListenPort | false | - |
91-
| proxyHttpPort | false | - |
92-
| connectTimeout | false | Configurable in [DestinationRule](https://istio.io/latest/docs/reference/config/networking/destination-rule/#ConnectionPoolSettings-TCPSettings) |
93-
| tcpKeepAlive | false | Configurable in [DestinationRule](https://istio.io/latest/docs/reference/config/networking/destination-rule/#ConnectionPoolSettings-TCPSettings) |
94-
| defaultConfig | true | Used to configure [ProxyConfig](https://istio.io/latest/docs/reference/config/istio.mesh.v1alpha1/#ProxyConfig) |
95-
| outboundTrafficPolicy | true | Also configurable in [Sidecar CR](https://istio.io/latest/docs/reference/config/networking/sidecar/#OutboundTrafficPolicy) |
96-
| extensionProviders | false | - |
97-
| defaultProviders | false | - |
98-
| accessLogFile | true | - |
99-
| accessLogFormat | true | - |
100-
| accessLogEncoding | true | - |
101-
| enableTracing | true | - |
102-
| enableEnvoyAccessLogService | true | - |
103-
| disableEnvoyListenerLog | true | - |
104-
| trustDomain | false | - |
105-
| trustDomainAliases | false | - |
106-
| caCertificates | false | Configurable in [DestinationRule](https://istio.io/latest/docs/reference/config/networking/destination-rule/#ClientTLSSettings) |
107-
| defaultServiceExportTo | false | Configurable in [ServiceEntry](https://istio.io/latest/docs/reference/config/networking/service-entry/#ServiceEntry) |
108-
| defaultVirtualServiceExportTo | false | Configurable in [VirtualService](https://istio.io/latest/docs/reference/config/networking/virtual-service/#VirtualService) |
109-
| defaultDestinationRuleExportTo | false | Configurable in [DestinationRule](https://istio.io/latest/docs/reference/config/networking/destination-rule/#DestinationRule) |
110-
| localityLbSetting | false | Configurable in [DestinationRule](https://istio.io/latest/docs/reference/config/networking/destination-rule/#LoadBalancerSettings) |
111-
| dnsRefreshRate | false | - |
112-
| h2UpgradePolicy | false | Configurable in [DestinationRule](https://istio.io/latest/docs/reference/config/networking/destination-rule/#ConnectionPoolSettings-HTTPSettings) |
113-
| enablePrometheusMerge | true | - |
114-
| discoverySelectors | true | - |
115-
| pathNormalization | false | - |
116-
| defaultHttpRetryPolicy | false | Configurable in [VirtualService](https://istio.io/latest/docs/reference/config/networking/virtual-service/#HTTPRetry) |
117-
| serviceSettings | false | - |
118-
| meshMTLS | false | - |
119-
| tlsDefaults | false | - |
91+
| proxyListenPort | Allowed | - |
92+
| proxyInboundListenPort | Allowed | - |
93+
| proxyHttpPort | Allowed | - |
94+
| connectTimeout | Allowed | Configurable in [DestinationRule](https://istio.io/latest/docs/reference/config/networking/destination-rule/#ConnectionPoolSettings-TCPSettings) |
95+
| tcpKeepAlive | Allowed | Configurable in [DestinationRule](https://istio.io/latest/docs/reference/config/networking/destination-rule/#ConnectionPoolSettings-TCPSettings) |
96+
| defaultConfig | Supported | Used to configure [ProxyConfig](https://istio.io/latest/docs/reference/config/istio.mesh.v1alpha1/#ProxyConfig) |
97+
| outboundTrafficPolicy | Supported | Also configurable in [Sidecar CR](https://istio.io/latest/docs/reference/config/networking/sidecar/#OutboundTrafficPolicy) |
98+
| extensionProviders | Allowed | - |
99+
| defaultProviders | Allowed | - |
100+
| accessLogFile | Supported | This field addresses the generation of the access logs. For a managed experience on collection and querying of logs, refer to [Azure Monitor Container Insights on AKS][container-insights-docs] |
101+
| accessLogFormat | Supported | This field addresses the generation of the access logs. For a managed experience on collection and querying of logs, refer to [Azure Monitor Container Insights on AKS][container-insights-docs] |
102+
| accessLogEncoding | Supported | This field addresses the generation of the access logs. For a managed experience on collection and querying of logs, refer to [Azure Monitor Container Insights on AKS][container-insights-docs] |
103+
| enableTracing | Allowed | |
104+
| enableEnvoyAccessLogService | Supported | This field addresses the generation of the access logs. For a managed experience on collection and querying of logs, refer to [Azure Monitor Container Insights on AKS][container-insights-docs] |
105+
| disableEnvoyListenerLog | Supported | This field addresses the generation of the access logs. For a managed experience on collection and querying of logs, refer to [Azure Monitor Container Insights on AKS][container-insights-docs] |
106+
| trustDomain | Allowed | - |
107+
| trustDomainAliases | Allowed | - |
108+
| caCertificates | Allowed | Configurable in [DestinationRule](https://istio.io/latest/docs/reference/config/networking/destination-rule/#ClientTLSSettings) |
109+
| defaultServiceExportTo | Allowed | Configurable in [ServiceEntry](https://istio.io/latest/docs/reference/config/networking/service-entry/#ServiceEntry) |
110+
| defaultVirtualServiceExportTo | Allowed | Configurable in [VirtualService](https://istio.io/latest/docs/reference/config/networking/virtual-service/#VirtualService) |
111+
| defaultDestinationRuleExportTo | Allowed | Configurable in [DestinationRule](https://istio.io/latest/docs/reference/config/networking/destination-rule/#DestinationRule) |
112+
| localityLbSetting | Allowed | Configurable in [DestinationRule](https://istio.io/latest/docs/reference/config/networking/destination-rule/#LoadBalancerSettings) |
113+
| dnsRefreshRate | Allowed | - |
114+
| h2UpgradePolicy | Allowed | Configurable in [DestinationRule](https://istio.io/latest/docs/reference/config/networking/destination-rule/#ConnectionPoolSettings-HTTPSettings) |
115+
| enablePrometheusMerge | Allowed | - |
116+
| discoverySelectors | Supported | - |
117+
| pathNormalization | Allowed | - |
118+
| defaultHttpRetryPolicy | Allowed | Configurable in [VirtualService](https://istio.io/latest/docs/reference/config/networking/virtual-service/#HTTPRetry) |
119+
| serviceSettings | Allowed | - |
120+
| meshMTLS | Allowed | - |
121+
| tlsDefaults | Allowed | - |
120122

121123
### ProxyConfig (meshConfig.defaultConfig)
122124

123-
| **Field** | **Supported** |
125+
Fields present in [open source MeshConfig reference documentation](https://istio.io/latest/docs/reference/config/istio.mesh.v1alpha1/#ProxyConfig) that are not covered in the following table are blocked.
126+
127+
| **Field** | **Supported/Allowed** |
124128
|-----------|---------------|
125-
| tracingServiceName | true |
126-
| drainDuration | true |
127-
| statsUdpAddress | false |
128-
| proxyAdminPort | false |
129-
| tracing | true |
130-
| concurrency | true |
131-
| envoyAccessLogService | true |
132-
| envoyMetricsService | true |
133-
| proxyMetadata | false |
134-
| statusPort | false |
135-
| extraStatTags | false |
136-
| proxyStatsMatcher | false |
137-
| terminationDrainDuration | true |
138-
| meshId | false |
139-
| holdApplicationUntilProxyStarts | true |
140-
| caCertificatesPem | false |
141-
| privateKeyProvider | false |
142-
143-
Fields present in [open source MeshConfig reference documentation][istio-meshconfig] but not in the above table are blocked. For example, `configSources` is blocked.
129+
| tracingServiceName | Allowed |
130+
| drainDuration | Supported |
131+
| statsUdpAddress | Allowed |
132+
| proxyAdminPort | Allowed |
133+
| tracing | Allowed |
134+
| concurrency | Supported |
135+
| envoyAccessLogService | Allowed |
136+
| envoyMetricsService | Allowed |
137+
| proxyMetadata | Allowed |
138+
| statusPort | Allowed |
139+
| extraStatTags | Allowed |
140+
| proxyStatsMatcher | Allowed |
141+
| terminationDrainDuration | Supported |
142+
| meshId | Allowed |
143+
| holdApplicationUntilProxyStarts | Supported |
144+
| caCertificatesPem | Allowed |
145+
| privateKeyProvider | Allowed |
144146

145147
> [!CAUTION]
146-
> **Support scope of configurations:** Mesh configuration allows for extension providers such as self-managed instances of Zipkin or Apache Skywalking to be configured with the Istio addon. However, these extension providers are outside the support scope of the Istio addon. Any issues associated with extension tools are outside the support boundary of the Istio addon.
148+
> **Support scope of configurations:** Mesh configuration allows for extension providers such as self-managed instances of Zipkin or Apache Skywalking to be configured with the Istio add-on. However, these extension providers are outside the support scope of the Istio add-on. Any issues associated with extension tools are outside the support boundary of the Istio add-on.
147149

148150
## Common errors and troubleshooting tips
149151

@@ -159,4 +161,5 @@ Fields present in [open source MeshConfig reference documentation][istio-meshcon
159161
160162
[istio-meshconfig]: https://istio.io/latest/docs/reference/config/istio.mesh.v1alpha1/
161163
[istio-sidecar-race-condition]: https://istio.io/latest/docs/ops/common-problems/injection/#pod-or-containers-start-with-network-issues-if-istio-proxy-is-not-ready
162-
[istio-deploy-addon]: istio-deploy-addon.md
164+
[istio-deploy-add-on]: istio-deploy-addon.md
165+
[container-insights-docs]: ../azure-monitor/containers/container-insights-overview.md

0 commit comments

Comments
 (0)