docker部署kong网关

news/2024/7/9 22:59:15 标签: docker, postgresql, 运维

dockerkong_0">docker部署kong网关

  1. 依赖环境

    序号名称版本
    1CentOS 7.93.10.0-1160.25.1.el7.x86_64
    2Docker20.10.7
    3Kong Gateway2.4.1.0
    4PostgreSQL9.6
  2. 创建Kong Gateway

    官方Docker方式安装文档

    1. 下载Kong Gateway Docker镜像

      # 下载镜像
      docker pull kong/kong-gateway:2.4.1.0-alpine
      
      # 重新打标签
      docker tag kong/kong-gateway:2.4.1.0-alpine kong-ee
      
      # 验证结果
      docker image ls
      
    2. 创建基础网络

      docker network create kong-ee-net
      
    3. 创建数据库

      docker run -d --name kong-ee-database \
      --network=kong-ee-net \
      -p 5432:5432 \
      -e "POSTGRES_USER=kong" \
      -e "POSTGRES_DB=kong" \
      -e "POSTGRES_PASSWORD=kong" \
      postgres:9.6
      
    4. 初始化数据库

      docker run --rm --network=kong-ee-net \
      -e "KONG_DATABASE=postgres" \
      -e "KONG_PG_HOST=kong-ee-database" \
      -e "KONG_PG_PASSWORD=kong" \
      -e "KONG_PASSWORD=kong" \
      kong-ee kong migrations bootstrap
      
    5. 启动Kong Gateway服务

      docker run -d --name kong-ee --network=kong-ee-net \
      -e "KONG_DATABASE=postgres" \
      -e "KONG_PG_HOST=kong-ee-database" \
      -e "KONG_PG_PASSWORD=kong" \
      -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \
      -e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \
      -e "KONG_PROXY_ERROR_LOG=/dev/stderr" \
      -e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \
      -e "KONG_ADMIN_LISTEN=0.0.0.0:8001" \
      -e "KONG_ADMIN_GUI_URL=http://0.0.0.0:8002" \
      -p 8000:8000 \
      -p 8443:8443 \
      -p 8001:8001 \
      -p 8444:8444 \
      -p 8002:8002 \
      -p 8445:8445 \
      -p 8003:8003 \
      -p 8004:8004 \
      kong-ee
      
    6. 验证Kong Gateway服务

      # 验证admin管理后台服务端口,正常则返回200 OK
      curl -i -X GET --url http://0.0.0.0:8001/services
      
      # 验证Kong Manager是否启动,正常则返回200 OK
      curl -I -XGET http://0.0.0.0:8002
      # 如果访问正常则使用浏览器访问<http://kong_gateway_ipaddr:8002>验证页面是否正常
      
  3. 配置服务

    1. 注册服务

      curl -i -X POST --url http://0.0.0.0:8001/services/ --data 'name=baidu-service' --data 'url=http://www.baidu.com'
      
    2. 添加路由

      curl -i -X POST --url http://localhost:8001/services/baidu-service/routes --data 'hosts[]=baidu.com'
      
    3. 验证服务

      curl -i -X GET --url http://localhost:8000/ --header 'Host: baidu.com'
      

    经过测试总结如下:

    • “注册服务”类似于Nginx中定义upstream反向代理服务器;

    • “添加路由”类似于Nginx中Server配置段,data中到hosts类似于 server_name;

      upstream baidu-service {
          server www.baidu.com;
      }
      
      server {
          server_name baidu.com;
          proxy_pass baidu-service;
      }
      

http://www.niftyadmin.cn/n/1257828.html

相关文章

(025)[系统故障]XP下禁止将串口设备识别成鼠标(转)

很多人都遇到过这种问题&#xff1a;Windows XP启动时将一台连续发送数据的串口设备识别成串口鼠标&#xff0c;自动安装了串口鼠标驱动&#xff0c;而设备因此无法正常工作&#xff0c;而光标则无规律地到处跑。对此问题&#xff0c;Internet上的方法多如牛毛&#xff0c;我发…

k8s环境kong网关1.0版本升级至2.4

Konga网关管理后台升级操作手册 现状 序号资源名称版本获取方式1Kong1.0.2kong version2PostgreSQL10.6psql --version 目标 此次升级Kong&#xff0c;同时将数据迁移至自建数据库。 序号资源名称版本1Kong2.4.12PostgreSQL10.6 升级步骤 官方指导文档 升级步骤: 因Kong在每个大…

【 js 基础 】【读书笔记】作用域和闭包

一、编译过程常见编译性语言&#xff0c;在程序代码执行之前会经历三个步骤&#xff0c;称为编译。步骤一&#xff1a;分词或者词法分析将由字符组成的字符串分解成有意义的代码块&#xff0c;这些代码块被称为词法单元。例子&#xff1a; var a 2; 这一句通常被分解成为下面这…

GO基础笔记

指针&#xff1a; 指针就是地址&#xff0c;指针变量就是存储地址的变量 *p: 解引用&#xff0c;间接引用 栈帧&#xff1a;用来给函数运行提供内存空间&#xff0c;取内存与stack上 当函数调用时&#xff0c;产生栈帧&#xff0c;函数调用结束&#xff0c;释放栈帧 栈帧存储&a…

官方文档,才是正途-docker-compose

需要的ingress网络映射&#xff0c;还是host宿主机端口映射&#xff1a; https://docs.docker.com/compose/compose-file/#secrets docker service create --name web \--publish modehost,published80,target80 \nginx ports Expose ports. SHORT SYNTAX Either specify both…

SSM 关于service和dao的封装

近期由于客户需求&#xff0c;所以我们整个小组开始开发java项目。 虽然很久以前也是系统学习过。不过干了这么多年 .net &#xff0c;有关java的早就扔了。 好了&#xff0c;废话不多说。我们看看SSM 关于service和dao的封装&#xff08;对于java来说&#xff0c;我是个菜鸡&…

Android第一弹 1214whois apk 发布

这是我的第一个Adnroid程序&#xff0c;体验了一下整个Android程序的开发流程&#xff0c;感觉谷歌的Android移动操作系统及其有前景。 这个程序实现的功能是通过接口查询信息名址12114的Whois信息&#xff0c;方便操作者在没有电脑的环境下进行无线查询。 先上图&#xff1a;…

Android market 第一次使用遇到杯具

昨天晚上终于将程序开发好后&#xff0c;花了25个美金注册了Android Market帐号&#xff0c;发布了第一个程序。 我非常愉快的按照步骤&#xff1a; 1、生成签名文档 2、对apk程序完成签名 3、将程序发布到市场 然后遇到悲剧了&#xff0c;我更新了程序后&#xff0c;准备发…