apisix官方文檔:https://github.com/apache/apisix
服務(wù)器信息:10.199.250.72,10.199.250.44蟆盐,以下操作承边,兩臺(tái)服務(wù)器都要執(zhí)行。
一:安裝依賴
# 安裝 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石挂、安裝運(yùn)行時(shí)依賴的 Lua 庫(kù)
$ make deps
$make init
$make run? ? 啟動(dòng)apisix
三: 下載apisix-dashboard
git clone?http://github.com/apache/apisix-dashboard.git
運(yùn)行apisix-dashboard需要依賴go和node
yum install golang
yum install nodejs
npm install -g yarn
make build 構(gòu)建dashboard博助,構(gòu)建完成后,會(huì)生成一個(gè)output文件夾痹愚。
修改其中的conf.yaml文件富岳,連接host地址,然后啟動(dòng)manager-api.
可配置能登錄dashboard的賬號(hào)密碼拯腮。
四:安裝etcd
yum -y install etcd
編輯etcd配置:vim /etc/etcd/etcd.conf
master節(jié)點(diǎn)(10.199.250.72)
ETCD_DATA_DIR="/var/lib/etcd/default.etcd" #etcd數(shù)據(jù)保存目錄
ETCD_LISTEN_PEER_URLS="http://10.199.250.72:2380" #集群內(nèi)部通信使用的URL
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379" #供外部客戶端使用的url
ETCD_NAME="etcd01" #etcd實(shí)例名稱
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.199.250.72:2380" #廣播給集群內(nèi)其他成員訪問(wèn)的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" #初始集群狀態(tài)窖式,new為新建集群
node-1節(jié)點(diǎn)(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"
分別啟動(dòng)etcd
systemctl start etcd
查看狀態(tài)
systemctl status etcd
查看集群
etcdctl member list
查看集群健康狀態(tài)
etcdctl cluster-health
數(shù)據(jù)存儲(chǔ)在?/var/lib/etcd目錄下
五:測(cè)試集群
進(jìn)入任意節(jié)點(diǎn)的apisix-dashboard,例如10.199.250.72:9000动壤。新建上游萝喘、路由等。再到另外的apisix-dashboard中查看狼电,就可以看到新建數(shù)據(jù)有同步蜒灰。
該manager是有緩存的,如果同步不生效肩碟,需要看下進(jìn)程 nginx: cache manager process 是否存在,存在的話殺死并重啟manager-api即可凸椿。