apache / apisix

The Cloud-Native API Gateway
https://apisix.apache.org/blog/
Apache License 2.0
14.35k stars 2.49k forks source link

help request: apisix without etcd using ingress controller #10842

Open beeant0512 opened 8 months ago

beeant0512 commented 8 months ago

Description

按照官方文档,APISIX Ingress Controller:一种无需 etcd 的轻量级部署方式,在k8s上还是部署失败了,因为apisix的config好像还是需要有etcd服务,请问有人部署成功过吗?

Environment

hanqingwu commented 8 months ago

按说明是在内部模拟 etcd的, 模拟 etcd server API:根据 CRD 构建 KV 内存数据库,并模拟 etcd server API 提供给 APISIX 进行使用。APISIX 将会尝试 watch Controller 提供的资源配置,并通知到 APISIX 实例。

你部署 失败的现象是什么样的?

beeant0512 commented 8 months ago

按说明是在内部模拟 etcd的, 模拟 etcd server API:根据 CRD 构建 KV 内存数据库,并模拟 etcd server API 提供给 APISIX 进行使用。APISIX 将会尝试 watch Controller 提供的资源配置,并通知到 APISIX 实例。

你部署 失败的现象是什么样的?

用的https://github.com/apache/apisix-helm-chart.git 提供的charts,把配置etcd改成了false,然后apisix启动报无法连接 localhost:2379


# -- Ingress controller configuration
ingress-controller:
  enabled: true
......

etcd:
  # -- install etcd(v3) by default, set false if do not want to install etcd(v3) together
  enabled: false
beeant0512 commented 8 months ago

@hanqingwu

hanqingwu commented 8 months ago

从 apisix-helm-chart/charts/apisix-ingress-controller/templates/deployment.yaml 来看 config.etcdserver.enabled 为true , 才会连接启动内置的etcd 12379 建议你还是用 enabled 为true 试下

beeant0512 commented 8 months ago

enabled为true还是用会部署etcd,和初衷违背了

hanqingwu commented 8 months ago

按手册的说明,如果你要部署 apisix-ingress-controller 且不使用 etcd 的话 , https://github.com/apache/apisix-helm-chart/tree/master/charts/apisix-ingress-controller helm install ... --set config.etcdserver.enabled=true

shreemaan-abhishek commented 8 months ago

please use english in the public channel, thanks.

damoshushu commented 4 months ago

请问解决了吗? @beeant0512