Docker安装Kong API Gateway并使用的详细教程

1 简介

Kong不是一个简单的产品,本文讲的Kong主要指的是Kong API Gateway,即API网关。这次主要是简单体验一把,通过Docker安装,然后使用它的Route功能。

2 安装

创建Docker的Network:

# 创建
$ docker network create kong-net
# 检查
$ docker network list

Kong可以使用无数据库模式,为了窥探一下它的配置,我们还是使用数据库,启动如下:

$ docker run -itd --network=kong-net \
    --name kong-database \
    -e POSTGRES_DB=kong \
    -e POSTGRES_USER=pkslow \
    -e POSTGRES_PASSWORD=pkslow-kong \
    -p 5432:5432 \
    postgres:13

接着进行migrations操作,可以理解为是准备数据库:

$ docker run --rm \
     --network=kong-net \
     -e "KONG_DATABASE=postgres" \
     -e "KONG_PG_HOST=kong-database" \
     -e "KONG_PG_USER=pkslow" \
     -e "KONG_PG_PASSWORD=pkslow-kong" \
     kong:2.5.0-ubuntu kong migrations bootstrap

准备就绪后,就可以启动Kong了:

$ docker run -itd --name kong \
     --network=kong-net \
     -e "KONG_DATABASE=postgres" \
     -e "KONG_PG_HOST=kong-database" \
     -e "KONG_PG_USER=pkslow" \
     -e "KONG_PG_PASSWORD=pkslow-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 8000:8000 \
     -p 8443:8443 \
     -p 127.0.0.1:8001:8001 \
     -p 127.0.0.1:8444:8444 \
     kong:2.5.0-ubuntu

它的Admin端口为8001,通过下面命令验证:

$ curl -i http://localhost:8001/

3 测试Route功能

先创建一个服务,可以理解为注册一个服务,服务名为pkslow,地址为( www.pkslow.com ):

$ curl -X POST --url http://localhost:8001/services/ --data 'name=pkslow' --data 'url=https://www.pkslow.com'

创建路由规则,路径为/pkslow,对应的服务为pkslow:

$ curl -X POST --url http://localhost:8001/services/pkslow/routes --data 'paths[]=/pkslow'

这样,当我们访问路径/pkslow时,其它访问的就是服务pkslow的内容。

访问测试,注意端口为8000了:

$ curl -i -X GET --url http://localhost:8000/pkslow

到此,我们就成功安装并使用了Kong Gateway的Route功能了。

4 总结

Kong的强大在于它可以安装许多的插件来实现各种功能,如验证、限流、缓存等。它的强大,等你来挖掘。

到此这篇关于Docker安装Kong API Gateway并使用的详细教程的文章就介绍到这了,更多相关Docker安装Kong API Gateway内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 使用docker搭建kong集群操作

    docker容器下搭建kong的集群很简单,官网介绍的也很简单,初学者也许往往不知道如何去处理,经过本人的呕心沥血的琢磨,终于搭建出来了. 主要思想:不同的kong连接同一个数据库(就这么一句话) 难点:如何在不同的主机上用kong连接同一数据库 要求: 1.两台主机 172.16.100.101 172.16.100.102 步骤: 1.在101上安装数据库(这里就用cassandra) docker run -d --name kong-database \ -p 9042:9042 \ c

  • docker安装kong网关的方法示例

    1.创建一个Docker network docker network create kong-net 2.创建数据库 以PostgreSQL为例 docker run -d --name kong-database \ --network=kong-net \ -p 5432:5432 \ -e "POSTGRES_USER=kong" \ -e "POSTGRES_DB=kong" \ postgres:9.6 3.准备数据库 docker run --rm \

  • Docker安装Kong API Gateway并使用的详细教程

    1 简介 Kong不是一个简单的产品,本文讲的Kong主要指的是Kong API Gateway,即API网关.这次主要是简单体验一把,通过Docker安装,然后使用它的Route功能. 2 安装 创建Docker的Network: # 创建 $ docker network create kong-net # 检查 $ docker network list Kong可以使用无数据库模式,为了窥探一下它的配置,我们还是使用数据库,启动如下: $ docker run -itd --networ

  • docker安装redis并挂载到本地的详细教程

    1.拉取redis镜像 docker pull redis 2.先随便跑起来看下版本号信息 docker run -d -p 6379:6379 --name redistest redis 找到run起来的容器,或者直接用我们自己起的名字操作 3. 看到对应的版本号6.2到官网中下载对应的配置文件 redis 官方配置文件下载地址 4. 创建需要挂载的文件夹名称 mkdir -p /opt/myredis/conf /opt/myredis/data 5.将配置文件用工具上传到conf文件下

  • Centos 64位安装aapt、jdk、tomcat的详细教程

    1.安装jdk #查看系统自带的jdk [root@localhost ~]# rpm -qa | grep jdk java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.x86_64 java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.x86_64 #卸载系统自带openjdk [root@localhost ~]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.

  • VMware安装Linux CentOS 7.7系统的详细教程

    如何在Vmware安装Linux CentOS 7.7系统,并且是最小化安装.之后进行必要的配置修改,并实现基础优化.最后做一个快照. 安装Linux CentOS 7.7 安装要求:安装后的虚拟机用于服务器,因此要最小化安装,不要安装多余的软件,也不需要安装图形化界面. 虚拟机如何创建参见:「VMware如何创建虚拟机并设置虚拟机网络>」 启动虚拟机 安装CentOS 7 选择(通过上下键切换选项)第一个,安装CentOS 7 键盘及语言选择 选择键盘模式,选择语言以及语言所在国家(比如:美国

  • CentOS 7下安装配置proftpd搭建ftp服务器的详细教程

    proftpd全称:Professional FTP daemon,是针对Wu-FTP的弱项而开发的,除了改进的安全性,还具备许多Wu-FTP没有的特点,能以Stand-alone.xinetd模式运行等.ProFTP已经成为继Wu-FTP之后最为流行的FTP服务器软件,越来越多的站点选用它构筑安全高效的FTP站点,ProFTP配置方便,并有MySQL和Quota模块可供选择,利用它们的完美结合可以实现非系统账号的管理和用户磁盘的限制.<摘抄百度百科> 本章通过下载源码的方式安装,可以到官网下

  • Centos7下安装和配置MySQL5.7.20的详细教程

    1.在官网下载MySQL5.7安装包:mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz. 下载地址:https://dev.mysql.com/downloads/mysql/ 2.通过SSH Secure Shell Client远程访问CentOS7 3.卸载系统自带的Mariadb数据库 4.创建mysql用户组和mysql用户 5.将MySQL安装包上传到CentOS7服务器/root目录下并解压(这里我是用filezilla去登陆远程服务然后把安装包

  • CentOS7版本安装Mysql8.0.20版本数据库的详细教程

    相关阅读: MySQL8.0.20安装教程及其安装问题详细教程  https://www.jb51.net/article/186202.htm mysql8.0.20下载安装及遇到的问题(图文详解)  https://www.jb51.net/article/186208.htm CentOS7安装Mysql8.0.20步骤: https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-20.html 官网下载有时速度比较慢,直接点击链接也

  • Security安装 Elastic SIEM 和 EDR的超详细教程

    Elastic Security 为分析人员提供了预防,检测和响应威胁的手段. 该解决方案解决了SIEM,endpoint,威胁搜寻等安全用例,使 SecOps 团队能够收集各种数据,执行自动化和分析师驱动的分析,并通过嵌入式工作流和自动化来应对安全威胁.在今天的文章中,我将介绍如何安装 Elastic SIEM 及 EDR. 在我的系统配置中,我们使用如下的结构: 我有两台机器,在其中的一台机器上安装有 Elasticsearch,Filebeat 及 Kibana,而在另外一台机器上安装有

  • VS Code安装及C、C++环境配置详细教程(Windows系统)

    参考资料2份: 从零开始的vscode安装及环境配置教程(C/C++)(Windows系统) VSCode配置C/C++环境 五个步骤: 1.安装VS Code文本编辑器(系统版) Visual Studio Code - Code Editing. Redefined2.安装C/C++必备插件与简体中文插件:搜索框搜索“C/C++”以及“chinese”. 其他插件是在操作过程中右下角提示要不要安装的,我随手点了install所以就有了. 3.下载并安装C/C++的编译器:MinGW-w64

  • 成功安装vscode中go的相关插件(详细教程)

    让你成功安装vscode中go的相关插件 注意:该演示环境是windows环境,linux和mac环境操作思路一样 vscode中有很多go的相关插件,非常好用如下: gocode gopkgs go-outline go-symbols guru gorename gomodifytags goplay impl godef goreturns golint gotests dlv 但是由于各种原因,这些插件无法安装,甚至你翻墙之后发现也还是无法安装,加上最近翻墙被限制的这么严格,所以总结了如

随机推荐