apisix官方文档:https://github.com/apache/apisix
服务器信息:10.199.250.72,10.199.250.44,以下操作,两台服务器都要执行。
一:安装依赖
# 安装 epel, `luarocks` 需要它
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo rpm -ivh epel-release-latest-7.noarch.rpm
# 添加 OpenResty 源
sudo yum install yum-utils
sudo yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
# 安装 OpenResty 和 编译工具
sudo yum install -y openresty curl git gcc luarocks lua-devel
二:安装apisix
$ mkdir apisix
$ wget https://downloads.apache.org/apisix/2.1/apache-apisix-2.1-src.tgz
$ tar -zxvf apache-apisix-2.1-src.tgz
#### 2、安装运行时依赖的 Lua 库
$ make deps
$make init
$make run 启动apisix
三: 下载apisix-dashboard
git clone http://github.com/apache/apisix-dashboard.git
运行apisix-dashboard需要依赖go和node
yum install golang
yum install nodejs
npm install -g yarn
make build 构建dashboard,构建完成后,会生成一个output文件夹。
修改其中的conf.yaml文件,连接host地址,然后启动manager-api.
可配置能登录dashboard的账号密码。
四:安装etcd
yum -y install etcd
编辑etcd配置:vim /etc/etcd/etcd.conf
master节点(10.199.250.72)
ETCD_DATA_DIR="/var/lib/etcd/default.etcd" #etcd数据保存目录
ETCD_LISTEN_PEER_URLS="http://10.199.250.72:2380" #集群内部通信使用的URL
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379" #供外部客户端使用的url
ETCD_NAME="etcd01" #etcd实例名称
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.199.250.72:2380" #广播给集群内其他成员访问的URL
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379" #广播给外部客户端使用的url
ETCD_INITIAL_CLUSTER="etcd01=http://10.199.250.72:2380,etcd02=http://10.199.250.44:2380" #初始集群成员列表
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster" #集群的名称
ETCD_INITIAL_CLUSTER_STATE="new" #初始集群状态,new为新建集群
node-1节点(10.199.250.44)
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://10.199.250.44:2380"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_NAME="etcd02"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.199.250.44:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_INITIAL_CLUSTER="etcd01=http://10.199.250.72:2380,etcd02=http://10.199.250.44:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"
分别启动etcd
systemctl start etcd
查看状态
systemctl status etcd
查看集群
etcdctl member list
查看集群健康状态
etcdctl cluster-health
五:测试集群
进入任意节点的apisix-dashboard,例如10.199.250.72:9000。新建上游、路由等。再到另外的apisix-dashboard中查看,就可以看到新建数据有同步。
该manager是有缓存的,如果同步不生效,需要看下进程 nginx: cache manager process 是否存在,存在的话杀死并重启manager-api即可。
有疑问加站长微信联系(非本文作者)