Open KalepuHarish opened 8 months ago
Hello, perhaps what you need is this: consul.md
i am using it apisix-docker 3.8 but i am unable to make connection between consul and apisix
Please see: https://docs.api7.ai/apisix/how-to-guide/service-discovery/consul-integration
As it sounds like a connectivity issue, if you can share how you started APISIX and Consul, as well as your configurations, that would be very helpful to help suggest the next step.
Hi @kayx23,
Thank you for response and to your point below is the way i am staring APISIX and Consul.
1. i am using apisix-docker and using docker compose i am starting apisix below is the compose file config.yaml file docker-compose.yaml file:
version: "3"
services: apisix-dashboard: image: apache/apisix-dashboard:3.0.1-alpine restart: always volumes:
"9000:9000" networks: apisix:
apisix: image: apache/apisix:${APISIX_IMAGE_TAG:-3.8.0-debian} restart: always volumes:
ports:
"9092:9092/tcp" networks: apisix:
etcd: image: bitnami/etcd:3.5.11 restart: always volumes:
"2379:2379/tcp" networks: apisix:
web1: image: nginx:1.19.0-alpine restart: always volumes:
NGINX_PORT=80 networks: apisix:
web2: image: nginx:1.19.0-alpine restart: always volumes:
NGINX_PORT=80 networks: apisix:
prometheus: image: prom/prometheus:v2.25.0 restart: always volumes:
"9090:9090" networks: apisix:
grafana: image: grafana/grafana:7.3.7 restart: always ports:
networks: apisix: driver: bridge
volumes: etcd_data: driver: local
config.yaml file
discovery: consul: servers:
"http://127.0.0.1:8500" apisix: node_listen: 9080 # APISIX listening port enable_ipv6: false
enable_control: true control: ip: "0.0.0.0" port: 9092
deployment: admin: allow_admin: # https://nginx.org/en/docs/http/ngx_http_access_module.html#allow
0.0.0.0/0 # We need to restrict ip access rules for security. 0.0.0.0/0 is for test.
admin_key:
name: "admin" key: edd1c9f034335f136f87ad84b625c8f1 role: admin # admin: manage all configuration data
name: "viewer" key: 4054f7cf07e344346cd3f287985e76a2 role: viewer
etcd: host: # it's possible to define multiple etcd hosts addresses of the same etcd cluster.
"http://etcd:2379" # multiple etcd address prefix: "/apisix" # apisix configurations prefix timeout: 30 # 30 seconds
plugin_attr: prometheus: export_addr: ip: "0.0.0.0" port: 9091
2. Running consul using brew install in my macbook and its running on 8500 port with UI. using below commands
brew tap hashicorp/tap brew install hashicorp/tap/consul
And also i tried another way i.e
Thanks, Harish
discovery: consul: servers:
Use Networks Gateway.
@kayx23 But i am not running consul using docker. but could you give little detailed answer with example please that will help a lot please.
discovery: consul: servers:
Replace 127.0.0.1
with your host's private ip address:
@kayx23 thank you so much will try and let you know
but what if i am doing like below:
1. Running APISIX on AWS EC2 instance with same config using docker only
2. Running Consul on Another EC2 Instance in this case also i am unable to make connection between them.
below is the doc using to install consul: https://developer.hashicorp.com/consul/install
as you suggested followed same but if you attached screenshot still its not able to connect to consul
docker inspect apisix container, and use NETWORKS GATEWAY as ur consul host.
as you suggested followed same but if you attached screenshot still its not able to connect to consul
@KalepuHarish I cannot reproduce your issue unfortunately.
Any update? Still struggling with the same?
Description
Hi am using Consul as service discovery and spring cloud gateway and it register as service in consul now i want migrate to apisix and i am using it apisix-docker 3.8 but i am unable to make connection between consul and apisix.
can someone please help and if any source or steps please help me
Environment