IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> KONG-部署 -> 正文阅读

[系统运维]KONG-部署

前言:

本人因。。。。

介绍:

1.nginx是模块化设计的反向代理软件,C语言开发的

2.openresty是以nginx为核心的web开发平台,可以解析并执行lua脚本

3.kong是一个openresty应用,就是一个api -gateway

4.openresty与lua的联系类似于jvm和java的联系;但是openresty是基于nginx,主要用于web、api 之类的应用

个人理解:

kong 以 nginx 为核心主要实现反向代理和流量控制

通过nginx模块也可以实现反向代理和流量控制,但是过于繁杂,最重要的是需要认为的去更改代理和流量的规则,而kong则会动态的调整代理和流量的规则;

开发人员写一个接口想让外部访问,自动去找kong注册kong就会生成相应的规则,大大降低了运维的繁杂工作

一、部署kong

有两种部署方式,本文采用都基于postgresql数据库(可更换),本文只列举一种(”生产“)

1.创建docker网络

docker network create kong-net

2.运行postgresql数据库

docker-run:

docker run --name=kong-database --network=kong-net -p 5432:5432 -e "POSTGRES_USER=kong" -e "POSTGRES_DB=kong" --restart always postgres:9.6

?docker-compose:

version: "3"
service:
  postgresql:
    container_name: kong-database
    image: postgres:9.6
    ports:
      - 5432:5432
    environment:
      POSTGRES_USER=kong
      POSTGRES_DB=kong
    restart: always
    networks:
      - kong-net
    

?3.初始化数据库

docker-run:

docker run --rm --network=kong-net -e "KONG_DATABASE=postgres" -e "KONG_PG_HOST=kong-database" -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" kong:latest kong migrations bootstrap

docker-compose:

version: "3"
service:
  postgresql-init:
    image: kong:latest
    networks:
      - kong-net
    environment:
      KONG_DATABASE: "postgres"
      KONG_PG_HOST: "kong-database"
      KONG_CASSANDRA_CONTACT_POINTS: "kong-database"
    command: [kong,migrations,bootstrap]

?4.运行kong

注:管理端口8001

docker-run:

docker run -d --name: kong --network=kong-net -e "KONG_DATABASE=postgres" -e "KONG_PG_HOST=kong-database" -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" -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,0.0.0.0:8444 ssl" -p 8000:8000 -p 8443:8443 -p 8444:8444 -p 8001:8001 --restart always kong:latest

?docker-compose:

version: "3"
service:
  kong:
    container_name: kong
    networks:
      - kong-net
    environment:
      KONG_DATABASE: "postgres"
      KONG_PG_HOST: "kong-database"
      KONG_CASSANDRA_CONTACT_POINTS: "kong-database"
      KONG_PROXY_ACCESS_LOG: "/dev/stdout"
      KONG_ADMIN_ACCESS_LOG: "/dev/stdout"
      KONG_PROXY_ERROR_LOG: "/dev/stderr"
      KONG_ADMIN_ERROR_LOG: "/dev/stderr"
      KONG_ADMIN_LISTEN: "0.0.0.0:8001,0.0.0.0:8444 ssl"
    ports:
      - 8000:8000
      - 8443:8443
      - 8444:8444
      - 8001:8001
    restart: always 
    image: kong:latest

5.部署konga

---创建konga库

docker-run:

docker run --rm pantsel/konga:latest -c prepare -a postgres -u postgresql://kong:@数据库IP地址:端口/konga

---运行konga

docker-run :

docker run -d -p 1337:1337 --network kong-net -e "TOKEN_SECRET=P@ssw0rd" -e "DB_ADAPTER=postgres" -e "DB_URL=postgresql://kong:@kong-database:5432/konga" -e "NODE_ENV=production" --name=konga pantsel/konga

docker-compose:

version: "3"
service:
  konga:
    image: pantsel/konga
    container_name: konga
    ports:
      - 1337:1337
    networks:
      - kong-net
    environment:
      TOKEN_SECRET: "P@ssw0rd"
      DB_ADAPTER:"postgres"
      DB_URL: "postgresql://kong:@kong-database:5432/konga"
      NODE_ENV: "production"

?访问konga:

ip+port

创建管理账号

?登录

?添加被管理的kong

扩展:

部署psotgresql管理界面

docker run -d -p 8009:80 --name=pgadmin --network=kong-net --link kong-database:kong-database -e "PGADMIN_DEFAULT_EMAIL=admin@1000phone.cn" -e "PGADMIN_DEFAULT_PASSWORD=p@ssw0rd" --restart always -d dpage/pgadmin4

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-18 13:05:48  更:2021-08-18 13:06:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 9:42:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码