文章目录
- 前言
- 一、介绍
- 1. 端口介绍
- 2. APISIX节点介绍
- 3. apisix单机安装配置教程(选看)
- 二、准备
- 1. 配置集群免密登录
- 2. 搭建etcd集群
- 三、安装apisix节点
- 1. 复制脚本
- 2. 增加执行权限
- 3. 分发脚本
- 4. 执行脚本
- 5. 配置apisix的etcd集群地址
- 四、安装apisix-dashboard
- 1. 复制脚本
- 2. 增加执行权限
- 3. 执行脚本
- 4. 配置apisix-dashboard的etcd集群地址
- 5. 浏览器访问
- 6. 卸载Apisix和apisix-dashboard
- 五、命令
- 1. Apisix命令
- 1.1 启动apisix服务
- 1.2 停止apisix服务
- 1.3 优雅地停止apisix服务
- 1.4 重启apisix服务
- 1.5 重新加载apisix服务
- 1.6 初始化本地nginx.conf
- 1.7 初始化etcd的数据
- 1.8 测试生成的nginx.conf
- 1.9 显示apisix的版本信息
- 1.10 显示apisix帮助信息
- 2. apisix-dashboard命令
- 2.1 启动apisix-dashboard服务
- 2.2 停止apisix-dashboard服务
- 2.3 重启apisix-dashboard服务
- 总结
前言
本文介绍了APISIX的安装和配置过程,包括在集群环境中安装APISIX节点和APISIX Dashboard,并提供了相应的脚本和命令。首先介绍了端口的作用以及各个端口的默认值,然后详细说明了APISIX节点和etcd集群之间的关系。接下来给出了一个单机安装配置教程供参考。
在准备阶段,我们需要设置集群免密登录并搭建etcd集群。然后,在每个节点上执行脚本进行APISIX节点的安装,并将etcd集群地址添加到配置文件中。
接着介绍如何安装并配置APISIX Dashboard,在192.168.145.103节点上执行相关脚本完成下载、安装与修改访问权限等操作。最后通过浏览器访问Dashboard页面进行验证。
如果需要卸载Apisix或apisix-dashboard服务,可以按照给出命令断开对应服务并删除相关文件和目录即可。
一、介绍
1. 端口介绍
- 管理接口端口(Admin API Port):默认为9180。这个端口用于与APISIX的管理接口进行通信,可以执行添加、修改、删除等操作。
- 代理监听端口(Proxy Listen Port):默认为9080。这个端口是APISIX作为反向代理监听客户请求的入站流量所使用的。
- APISIX仪表盘端口:默认为9000。
2. APISIX节点介绍
- APISIX 的控制面是高可用性的,因为它只依赖于一个 etcd 集群。简单的说,apisix上配置的数据(apisix自身的配置除外)是完全保存到etcd集群的,apisix完全依赖于etcd集群。
- APISIX 可以通过在它前面添加一个负载均衡器来实现高可用性,因为 APISIX 的数据平面是无状态的,可以在需要时进行扩展。简单来说,apisix的每一个节点都是独立的,并没有apisix集群的说法,只需要给apisix的每个节点都绑定同一个etcd集群,就可以实现etcd中apisix的配置数据共享。
3. apisix单机安装配置教程(选看)
- API网关-Apisix RPM包方式自动化安装配置教程
二、准备
1. 配置集群免密登录
集群版安装之前,先准备好三个节点。并已经设置好集群免密登录。
- 配置集群免密登录教程
在这里,准备的集群节点为:192.168.145.103
、192.168.145.104
、192.168.145.105
。
2. 搭建etcd集群
- etcd自动化安装配置教程
三、安装apisix节点
分别在三个节点安装apisix。
1. 复制脚本
首先,在192.168.145.103
节点将以下脚本内容复制并保存为/tmp/install_apisix.sh文件。
#!/bin/bash
# apisix版本
APISIX_VERSION='3.8.0'
# 安装yum工具包并更新软件包
yum -y update
if [ -z "$(yum list installed | grep yum-utils)" ]; then
yum -y install yum-utils
fi
if [ -z "$(command -v wget)" ]; then
yum -y install wget
fi
# 安装 OpenResty 和 APISIX 仓库
install_openresty() {
local apisix_rpm_url='https://repos.apiseven.com/packages/centos/apache-apisix-repo-1.0-1.noarch.rpm'
local apisix_repo_url='https://repos.apiseven.com/packages/centos/apache-apisix.repo'
if [ -z "$(yum repolist | grep -i openresty)" ]; then
wget $apisix_rpm_url -P /tmp
if [ $? -ne 0 ]; then
echo "apache-apisix-repo-1.0-1.noarch.rpm 下载失败,请重试或手动下载到/tmp目录下再次执行"
echo "下载地址:$apisix_rpm_url"
exit 1
fi
yum -y install /tmp/apache-apisix-repo-1.0-1.noarch.rpm
if [ $? -eq 0 ]; then
echo "向 yum 包管理器添加软件仓库 OpenResty 成功"
else
echo "向 yum 包管理器添加软件仓库 OpenResty 失败,请查看异常信息后重试"
exit 1
fi
fi
if [ -z "$(yum repolist | grep -i apisix)" ]; then
wget $apisix_repo_url -P /tmp
if [ $? -ne 0 ]; then
echo "apache-apisix.repo 下载失败,请重试或手动下载到/tmp目录下再次执行"
echo "下载地址:$apisix_repo_url"
exit 1
fi
yum-config-manager -y --add-repo /tmp/apache-apisix.repo
if [ $? -eq 0 ]; then
echo "向 yum 包管理器添加软件仓库 APISIX 成功"
else
echo "向 yum 包管理器添加软件仓库 APISIX 失败,请查看异常信息后重试"
exit 1
fi
fi
}
# apisix安装与配置
install_apisix() {
if [ -z "$(command -v apisix)" ]; then
yum -y install apisix-"${1}"
if [ $? -ne 0 ]; then
echo "apisix-${1} 安装失败,请查看异常信息后重试"
exit 1
fi
ulimit -n 4096
apisix init
if [ $? -eq 0 ]; then
echo "初始化配置文件和 etcd 成功"
else
echo "初始化配置文件和 etcd 失败,请查看异常信息后重试"
exit 1
fi
apisix start
if [ $? -eq 0 ]; then
echo "启动 apisix 服务成功"
else
echo "启动 apisix 服务失败,请查看异常信息后重试"
exit 1
fi
fi
}
install_openresty
install_apisix $APISIX_VERSION
exit 0
2. 增加执行权限
在终端中执行以下命令,为脚本添加执行权限。
chmod a+x /tmp/install_apisix.sh
3. 分发脚本
使用scp
命令把脚本分发到192.168.145.104
和192.168.145.105
节点。
scp /tmp/install_apisix.sh 192.168.145.104:/tmp/
scp /tmp/install_apisix.sh 192.168.145.105:/tmp/
4. 执行脚本
在192.168.145.103
节点执行以下命令,开始在三个节点分别运行脚本,开始下载和安装apisix。
/tmp/install_apisix.sh
ssh 192.168.145.104 /tmp/install_apisix.sh
ssh 192.168.145.105 /tmp/install_apisix.sh
请等待安装完成,如有异常会有提示。
5. 配置apisix的etcd集群地址
等待apisix节点安装完成后。
分别打开三个节点的apisix的配置文件/usr/local/apisix/conf/config.yaml
,然后添加etcd集群地址配置,如下所示。
deployment:
role: traditional
role_traditional:
config_provider: etcd
etcd:
host:
- http://192.168.145.103:2379
- http://192.168.145.104:2379
- http://192.168.145.105:2379
然后分别在三个节点执行以下命令加载apisix配置文件。
ulimit -n 4096
apisix reload
四、安装apisix-dashboard
安装之前,确保节点可以访问到github,若不能,请查看解决方法:
Windows和Linux访问不了GitHub的解决方法
1. 复制脚本
首先,在192.168.145.103
节点将以下脚本内容复制并保存为/tmp/install_dashboard.sh文件。
#!/bin/bash
DASHBOARD_VERSION='3.0.1'
install_dashboard() {
local dashboard_url="https://github.com/apache/apisix-dashboard/releases/download/v${1}/apisix-dashboard-${1}-0.el7.x86_64.rpm"
if [ -z "$(systemctl list-units --type=service | grep apisix-dashboard)" ]; then
wget "$dashboard_url" -P /tmp
if [ $? -ne 0 ]; then
echo "apisix-dashboard-${1}-0.el7.x86_64.rpm 下载失败,请重试或手动下载到/tmp目录下再次执行"
echo "下载地址:$dashboard_url"
exit 1
fi
yum -y install /tmp/apisix-dashboard-"${1}"-0.el7.x86_64.rpm
if [ $? -ne 0 ]; then
echo "apisix-dashboard 安装失败,请查看异常信息后重试"
exit 1
fi
# sudo manager-api -p /usr/local/apisix/dashboard/
systemctl start apisix-dashboard
if [ $? -ne 0 ]; then
echo "apisix-dashboard 启动失败,请查看异常信息后重试"
exit 1
fi
fi
}
alter() {
file_path='/usr/local/apisix/dashboard/conf/conf.yaml'
allow_list=' - 127.0.0.1 # The rules are checked in sequence until the first match is found.'
new_allow_list=' - 0.0.0.0/0 # The rules are checked in sequence until the first match is found.'
sed -i "s|$allow_list|$new_allow_list|" "$file_path"
if [ $? -ne 0 ]; then
echo "修改为允许任何ip访问失败,请查看异常信息后重试"
exit 1
fi
systemctl restart apisix-dashboard
if [ $? -ne 0 ]; then
echo "apisix-dashboard 重启失败,请查看异常信息后重试"
exit 1
fi
}
install_dashboard $DASHBOARD_VERSION
alter
exit 0
2. 增加执行权限
在终端中执行以下命令,为脚本添加执行权限。
chmod a+x /tmp/install_dashboard.sh
3. 执行脚本
在192.168.145.103
节点执行以下命令,开始在三个节点分别运行脚本,开始下载和安装apisix-dashboard。
/tmp/install_dashboard.sh
请等待安装完成,如有异常会有提示。
4. 配置apisix-dashboard的etcd集群地址
等待apisix-dashboard节点安装完成后。
打开192.168.145.103
节点的apisix-dashboard的配置文件/usr/local/apisix/dashboard/conf/conf.yaml
,然后添加etcd集群地址配置,如下所示。
etcd:
endpoints: # supports defining multiple etcd host addresses for an etcd cluster
- 192.168.145.103:2379
- 192.168.145.104:2379
- 192.168.145.105:2379
然后执行以下命令重启apisix-dashboard。
systemctl restart apisix-dashboard
5. 浏览器访问
浏览器输入192.168.145.103:9000
进行访问(192.168.145.103替换为自己的ip地址),然后输入账号密码登录,如下图所示。
账号:admin
密码:admin
查看节点信息:
6. 卸载Apisix和apisix-dashboard
停止服务,然后删除对应文件和目录即可。
apisix stop
systemctl stop apisix-dashboard
rm -rf /usr/bin/apisix
rm -rf /usr/local/apisix
rm -rf /usr/local/openresty/lualib/resty/apisix
五、命令
1. Apisix命令
1.1 启动apisix服务
apisix start
1.2 停止apisix服务
apisix stop
1.3 优雅地停止apisix服务
apisix quit
1.4 重启apisix服务
apisix restart
1.5 重新加载apisix服务
apisix reload
1.6 初始化本地nginx.conf
apisix init
1.7 初始化etcd的数据
apisix init_etcd
1.8 测试生成的nginx.conf
apisix test
1.9 显示apisix的版本信息
apisix version
1.10 显示apisix帮助信息
apisix help
2. apisix-dashboard命令
2.1 启动apisix-dashboard服务
systemctl start apisix-dashboard
2.2 停止apisix-dashboard服务
systemctl stop apisix-dashboard
2.3 重启apisix-dashboard服务
systemctl restart apisix-dashboard
总结
通过这篇文章,您学习到了如何在多个节点上部署 APISIX 和 APisix-Dashboard,并成功地启动它们。您还学会使用一些常用命令来管理 APisix 服务以及查看版本信息等操作。
希望本教程对您有所帮助!如有任何疑问或问题,请随时在评论区留言。感谢阅读!