1. 背景
Apisix
社区我关注了很久,大概从2020年的时候,我从 Apache
官网上了解到这个项目,那时候 Apisix
也孵化的差不多了,期间也在各种平台上做了很多推广。它给我最直观印象就是高性能网关,可以替代我们现在微服务网关/或者负载均衡的组件。
关于网关,可以参看此前文章,[[如何选择和设计微服务网关]] 这里仅说明安装步骤,因为在某个演示项目技术选型用到 Apisix
所以在开发环境部署一套服务,为后续服务迁移做技术预研究。
2. 环境准备
Apisix
官网上也提供了一揽子安装命令: docker pull apache/apisix
,也安装过,但是为了了解 Apisix
一些结构和细节,选择了使用 docker-conpose
这种方式安装,顺带着将官方提供样例中的文件夹浏览一遍,做到心中有数。
2.1. 容器环境
- Docker
- docker-compse
以上环境自行准备,此处不做赘述。
2.2. Clone项目
- Github 仓库地址: https://github.com/apache/apisix-docker.git
- Clone 下来的文件夹,我们找到子文件夹
example
。
目录名称 | 描述 | 用途 |
---|---|---|
apisix_conf | 配置文件路径 | 配置apisix监听路径、后台默认账号及密码、ETCD |
apisix_log | 日志路径 | |
dashboard_conf | 可视化配置路径 | 设置登陆账号以及密码、设置产生日志路径、设置可视化访问的端口、设置默认开启的插件 |
etcd_conf | ETCD配置路径 | 配置成员、集群、代理、安全设置信息 |
etcd_data | 数据存放路径 | |
mkcert | 相关证书存放路径 | |
upstream | nginx中Web服务的配置问存放路径 | |
docker-compose.yml | Docker-compose相关配置 | 容器相关配置都放到此路径下 |
2.3. 上传示例
因为我在本地环境 Clone
的项目,所以要将 example
路径压缩上传到 Linux
服务器端。
- 上传到服务器,解压
example
文件夹,我服务器演示路径为:/data/docker-compose/apisix
,以下只要未做特殊说明,操作路径皆为此。 - 设置目录权限
chmod -R 777 /data/docker-compose/apisix/
这一步比较简单,就略过。
3. 修改配置文件
如果独立安装 ETCD
的,在 Apisix
依赖于 ETCD
配置修改 apisix_conf
、dashboard_conf
目录下 config.yaml
,修改连接 ETCD
地址,修改为 ETCD
所在 IP地址。 具体地址参看 [[Docker-11:Docekr安装Etcd]] 章节
etcd:
host:
- "http://192.168.147.128:2379"
prefix: "/apisix"
timeout: 30
4. 启动
下来启动容器,执行 docker-compose up
,如果想直接后台运行, 使用 docker-compose up -d
。
docker-compose up
首次启动容器,等待时间有点久,需要构建所依赖的环境,耐心等待即可!
5. 验证服务
5.1. 查看容器状态
docker-compose ps
5.2. 访问可视化界面
在浏览器打开地址 http://192.168.147.128:9000/ ,用户名密码在 dashboard_conf/conf.yaml
配置文件中,默认登录的用户名 admin
和 user
,密码与用户名相同。