apisix集群搭建

困困困困困困小凯 · · 2781 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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即可。


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:困困困困困困小凯

查看原文:apisix集群搭建

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2781 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传