Skip to main content

Version: 2.13.2304

CentOS

info

This is the PoC installation guide. API7 Gateway and other components are deployed on the same machine. If you're looking for production solutions, please contact us.

Prerequisites

  • CentOS version: 7.6 or higher.
  • 1 Virtual Machine with 2 CPU cores and 4GB memory.

Get Packages

wget https://repos.apiseven.com/api7/linux/amd64/api7-ee-2.13.2304.tar.gz

# Unzip the package to api7-ee-2.13.2304 directory
tar -zxvf api7-ee-2.13.2304.tar.gz

Deploy Components

Audit Logs (Optional)

OpenSearch

cd api7-ee-2.13.2304

cd opensearch && sudo sh install.sh --ip 127.0.0.1
# Verification
systemctl status opensearch

opensearch.service - OpenSearch
Loaded: loaded (/etc/systemd/system/opensearch.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2023-03-29 15:41:44 UTC; 1h 27min ago
Main PID: 10451 (java)
CGroup: /system.slice/opensearch.service
└─10451 /usr/local/opensearch/jdk/bin/java -Xshare:auto -Dopensearch.networkaddress.cache.ttl=60 -Dopensearch.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.enc

Observability (Optional)

AlertManager

cd api7-ee-2.13.2304

cd prometheus/alertmanager && sudo sh install.sh
# Verification
systemctl status alertmanager

alertmanager.service - Alertmanager
Loaded: loaded (/etc/systemd/system/alertmanager.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2023-03-29 15:30:41 UTC; 1h 45min ago
Main PID: 9232 (alertmanager)
CGroup: /system.slice/alertmanager.service
└─9232 /usr/local/bin/alertmanager --config.file=/etc/alertmanager/alertmanager.yml

Prometheus

cd api7-ee-2.13.2304

cd prometheus/prometheus && sudo sh install.sh
# Verification
systemctl status prometheus

prometheus.service - Prometheus
Loaded: loaded (/etc/systemd/system/prometheus.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2023-03-29 15:30:40 UTC; 1h 44min ago
Main PID: 9181 (prometheus)
CGroup: /system.slice/prometheus.service
└─9181 /usr/local/bin/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus --web.console.templates=/etc/prometheus/consoles --web.console.libraries=/etc/prometheus/console_libraries --web.enable-lifecycle

Grafana

cd api7-ee-2.13.2304

cd grafana && sudo sh install.sh
# Verification
systemctl status grafana-server

Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2023-03-30 01:23:38 UTC; 46min ago
Docs: http://docs.grafana.org
Main PID: 18520 (grafana)
CGroup: /system.slice/grafana-server.service
└─18520 /usr/share/grafana/bin/grafana server --config=/etc/grafana/grafana.ini --pidfile=/var/run/grafana/grafana-server.pid --packaging=rpm cfg:default.paths.logs=/var/log/grafana cfg:default.paths.data=/var/lib/grafana cfg:default.paths.plugins=/var/lib/grafana/plugins

Confd

cd api7-ee-2.13.2304

# For PoC we install all components on one node,so they all use the local IP.

cd prometheus/confd && sudo sh install.sh --etcd-ip 127.0.0.1 --dashboard-ip 127.0.0.1 --prometheus-ip 127.0.0.1 --alertmanager-ip 127.0.0.1
# Verification
systemctl status confd

confd.service - Confd
Loaded: loaded (/etc/systemd/system/confd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2023-03-29 15:41:53 UTC; 1h 34min ago
Main PID: 10752 (confd)
CGroup: /system.slice/confd.service
└─10752 /usr/local/bin/confd --config-file=/etc/confd/confd.toml

API7 Dashboard (Required)

This step is required to install API7 Dashboard and etcd.

cd api7-ee-2.13.2304

sudo sh install-cp.sh
systemctl status api7-dashboard

api7-dashboard.service - api7-dashboard
Loaded: loaded (/etc/systemd/system/api7-dashboard.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2023-03-29 15:41:56 UTC; 1h 34min ago
Main PID: 10818 (manager-api)
CGroup: /system.slice/api7-dashboard.service
└─10818 /usr/local/apisix-dashboard/manager-api

API7 Gateway (Required)

  1. This step is required to install API7 Gateway.
  2. Follow this guide to visit API7 Dashboard and create a cluster, then replace the cluster-id in the following command.

Create Cluster

cd api7-ee-2.13.2304

# Create a cluster and retrieve the IP from the API7 Enterprise console.

cd gateway

sudo sh install.sh --etcd-ip 127.0.0.1 --cluster-prefix /api7/${cluster-id} --self-ip 127.0.0.1
# Verification
ps -ef | grep nginx

root 12944 1 0 17:14 ? 00:00:00 nginx: master process /bin/openresty -p /usr/local/apisix -c /usr/local/apisix/conf/nginx.conf
nobody 12945 12944 0 17:14 ? 00:00:00 nginx: worker process
nobody 12946 12944 0 17:14 ? 00:00:00 nginx: worker process
root 12947 12944 0 17:14 ? 00:00:00 nginx: privileged agent process

What's Next?


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