Comments (12)
Hello, perhaps what you need is this: consul.md
from apisix.
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.
from apisix.
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:
- ./dashboard_conf/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml
ports:
- "9000:9000"
networks:
apisix:
apisix:
image: apache/apisix:${APISIX_IMAGE_TAG:-3.8.0-debian}
restart: always
volumes:
- ./apisix_conf/config.yaml:/usr/local/apisix/conf/config.yaml:ro
depends_on:
- etcd
##network_mode: host
ports:
- "9180:9180/tcp"
- "9080:9080/tcp"
- "9091:9091/tcp"
- "9443:9443/tcp"
- "9092:9092/tcp"
networks:
apisix:
etcd:
image: bitnami/etcd:3.5.11
restart: always
volumes:
- etcd_data:/bitnami/etcd
environment:
ETCD_ENABLE_V2: "true"
ALLOW_NONE_AUTHENTICATION: "yes"
ETCD_ADVERTISE_CLIENT_URLS: "http://etcd:2379"
ETCD_LISTEN_CLIENT_URLS: "http://0.0.0.0:2379"
ports:
- "2379:2379/tcp"
networks:
apisix:
web1:
image: nginx:1.19.0-alpine
restart: always
volumes:
- ./upstream/web1.conf:/etc/nginx/nginx.conf
ports:
- "9081:80/tcp"
environment:
- NGINX_PORT=80
networks:
apisix:
web2:
image: nginx:1.19.0-alpine
restart: always
volumes:
- ./upstream/web2.conf:/etc/nginx/nginx.conf
ports:
- "9082:80/tcp"
environment:
- NGINX_PORT=80
networks:
apisix:
prometheus:
image: prom/prometheus:v2.25.0
restart: always
volumes:
- ./prometheus_conf/prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
networks:
apisix:
grafana:
image: grafana/grafana:7.3.7
restart: always
ports:
- "3000:3000"
volumes:
- "./grafana_conf/provisioning:/etc/grafana/provisioning"
- "./grafana_conf/dashboards:/var/lib/grafana/dashboards"
- "./grafana_conf/config/grafana.ini:/etc/grafana/grafana.ini"
networks:
apisix:
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
- Running APISIX on AWS EC2 instance with same config using docker only
- 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
Thanks,
Harish
from apisix.
discovery:
consul:
servers:
Use Networks Gateway.
from apisix.
@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.
from apisix.
discovery:
consul:
servers:
Replace 127.0.0.1
with your host's private ip address:
from apisix.
@kayx23 thank you so much will try and let you know
from apisix.
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
from apisix.
- similar to what I mentioned above, replace 127.0.0.1 with your EC2 host's private ip address.
- you would have to research a bit more on your own to configure out how to adjust the networking and security group setups.
from apisix.
from apisix.
docker inspect apisix container, and use NETWORKS GATEWAY as ur consul host.
from apisix.
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?
from apisix.
Related Issues (20)
- help request: TLS authentication failed HOT 1
- help request: TLS authentication failed HOT 12
- help request: 请问配置了clickhouse插件,为什么在控制面板看不到呀? HOT 5
- docs: The route plugin and consumer plugin are run repeatedly. Is this the correct result? HOT 6
- bug: allow_origins_by_metadata does not work without allow_origins HOT 4
- help request: Pubsub with Kafka ready for production ? HOT 2
- bug: Running APISIX in AWS with AWS CDK hangs on deployment HOT 1
- prometheus.lua:920: log_error(): Error while setting 'batch_process_entries{} 'no memory' while logging request HOT 2
- feat: developer portal
- bug: Apaceh apisix taking more than 2 seconds for some of the requests HOT 2
- bug: Cannot serialise table: excessively sparse array force: true HOT 3
- feat: proxy-rewrite plugin's execution phase should change from rewrite to access HOT 5
- bug: 插件 jwt-auth 的 function get_real_payload 存在 key 和 exp 被恶意修改的可能 HOT 15
- help request: log_rotate is not working HOT 2
- feat: enhance the cas-auth plugin to support JSON format responses HOT 2
- feat: uri_without_ticket function from cas-auth plugin need to generate uri based on container enviroment HOT 3
- help request: The number of udp socket is not released HOT 2
- help request: how to send mTLS requests in apisix from Lua plugin HOT 5
- bug: nginx-1.25.3 is Vulnerable, waiting for a new release of openresty HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from apisix.