Skip to main content

Version: 3.2.10.1

High Availability Installation

This document describes how to configure API7 Gateway High Availability in the following aspects:

  • Control plane
    • API7 Dashboard
    • DP Manager
  • Data plane
    • API7 Gateway

Not covered:

  • PostgreSQL
  • Prometheus

Prerequisites

Control Plane

API7 Dashboard is the major component of the control plane, which is a Web GUI and processes the business logic. API7 Dashboard is a stateless service, and all the data information is stored in PostgreSQL.

To ensure high availability, you require a control plane cluster that contains multiple control plane nodes. Additionally, it is essential to deploy a load balancer in front of all the control plane nodes. If a node fails, the load balancer can remove it from the pool, ensuring that traffic is not sent to unavailable nodes.

For all control plane nodes, do the following:

1. Copy Control Plane Package to the Host

Get the proper package when preparing for high availability.

2. Configure dashboard-config.yaml

Modify database address:

server:
listen:
host: "0.0.0.0"
port: 17080

database:
dsn: "postgres://$user:$password@$postgresql_address:$postgresql_port/api7ee"

3. Start API7 Dashboard

docker run -d -p 17080:17080 -v ./dashboard-config.yaml:/app/conf/config.yaml api7/api7-ee-3-integrated:v3.2.9.1

4. Configure dp-manager-config.yaml

Modify database address:

server:
listen:
host: "0.0.0.0"
port: 17900

database:
dsn: "postgres://$user:$password@$postgresql_address:$postgresql_port/api7ee"

5. Start DP Manager

docker run -d -p 17900:17900 -v ./dp-manager-config.yaml:/usr/local/api7/conf/config.yaml api7/api7-ee-dp-manager:v3.2.9.1

Data Plane

API7 Gateway charges for accepting traffic from the client and forwarding it to upstreams, so a data plane node can also be called a Gateway Instance. The API7 Gateway is a stateless component, and all configuration information is stored in PostgreSQL. Therefore, you can deploy multiple nodes to improve the high availability of the data plane.

To ensure high availability, you require a data plane cluster that contains multiple data plane nodes. The data plane cluster can also be called a Gateway Group. Additionally, it is essential to deploy a load balancer in front of all the data plane nodes. If a node fails, the load balancer can remove it from the pool, ensuring that traffic is not sent to unavailable nodes.

For all data plane nodes, do the following:

1. Log in to API7 Dashboard.

2. Create/Enter the proper gateway group.

3. Click Add Gateway Instance

Refer to Add Gateway Instance.


API7.ai Logo

API Management for Modern Architectures with Edge, API Gateway, Kubernetes, and Service Mesh.

Product

API7 Cloud

SOC2 Type IRed Herring

Copyright © APISEVEN Ltd. 2019 – 2024. Apache, Apache APISIX, APISIX, and associated open source project names are trademarks of the

Apache Software Foundation