部署环境:

[OS]

centos 6.8(如果是centos6.5,请自行先升级到6.8,否则不支持docker)

[Docker]

Client version: 1.7.1

Client API version: 1.19

推荐使用Docker engine 1.9以上版本,支持docker-compose

[Kong]

Version: 0.9.9

由于众所周知的原因,国内链接dockerhub以及github都有不同程度的问题,建议用daocloud.io的docker镜像加速服务提高image pull的速度

部署过程

1.部署数据库

kong支持2类数据库 cassandra 和 postgres,这边应用场景不大,所以使用postgres

使用命令:

sudo docker run -d \

--name kong-database \

--restart=always \

-p 5432:5432 \

-e POSTGRES_USER=kong \

-e POSTGRES_DB=kong \

-v /var/lib/containers/kong/data:/var/lib/postgresql/data \

postgres

完成后容器自动启动

P.S:注意最后 volume的映射,将容器内数据库映射到了本地/var/lib/containers/kong/data下做持久化用,如果迁移的时候不要忘记了挪数据

2.部署kong服务

sudo docker run -d \

--name kong-core \

--restart=always \

-p 8001:8001 \

-p 20802:8443 \

-p 20801:8000 \

-p 7946:7946 \

-p 7946:7946/udp \

--link kong-database:kong-database \

-e KONG_DATABASE=postgres \

-e KONG_PG_HOST=kong-database \

-v /etc/localtime:/etc/localtime:ro \

-v /etc/letsencrypt:/etc/letsencrypt:ro \

-v /usr/local/container/kong/kong.conf:/usr/local/kong/kong.conf:ro \

-v /usr/local/container/kong/nginx-kong.conf/:/usr/local/kong/nginx-kong.conf:ro \

kong

配置SSL:

这里使用letsencrypt的免费证书,如何生成,见另一篇文章

sudo vi /usr/local/container/kong/kong.conf

1.修改ssl_cert_key为你的私钥pem(这边路径对应上面的 /etc/letsencrypt/live/your.domain.com/privkey.pem)

2.修改ssl_cert为你的证书 pem(这边路径对应上面的 /etc/letsencrypt/live/your.domain.com/fullchain.pem)

sudo vi /usr/local/container/kong/nginx-kong.conf

1.修改 ssl_certificate_key 为你的私钥pem(这边路径对应上面的 /etc/letsencrypt/live/your.domain.com/privkey.pem)

2.修改 ssl_certificate 为你的证书 pem(这边路径对应上面的 /etc/letsencrypt/live/your.domain.com/fullchain.pem)

完成后进入容器:

sudo docker exec -it kong-core /bin/bash

重新加载配置

kong reload

退出容器

exit

P.S:

1.这里先将时区修正下,如果不对的话 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime (否则会由于服务端/客户端时间不一致影响之后的 hmac-sha1插件的验证)

2.kong.conf以及nginx-kong.conf是为了之后配置ssl使用,挂载为readOnly,初次启动的时候先根据kong默认的,建立起这2个文件,否则如果不生成文件就启动会发生问题,也可以第一次run的时候先不要加载为ro,让它自动生成,然后rm掉这个容器,重新挂载为ro再启动一下,那本地就会先自动生成了。最后对这两个文件chomd 700。

3.部署kong-dashboard

为方便通过ui增改插件,装一个方便的插件ui

sudo docker run -d \

--name kong-ui \

--restart=always \

--link kong-core:kong-core \

-p 8080:8080 \

pgbi/kong-dashboard

启动后Kong node URL,输入上面 link过的kong-core(这里就是"kong-core")名称(我之前尝试用ip什么都不太正常)

备注 docker-compose.yml

 1 version: "2"2 3 services:4   kong-database:5     image: postgres6     container_name: kong-database7     restart: always8     ports:9       - "5432:5432"
10     environment:
11       - POSTGRES_USER=kong
12       - POSTGRES_DB=kong
13     volumes:
14       - "/var/lib/containers/kong/data:/var/lib/postgresql/data"
15   kong:
16     image: kong:0.9.9
17     container_name: kong-core
18     environment:
19       - KONG_DATABASE=postgres
20       - KONG_PG_HOST=kong-database
21     restart: always
22     ports:
23       - "20801:8000"
24       - "20802:8443"
25       - "8001:8001"
26       - "7946:7946"
27       - "7946:7946/udp"
28     links:
29       - kong-database
30     volumes:
31       - "/etc/localtime:/etc/localtime:ro"
32       - "/etc/letsencrypt:/etc/letsencrypt:ro"
33       - "/usr/local/container/kong/kong.conf:/usr/local/kong/kong.conf:ro"
34       - "/usr/local/container/kong/nginx-kong.conf/:/usr/local/kong/nginx-kong.conf:ro"
35   kong-ui:
36     image: pgbi/kong-dashboard
37     container_name: kong-ui
38     restart: always
39     links:
40       - kong-core
41     ports:
42       - "8080:8080"

API网关Kong系列(二)部署相关推荐

  1. API网关Kong(二):Kong与Kubernetes集成的方法

    作者: 李佶澳   转载请保留:原文地址   发布时间:2018-09-30 16:07:13 +0800 说明 先说组成 控制平面与数据平面 CustomResourceDefinitions 开始 ...

  2. API网关Kong系列(一)初识

    最近工作需要,加上国内Kong的文章相对缺乏(搜来搜去就那么两篇文章),而且官方文档在某些demo上也有一些过时的地方,遂提笔记录下这些,希望能有帮助. 先随大流介绍下KONG(主要参考官网): 官方 ...

  3. 开源API网关Kong基本介绍和安装验证

    本文将介绍开源API网关Kong.在GitHub搜索API网关类的开源产品,可以看到Kong网关常年都是排第一的位置,而且当前很多都有一定研发能力的企业在API网关产品选项的时候基本也会选择Kong网 ...

  4. 开源syslog服务器_开源API网关Kong基本介绍和安装验证

    今天准备介绍下开源API网关Kong,在Gtihub搜索API网关类的开源产品,可以看到Kong网关常年都是排第一的位置,而且当前很多都有一定研发能力的企业在API网关产品选型的时候基本也会选择Kon ...

  5. API网关Kong(三):功能梳理和插件使用-基本使用过程

    作者: 李佶澳   转载请保留:原文地址   发布时间:2018-10-10 14:37:53 +0800 说明 Kong的Admin API Kong定义的资源之间的关联关系 使用过程了解 先了解下 ...

  6. API 网关 Kong 实战

    1.Kong 介绍 Kong 是一款基于 OpenResty(Nginx + Lua 模块)编写的高可用.易扩展的,由 Mashape 公司开源的 API Gateway 项目.Kong 是基于 NG ...

  7. .Net Core微服务入门——Ocelot API网关接入(二)

    Net Core微服务入门--Ocelot API网关接入(二) 我们先接入Consul,实现服务发现 服务发现 1.引入 Ocelot.Provider.Consul 包 2.修改ocelot.js ...

  8. 开源API网关Kong

    开源API网关Kong Kong 是一个在 Nginx 运行的 Lua 应用程序,由 lua-nginx-module 实现.Kong 和 OpenResty 一起打包发行,其中已经包含了 lua-n ...

  9. 微服务API网关-kong初探

    一 概述 Kong是一个clould-native.快速的.可扩展的.分布式的微服务抽象层(也称为API网关.API中间件或在某些情况下称为服务网格)框架.更确切地说,Kong是一个在Nginx中运行 ...

最新文章

  1. 从Google代码库找到的好东西
  2. mysql 查看当前连接数 和 最大连接数
  3. 【自动驾驶】31.【相机外参标定】、【相机障碍物后处理】【地面的2D点反投影到3D】的过程对比
  4. HDU - 2050 折线分割平面(规律题)
  5. 有一个1,2,3....49 的数组,通过控制台显示为7行7列的,并且里面的数据时随机的代码...
  6. Android之给ImageView添加点击效果
  7. Spring 集成web环境
  8. 最常见的水平拆分规则
  9. 单词字符的one-hot编码
  10. 怎么安装python3.7 setuptools与pip_python3之安装、pip、setuptools
  11. Android:RGB颜色对照表
  12. 眼图在通信系统中有什么意义_OA协同办公系统存在的意义是什么?协同OA的显着优势又在哪儿?...
  13. 【20211206】【信号处理】时频分析 —— 短时傅里叶变换(STFT)
  14. Leftist Heaps 习题解
  15. 年薪15万的80后小本科:只要6分钟,告诉你少走6年弯路
  16. 《惢客创业日记》2019.01.23(周三) 太苦涩的人生也会让人麻木
  17. PHP管理虚拟机,用phpvirtualbox管理vbox虚拟机
  18. [大数据文章之其四] 概率数据结构简介
  19. Angular2+ 属性绑定
  20. n-魔方阵(找规律)

热门文章

  1. es6学习笔记-module_v1.0_byKL
  2. 在VMware上装苹果系统后全屏
  3. 高手快帮忙,关于replace和正者表达式的问题
  4. 几种优化方法的Matlab实现
  5. OpenCV学习记录(一):使用haar分类器进行人脸识别
  6. linux下修改MySQL 密码
  7. Linux arm9 设置中断向量表,STM32学习笔记之中断向量表,MDK程序启动分析
  8. mysql分库分表风险_数据库分库分表存在的问题及解决方案
  9. 您没有权限来打开应用程序_苹果建议:除非应用程序无响应,否则不要滑动强制退出...
  10. 石头扫地机器人加速异响_米家扫地机器人有异响怎么办