PhanPirang opened a new issue, #8067:
URL: https://github.com/apache/apisix/issues/8067
### Description
I have configured APISIX as decouple mode. The control plane works fine. I
can call Admin API however in the data plane container it shows as below:
/usr/local/openresty/luajit/bin/luajit ./apisix/cli/apisix.lua init
failed to validate config: property "etcd" validation failed: property
"prefix" is required
Furthermore, where can I find more documents or sample repository relate to
deployment mode? I can only find it in the APISIX document.
Here's my config file:
version: 3.0.0-beta
#control_plane config:
```
apisix:
node_listen: 9080
enable_ipv6: false
allow_admin:
- 0.0.0.0/0
control:
ip: "0.0.0.0"
port: 9092
deployment:
role: control_plane
role_control_plane:
config_provider: etcd
conf_server:
listen: 0.0.0.0:9280
cert: /certs/cp/apisix-cp.crt
cert_key: /certs/cp/apisix-cp.key
admin:
allow_admin:
- 0.0.0.0/0
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
```
#data_plane config:
```
apisix:
node_listen: 9080
enable_ipv6: false
enable_control: true
control:
ip: "0.0.0.0"
port: 9092
deployment:
role: data_plane
role_data_plane:
config_provider: control_plane
control_plane:
host:
- "https://apisix-control-plane:9280"
timeout: 30
certs:
cert: /certs/dp/apisix-dp.crt
cert_key: /certs/dp/apisix-dp.key
trusted_ca_cert: /certs/ca/root-ca.crt
admin:
allow_admin:
- 0.0.0.0/0
plugin_attr:
prometheus:
export_addr:
ip: "0.0.0.0"
port: 9091
```
#docker compose file:
```
version: "3"
services:
apisix-dashboard:
image: apache/apisix-dashboard:2.13-alpine
restart: always
volumes:
- ./dashboard_conf/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml
ports:
- "9000:9000"
networks:
apisix:
apisix:
image: apache/apisix:2.99.0-debian
restart: always
volumes:
- ./apisix_dp_log:/usr/local/apisix/logs
- ./apisix_dp_conf/config.yaml:/usr/local/apisix/conf/config.yaml:ro
- ./certs/dp:/certs/dp
- ./certs/ca:/certs/ca
depends_on:
- apisix-control-plane
##network_mode: host
ports:
- "9080:9080/tcp"
- "9091:9091/tcp"
- "9443:9443/tcp"
- "9092:9092/tcp"
networks:
apisix:
apisix-control-plane:
image: apache/apisix:2.99.0-debian
restart: always
volumes:
- ./apisix_cp_log:/usr/local/apisix/logs
- ./apisix_cp_conf/config.yaml:/usr/local/apisix/conf/config.yaml:ro
- ./certs/cp:/certs/cp
- ./certs/ca:/certs/ca
depends_on:
- etcd
##network_mode: host
ports:
- "9180:9180/tcp"
- "9280:9280/tcp"
networks:
apisix:
etcd:
image: bitnami/etcd:3.4.15
restart: always
volumes:
- etcd_data:/bitnami/etcd
environment:
ETCD_ENABLE_V2: "true"
ALLOW_NONE_AUTHENTICATION: "yes"
ETCD_ADVERTISE_CLIENT_URLS: "http://0.0.0.0:2379"
ETCD_LISTEN_CLIENT_URLS: "http://0.0.0.0:2379"
ports:
- "2379:2379/tcp"
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
```
### Environment
- APISIX version (3.0.0-Beta):
- Run as Docker Container
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]