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
-[1. With ETCD and with the Ingress Controller](#1-with-etcd-and-with-the-ingress-controller)
31
+
-[2. With ETCD and without the Ingress Controller](#2-with-etcd-and-without-the-ingress-controller)
32
+
-[3. Without ETCD and with the Ingress Controller](#3-without-etcd-and-with-the-ingress-controller)
33
+
-[4. Without ETCD and without the Ingress Controller](#4-without-etcd-and-without-the-ingress-controller)
29
34
-[Values](#values)
30
35
-[How to contribute](#how-to-contribute)
31
36
-[License](#license)
@@ -125,6 +130,106 @@ the [test-scenarios](./it/src/test/resources/it/mvds_basic.feature) against it.
125
130
126
131
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
+
standalone:
159
+
existingConfigMap: ""
160
+
etcd:
161
+
enabled: true
162
+
```
163
+
164
+
---
165
+
166
+
### 2. With ETCD and without the Ingress Controller
167
+
168
+
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.
169
+
Chart-defined routes are **not** initialized automatically.
170
+
171
+
```yaml
172
+
apisix:
173
+
ingress-controller:
174
+
enabled: false
175
+
apisix:
176
+
deployment:
177
+
role: traditional
178
+
role_traditional:
179
+
config_provider: yaml
180
+
etcd:
181
+
enabled: true
182
+
```
183
+
184
+
---
185
+
186
+
### 3. Without ETCD and with the Ingress Controller
187
+
188
+
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.
189
+
Although the Admin API can still modify routes, such changes **will not persist across restarts**.
190
+
Kubernetes Ingress objects may also be used to define new routes.
191
+
192
+
> [!WARNING]
193
+
> APISIX requires at least one route to exist for the service to start correctly.
194
+
195
+
```yaml
196
+
apisix:
197
+
ingress-controller:
198
+
enabled: true
199
+
apisix:
200
+
deployment:
201
+
role: traditional
202
+
role_traditional:
203
+
config_provider: yaml
204
+
standalone:
205
+
existingConfigMap: ""
206
+
etcd:
207
+
enabled: false
208
+
```
209
+
210
+
---
211
+
212
+
### 4. Without ETCD and without the Ingress Controller
213
+
214
+
In this mode, routes are defined statically within the `apisix-routes` ConfigMap. APISIX loads these routes at startup, and the configuration remains unchanged unless the ConfigMap or Helm values are manually updated.
215
+
This mode is suitable for simple or fully static environments.
216
+
217
+
```yaml
218
+
apisix:
219
+
ingress-controller:
220
+
enabled: false
221
+
apisix:
222
+
deployment:
223
+
mode: standalone
224
+
role: data_plane
225
+
role_data_plane:
226
+
config_provider: "yaml"
227
+
standalone:
228
+
existingConfigMap: "apisix-routes"
229
+
etcd:
230
+
enabled: false
231
+
```
232
+
128
233
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.
Copy file name to clipboardExpand all lines: charts/odrl-authorization/values.yaml
+29-12Lines changed: 29 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ apisix:
7
7
enabled: true
8
8
ingress-controller:
9
9
# -- Enable the ingress controller pod to read Kubernetes Ingress resources. See [chart documentation](https://artifacthub.io/packages/helm/apisix/apisix-ingress-controller) for more details
10
-
enabled: true
10
+
enabled: false
11
11
gatewayProxy:
12
12
# -- Controls whether to create a default GatewayProxy custom resource.
0 commit comments