apache / apisix-helm-chart

Apache APISIX Helm Chart
https://apisix.apache.org/
Apache License 2.0
218 stars 208 forks source link

Run ApiSix Helm chart without etcd Dependency #686

Open felpasl opened 6 months ago

felpasl commented 6 months ago

Like mention on this article:

https://apisix.apache.org/blog/2023/10/18/ingress-apisix/

change the ingress-controller deployment to give an option to deploy a lightweight instalation of the apisix based on this file:

https://github.com/apache/apisix-ingress-controller/blob/master/samples/deploy/composite.yaml

Friz-zy commented 6 months ago

As I can see here and here, currently this chart doesn't deploy separate etcd cluster, just start apisix container and use some local proxy (I think). However, I'm not a developer or maintainer though, just looking for a way to run a controller without etcd too :)

Revolyssup commented 5 months ago

@felpasl This has been added here https://github.com/apache/apisix-helm-chart/pull/671/files

vicaya commented 2 months ago

@felpasl This has been added here https://github.com/apache/apisix-helm-chart/pull/671/files

The standalone mode is different from the composite deployment of the ingress controller that embeds the gateway container in the same pod, which seems to be controlled by the .Values.config.etcdserver.enable of the apisix-ingress-controller chart only, i.e. the apisix helm chart is not needed.

vicaya commented 2 months ago

Unfortunately, the composite deployment configuration is not flexible, besides duplicating gateway configuration code in two charts. Since the apisix chart already depends on the ingress controller chart, the composite deployment mode should embed the ingress controller container in the gateway pod rather than the other way around (embedding the gateway container in the ingress controller pod). So we can reuse the more comprehensive gateway configuration and remove the redundant code.

yuvalgtrustmi commented 1 month ago

any update on that topic? I would like to use the charts in order to deploy the "composite" deployment - how should I do that?

thanks!