• Docker-12:Docker安装Apisix


    1. 背景

    Docker

    APISIX

    Apisix 社区我关注了很久,大概从2020年的时候,我从 Apache 官网上了解到这个项目,那时候 Apisix 也孵化的差不多了,期间也在各种平台上做了很多推广。它给我最直观印象就是高性能网关,可以替代我们现在微服务网关/或者负载均衡的组件。

    关于网关,可以参看此前文章,[[如何选择和设计微服务网关]] 这里仅说明安装步骤,因为在某个演示项目技术选型用到 Apisix 所以在开发环境部署一套服务,为后续服务迁移做技术预研究。

    2. 环境准备

    Apisix 官网上也提供了一揽子安装命令: docker pull apache/apisix ,也安装过,但是为了了解 Apisix 一些结构和细节,选择了使用 docker-conpose 这种方式安装,顺带着将官方提供样例中的文件夹浏览一遍,做到心中有数。

    2.1. 容器环境

    • Docker
    • docker-compse

    以上环境自行准备,此处不做赘述。

    2.2. Clone项目

    样例

    目录名称描述用途
    apisix_conf配置文件路径配置apisix监听路径、后台默认账号及密码、ETCD
    apisix_log日志路径
    dashboard_conf可视化配置路径设置登陆账号以及密码、设置产生日志路径、设置可视化访问的端口、设置默认开启的插件
    etcd_confETCD配置路径配置成员、集群、代理、安全设置信息
    etcd_data数据存放路径
    mkcert相关证书存放路径
    upstreamnginx中Web服务的配置问存放路径
    docker-compose.ymlDocker-compose相关配置容器相关配置都放到此路径下

    2.3. 上传示例

    因为我在本地环境 Clone 的项目,所以要将 example 路径压缩上传到 Linux 服务器端。

    • 上传到服务器,解压 example 文件夹,我服务器演示路径为: /data/docker-compose/apisix ,以下只要未做特殊说明,操作路径皆为此。

    • 设置目录权限

    
    chmod -R 777 /data/docker-compose/apisix/
    
    
    • 1
    • 2
    • 3

    这一步比较简单,就略过。

    3. 修改配置文件

    如果独立安装 ETCD 的,在 Apisix 依赖于 ETCD 配置修改 apisix_confdashboard_conf 目录下 config.yaml ,修改连接 ETCD 地址,修改为 ETCD 所在 IP地址。 具体地址参看 [[Docker-11:Docekr安装Etcd]] 章节

    20220820232038

    
    etcd:
      host:                           
        - "http://192.168.147.128:2379"     
      prefix: "/apisix"               
      timeout: 30
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    4. 启动

    下来启动容器,执行 docker-compose up ,如果想直接后台运行, 使用 docker-compose up -d

    
    docker-compose up
    
    
    • 1
    • 2
    • 3

    首次启动容器,等待时间有点久,需要构建所依赖的环境,耐心等待即可!

    图例1

    图例2

    5. 验证服务

    5.1. 查看容器状态

    
    docker-compose ps
    
    
    • 1
    • 2
    • 3

    20220820234222

    5.2. 访问可视化界面

    在浏览器打开地址 http://192.168.147.128:9000/ ,用户名密码在 dashboard_conf/conf.yaml 配置文件中,默认登录的用户名 adminuser ,密码与用户名相同。

  • 相关阅读:
    [笔记] Windows内核课程:保护模式《一》保护模式
    Java虚拟机内存模型
    【哲思与实战】计算机寓言
    sonarqube源码
    竞赛 深度学习+opencv+python实现昆虫识别 -图像识别 昆虫识别
    Gorm—Go语言数据库框架
    解决mac运行scrcpy报错库找不到的问题
    linux虚拟文件系统
    【大厂算法笔试题 | 13】归并排序引出的系列问题(小和、逆序对、特定逆序对)
    基于 kubeadm 的 k8s(1.24.x) 安装过程
  • 原文地址:https://blog.csdn.net/rothchil/article/details/126470014