apisix集群搭建(etcd yum安装方式)

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

数据存储在 /var/lib/etcd目录下

五:测试集群

进入任意节点的apisix-dashboard,例如10.199.250.72:9000。新建上游、路由等。再到另外的apisix-dashboard中查看,就可以看到新建数据有同步。

该manager是有缓存的,如果同步不生效,需要看下进程 nginx: cache manager process 是否存在,存在的话杀死并重启manager-api即可。

你可能感兴趣的:(apisix集群搭建(etcd yum安装方式))