前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网关神器Kong( 二 ):安装

网关神器Kong( 二 ):安装

作者头像
拿我格子衫来
发布2022-01-24 15:27:20
1.3K0
发布2022-01-24 15:27:20
举报
文章被收录于专栏:TopFETopFE

物联网网关神器 Kong( 二 )

上一篇我们已经已经了解了什么是 Kong,本篇就来带领大家了解如何安装 Kong。 接下来我们将使用 Docker 安装。如果你有其他的特殊要求,请参照 官方文档

Docker 安装 Kong。

首先,你想安装它,就要有 Docker。如果你没有或者不知道什么是Docker,请点击传送门

一、获取镜像

获取 Kong 的docker 镜像

代码语言:javascript
复制
docker pull kong

查看 Docker 镜像

代码语言:javascript
复制
docker images
img.png
img.png

二、创建网络

需要创建同一个网络用以后面数据库与 Kong 的通信。

代码语言:javascript
复制
docker network create kong-net
img_1.png
img_1.png

三、创建数据库

我们将使用 PostgreSQL 来用作 Kong 的配置存储。

代码语言:javascript
复制
docker run -d --name kong-db \
  --network=kong-net \
  -p 5432:5432 \
  -e "POSTGRES_USER=kong" \
  -e "POSTGRES_DB=kong" \
  -e "POSTGRES_PASSWORD=kong" \
  postgres:9.6
img_4.png
img_4.png

接下来查看容器状态

代码语言:javascript
复制
docker ps
img_5.png
img_5.png

现在可以看到 PostgreSQL 已经正常启动,并对外开放了 5432 端口。

四、初始化数据库结构

我们需要为为刚创建的数据库进行初始化,生成 Kong 所需要的表结构和数据。

代码语言:javascript
复制
docker run --rm --network=kong-net \
  -e "KONG_DATABASE=postgres" \
  -e "KONG_PG_HOST=kong-db" \
  -e "KONG_PG_PASSWORD=kong" \
  -e "KONG_PASSWORD=kong123456" \
  kong kong migrations bootstrap
img_6.png
img_6.png

Tips: 如果你不理解下面的命令就看这一段。 kong kong migrations bootstrap 根据 docker run 的规范 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 说明第一个 Kong 为容器名,第二个 Kong 为为命令 ( Command ) 后面的为参数。简单来说其流程就是:

  • 运行一个 Kong 容器。
  • 进入该容器并执行 kong migrations bootstrap命令

五、启动 Kong 容器

为了启动 Kong 容器,我们做了那么多的准备工作,现在终于开始运行起来了。

代码语言:javascript
复制
docker run -d --name kong --network=kong-net \
  -e "KONG_DATABASE=postgres" \
  -e "KONG_PG_HOST=kong-db" \
  -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, 0.0.0.0:8444 ssl" \
  -p 80:8000 \
  -p 443:8443 \
  -p 8001:8001 \
  -p 8444:8444 \
  kong
img_7.png
img_7.png

六、测试是否安装成功

代码语言:javascript
复制
curl -i -X GET --url http://<DNSorIP>:8001/services

<DNSorIP>替换为你的 IP 或 DNS。

如果成功将返回 HTTP/1.1 200 OK

img_8.png
img_8.png

常规配置 Kong

Kong 提供了 Http/Rest 接口,用来动态创建配置文件。

配置反向代理

Kong 是基于 Nginx 的,所以它将会基于配置动态构建出 Nginx 的配置文件。

Nginx 配置文件
代码语言:javascript
复制
upstream example{
    server localhost:8080 weight=100;
}

server{
    listen:80;
    location /hi {
        proxy_pass http://example
    }
}
使用 Kong API 进行配置
访问服务进行测试

我们之前已经运行起了一个 Docker 服务,将端口服务映射到 6023 端口。现在我们可以看到,我们的请求已经经过 Kong API 进行了反向代理到 6023 端口上。

img_23.png
img_23.png

总结

本篇文章我们讲解了利用 Docker 来安装 Kong ,并利用 Kong 的 Rest API 进行了动态配置。让我们来仔细看着这些 API,是不是脑中灵光一显?对,我们可以将Rest API 动态配置的功能做成图形化界面。这样就可以更方便的配置了。 下一篇我们就会接着讲 Kong 的图形化管理界面 - Konga。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 物联网网关神器 Kong( 二 )
    • Docker 安装 Kong。
      • 一、获取镜像
      • 二、创建网络
      • 三、创建数据库
      • 四、初始化数据库结构
      • 五、启动 Kong 容器
      • 六、测试是否安装成功
    • 常规配置 Kong
      • 配置反向代理
    • 总结
    相关产品与服务
    容器镜像服务
    容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档