当前位置: 首页 > news >正文

使用admin api添加kong配置信息

1、环境说明:

我的ip为:192.168.1.6

两个服务端口为:9980和9981

两个服务地址为:

http://192.168.1.6:9980

http://192.168.1.6:9981

数据库使用:postgresql

2、分别安装与配置:konga和kong

网上有相关资料,不在叙述。

3、初始使用konga,需要创建账号。使用注册的账号登录后,配置kong管理服务的地址:

192.168.1.6:8001

4、使用admin api进行配置操作:

创建upstream和target:

curl -X POST http://localhost:8001/upstreams/ --data "name=tox-product-upstream"

curl -X POST HTTP://127.0.0.1:8001/upstreams/tox-product-upstream/targets --data "target=192.168.1.6:9980" --data "weight=100"

curl -X POST HTTP://127.0.0.1:8001/upstreams/tox-product-upstream/targets --data "target=192.168.1.6:9981" --data "weight=101"

创建service:

curl -X POST http://localhost:8001/services --data "name=tox-prod" --data "host=tox-product-upstream" --data "path=/"

创建route:

curl -X POST http://localhost:8001/services/tox-prod/routes --data "name=tox-prod-route" --data "paths=/api"

5、验证结果:

http://192.168.1.6:9980/api

6、附件:docker-compose脚本如下:

version: '3.8'
# 自定义网络(隔离 Kong 相关服务)
networks:
  kong-net:
    driver: bridge
    
# 数据卷(持久化数据库数据)
volumes:
  kong-data:       # Kong 配置数据(PostgreSQL)
  konga-data:      # Konga 管理界面数据(可选)
  
services:
# 1. 创建两个PostgreSQL数据库:kong和konga
  kong-db:
    image: postgres:18-alpine
    container_name: kong-db
    restart: unless-stopped
    networks:
      - kong-net
    volumes:
      - kong-data:/var/lib/postgresql/data
      # 可选:挂载自定义配置文件(如果 Dockerfile 未包含,可直接在这里挂载)
      #- ./kong-db/conf/postgresql.conf:/etc/postgresql/postgresql.conf
      #- ./kong-db/conf/pg_hba.conf:/etc/postgresql/pg_hba.conf
    
    environment:
      - POSTGRES_USER=kong
      - POSTGRES_PASSWORD=123456
      - POSTGRES_DB=kong
      - TZ=Asia/Shanghai  # 时区(与 Dockerfile 配置保持一致或覆盖)
    ports:
      - "5432:5432"  # 宿主机 5432 端口映射到容器内 PostgreSQL 端口
    healthcheck:
      # test: ["CMD-SHELL", "pg_isready -U kong -d tox"]
      test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
      interval: 10s
      timeout: 5s
      retries: 5
  konga-db:
    image: postgres:9.6
    container_name: konga-db
    restart: unless-stopped
    networks:
      - kong-net
    volumes:
      - konga-data:/var/lib/postgresql/data
      # 可选:挂载自定义配置文件(如果 Dockerfile 未包含,可直接在这里挂载)
      - ./konga-db/conf/postgresql.conf:/etc/postgresql/postgresql.conf
      - ./konga-db/conf/pg_hba.conf:/etc/postgresql/pg_hba.conf
    environment:
      - POSTGRES_USER=konga
      - POSTGRES_PASSWORD=123456
      - POSTGRES_DB=konga
      - TZ=Asia/Shanghai  # 时区(与 Dockerfile 配置保持一致或覆盖)
    ports:
      - "5433:5432"  # 宿主机 5432 端口映射到容器内 PostgreSQL 端口
    healthcheck:
      # test: ["CMD-SHELL", "pg_isready -U kong -d tox"]
      test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
      interval: 10s
      timeout: 5s
      retries: 5
  # 2. kong数据库初始化(首次启动时执行,创建表结构)
  kong-migrations:
    image: '${GW_IMAGE:-kong/kong-gateway:3.12.0.0}'  # 使用与 Kong 服务一致的版本
    container_name: kong-migrations
    networks:
      - kong-net
    depends_on:
      kong-db:
        condition: service_healthy
    environment:
      - KONG_DATABASE=postgres
      - KONG_PG_HOST=kong-db
      - KONG_PG_USER=kong
      - KONG_PG_PASSWORD=123456
      - KONG_PG_DATABASE=kong
      - KONG_CASSANDRA_CONTACT_POINTS=kong-db
    command: "kong migrations bootstrap"  # 初始化数据库    
      
  # 3. Kong 网关服务
  kong:
    image: '${GW_IMAGE:-kong/kong-gateway:3.12.0.0}'
    container_name: kong
    restart: unless-stopped
    networks:
      - kong-net
    depends_on:
      kong-db:
        condition: service_healthy
      kong-migrations:
        condition: service_completed_successfully
    volumes:
      - konga-data:/app/konga/db
      - ./logs/:/logs/
      - ./conf/:/etc/kong/
    environment:
      - KONG_DATABASE=postgres
      - KONG_PG_HOST=kong-db
      - KONG_PG_USER=kong
      - KONG_PG_PASSWORD=123456
      - KONG_PG_DATABASE=kong
      - KONG_PG_PORT=5432
      #- KONG_PG_SSL="false"
      - KONG_CASSANDRA_CONTACT_POINTS=kong-db
      - KONG_PROXY_ACCESS_LOG=/logs/stdout  # 代理访问日志输出到控制台
      - KONG_ADMIN_ACCESS_LOG=/logs/stdout  # 管理 API 访问日志
      - KONG_PROXY_ERROR_LOG=/logs/stderr   # 代理错误日志
      - KONG_ADMIN_ERROR_LOG=/logs/stderr   # 管理 API 错误日志
      - KONG_ADMIN_LISTEN=0.0.0.0:8001     # 管理 API 端口(HTTP)
      - KONG_ADMIN_LISTEN_SSL=0.0.0.0:8444 # 管理 API 端口(HTTPS,可选)
    ports:
      - "8000:8000"   # 代理端口(HTTP,接收客户端请求)
      - "8443:8443"   # 代理端口(HTTPS,可选)
      - "8001:8001"   # 管理 API 端口(HTTP,用于配置 Kong)
      - "8444:8444"   # 管理 API 端口(HTTPS,可选)
    healthcheck:
      test: ["CMD", "kong", "health"]
      interval: 10s
      timeout: 10s
      retries: 5
  # 4、konga数据库初始化(首次启动时执行,创建表结构)
  konga-prepare:
    image: pantsel/konga:0.14.9
    command: "-c prepare -a postgres -u postgresql://konga:123456@konga-db:5432/konga"
    networks:
      - kong-net
    restart: on-failure
    links:
      - konga-db
    depends_on:
      - kong
      - konga-db
  # 5、konga管理界面安装运行
  konga:
    image: pantsel/konga:0.14a.9
    restart: always
    networks: 
      - kong-net
    environment:
      DB_ADAPTER: postgres
      DB_HOST: konga-db
      DB_USER: konga
      DB_DATABASE: konga
      DB_PASSWORD: 123456
    depends_on:
      - kong
      - konga-db
    ports:
      - "1337:1337"
    

http://www.dtcms.com/a/599117.html

相关文章:

  • 怎么做狼视听网站东莞人才网官方网站
  • 厦门市建设执业资格注册管理中心网站书怎么做pdf下载网站
  • 网站制作定制图苏州工业园区招聘官网
  • 评估工程正成为下一轮Agent演进的重点
  • 哪个网站做相册好苏州网站优化建设
  • 百度账号购买网站引流推广方式
  • 做网站开公司太原建站的模板
  • vs python 网站开发优秀网站管理员
  • 西安哪里有做网站的中铁建设集团官方网站
  • 好看的手机网站推荐广州网站建设商家
  • 电商网站建设小强wordpress上传失败
  • 装饰工程设计东莞网站建设展示型网站设计与制作团队
  • OpenRefine:一款免费开源、功能强大的数据清洗工具
  • 工控人如何做自己的网站运动网站建设主题
  • TensorRT笔记(2):解析样例中Logger日志类的设计
  • 南京领动做网站怎么样佛山制作网站公司推荐
  • 苏州建网站哪个好做定制的网站
  • 江苏网站建设流程朔州市建设监理公司网站
  • AI销冠是什么?熊猫智汇公司如何利用它提升企业效率?
  • 并发编程 | 提高程序效率的关键技术
  • 电子商务网站建设 项目规划书iis网站
  • 网站规划与建设实验心得企业网络营销策划必须以什么为核心
  • Bash Glob 通配符详细指南:从 POSIX 标准到高级用法
  • 景观设计论文seo关键词优化排名推广
  • 小米手机网站的风格设计莱州教育网站
  • 上海自适应网站设计网络营销策划书实施计划
  • 自己怎做网站后台正规医院看男科大概多少钱
  • NebulaChat 框架学习笔记
  • 网站规划建设方案模板网站建设和美工
  • 怎样用自己电脑做网站c2c电子商务平台有哪些?