You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
39
35
@@ -130,100 +126,7 @@ the [test-scenarios](./it/src/test/resources/it/mvds_basic.feature) against it.
130
126
131
127
APISIX can operate in four distinct deployment modes. Each mode determines how routes are stored, managed, and persisted, as well as which components are responsible for maintaining the routing configuration.
|**1. With ETCD and with Ingress Controller**| ✔️ | ✔️ | APISIX CRDs, Kubernetes Ingress, Admin API | ✔️ Persisted in ETCD | Recommended for Kubernetes-native setups |
138
-
|**2. With ETCD and without Ingress Controller**| ✔️ | ❌ | Admin API only | ✔️ Persisted in ETCD | Chart-defined routes are *not* initialized |
139
-
|**3. Without ETCD and with Ingress Controller**| ❌ | ✔️ | APISIX CRDs, Kubernetes Ingress, Admin API | ❌ In-memory only | Requires at least one route to start |
140
-
|**4. Without ETCD and without Ingress Controller**| ❌ | ❌ | Static ConfigMap (`apisix.yaml`) | ✔️ Persisted only in ConfigMap |**Under development**; installation may fail but upgrades will work |
141
-
142
-
---
143
-
144
-
### 1. With ETCD and with the Ingress Controller
145
-
146
-
In this mode, APISIX persists all route definitions in ETCD. Routes may be defined via APISIX CRDs, standard Kubernetes Ingress resources, or the Admin API.
147
-
Because the configuration is stored in ETCD, all routes—including those created through the Admin API—will **remain available after restarts**.
148
-
149
-
```yaml
150
-
apisix:
151
-
ingress-controller:
152
-
enabled: true
153
-
apisix:
154
-
deployment:
155
-
role: traditional
156
-
role_traditional:
157
-
config_provider: yaml
158
-
etcd:
159
-
enabled: true
160
-
```
161
-
162
-
---
163
-
164
-
### 2. With ETCD and without the Ingress Controller
165
-
166
-
In this configuration, ETCD persists the routes, but no Ingress Controller is available to manage them. As a result, routes can **only** be created or updated using the APISIX Admin API.
167
-
Chart-defined routes are **not** initialized automatically.
168
-
169
-
```yaml
170
-
apisix:
171
-
ingress-controller:
172
-
enabled: false
173
-
apisix:
174
-
deployment:
175
-
role: traditional
176
-
role_traditional:
177
-
config_provider: yaml
178
-
etcd:
179
-
enabled: true
180
-
```
181
-
182
-
---
183
-
184
-
### 3. Without ETCD and with the Ingress Controller
185
-
186
-
When ETCD is disabled, APISIX loads all routes from APISIX CRDs and stores them in memory. The Ingress Controller continuously synchronizes APISIX with these CRDs.
187
-
Although the Admin API can still modify routes, such changes **will not persist across restarts**.
188
-
Kubernetes Ingress objects may also be used to define new routes.
189
-
190
-
> [!WARNING]
191
-
> APISIX requires at least one route to exist for the service to start correctly.
192
-
193
-
```yaml
194
-
apisix:
195
-
ingress-controller:
196
-
enabled: true
197
-
apisix:
198
-
deployment:
199
-
role: traditional
200
-
role_traditional:
201
-
config_provider: yaml
202
-
etcd:
203
-
enabled: false
204
-
```
205
-
206
-
---
207
-
208
-
### 4. Without ETCD and without the Ingress Controller
209
-
210
-
In this mode, routes are defined statically within the `apisix.yaml` ConfigMap. APISIX loads these routes at startup, and the configuration remains unchanged unless the ConfigMap or Helm values are manually updated.
211
-
This mode is suitable for simple or fully static environments.
212
-
213
-
> [!WARNING]
214
-
> This mode is currently under development. Installation may fail, but upgrades will function correctly.
215
-
216
-
```yaml
217
-
apisix:
218
-
ingress-controller:
219
-
enabled: false
220
-
apisix:
221
-
deployment:
222
-
mode: standalone
223
-
role: data_plane
224
-
etcd:
225
-
enabled: false
226
-
```
129
+
For mor information, please check the oficial APISIX documentation on [deployment modes](https://apisix.apache.org/docs/apisix/deployment-modes/) and the [APISIX Helm Chart documentation](https://github.com/apache/apisix-helm-chart/tree/master) for configuration details.
227
130
228
131
<!-- BEGIN HELM DOCS -->
229
132
@@ -519,35 +422,12 @@ true
519
422
</tr>
520
423
<tr>
521
424
<td>apisix.routes</td>
522
-
<td>dict</td>
425
+
<td>list</td>
523
426
<td><pre lang="json">
524
427
[]
525
428
</pre>
526
429
</td>
527
-
<td>Configuration of routes for apisix
528
-
529
-
```yaml
530
-
uri: /*
531
-
host: host-name-test
532
-
type: Service
533
-
namespace: super-ns # release namespace by default
<td>Reserved for future use. Route definitions are no longer generated from this field. In standalone mode (default), define routes via <code>apisix.apisix.deployment.standalone.config</code>. When the ingress controller is enabled, use ApisixRoute CRDs or Kubernetes Ingress resources directly.</td>
0 commit comments