Skip to main content

Version: 3.2.15.2

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

  1. Finish Prepare for high availability.
  2. Install PostgreSQL(Version 15) and Prometheus (optional, Version 2.48).

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 machine. You can get the proper package from preparing for high availability.
  2. Configure dashboard-config.yaml to modify the database address:
server:
listen:
host: "0.0.0.0"
port: 17080

database:
dsn: "postgres://$user:$password@$postgresql_address:$postgresql_port/api7ee"
  1. Start API7 Dashboard:
docker run -d -p 17080:17080 -v ./dashboard-config.yaml:/app/conf/config.yaml api7/api7-ee-3-integrated:v3.2.15.2
  1. Configure dp-manager-config.yaml to modify the database address:
server:
listen:
host: "0.0.0.0"
port: 17900

database:
dsn: "postgres://$user:$password@$postgresql_address:$postgresql_port/api7ee"
  1. 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.15.2

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.

Add Gateway Groups

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. Refer to Add gateway groups for instruction.


API7.ai Logo

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

Product

API7 Cloud

SOC2 Type IIISO 27001HIPAAGDPRRed Herring

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

Apache Software Foundation