我是靠谱客的博主 积极寒风,最近开发中收集的这篇文章主要介绍API网关Kong 简介以及安装教程Kong,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Kong

简介

Kong基于OpenResty,是一个云原生、快速、可扩展、分布式的流量网关(门户网关)

特性

  • 提供了多样化的认证层来保护API
  • 可对出入流量进行管控
  • 提供了可视化的流程检查、监控分析API
  • 能够及时得转换请求和响应
  • 提供log解决方案
  • 可通过API Serverless函数

安装

Kong不支持windows,所以本地如果想安装只能用虚拟机,支持的安装方式https://konghq.com/install/
简单提一下,这里我是用VirtualBox+Vagrant虚拟化技术,有想自己动手的小伙伴可以参考: windows下安装VirtualBox和Vagrant
有了虚拟机后就要安装,本人推荐用docker容器化搭建,docker安装可以参考:Centos下安装Docker以及配置阿里云镜像加速器

有了这些前提后,再进行kong安装

  • 这里我们就参考docker images安装

    • 安装并启动PostgreSQL,需注意的是这里用高版本的可能 Kong 运行报 Error: don‘t know how to auth: 10

      	#拉取postgreSQL 9 版本的数据库
      	docker pull postgres:9; 
      	#启动postgreSQL数据库
      	docker run -d --name kong-database 
              -p 5432:5432 
              -e "POSTGRES_USER=kong" 
              -e "POSTGRES_DB=kong" 
              -e "POSTGRES_PASSWORD=kong" 
              postgres:9     
          #进入postgreSQL容器
          docker exec -it kong-database /bin/bash
          #进入postgreSQL容器中的psql命令行工具
          psql -U kong -W kong;
          #查看当前数据库容器中的用户
          du;
          #创建一个kong用户和数据库
          create user kong with password 'kong';
          create database kong owner kong;
          #创建一个konga用户和数据库
          create user konga with password 'konga';
          create database konga owner konga;
      	
      
    • 安装并启动kong

      #拉取docker镜像中最新的kong版本
      docker pull kong;
      #删除正在运行的kong镜像
      docker run --rm 
          --link kong-database:kong-database 
          -e "KONG_DATABASE=postgres" 
          -e "KONG_PG_HOST=kong-database" 
          -e "KONG_PG_USER=kong" 
          -e "KONG_PG_PASSWORD=kong" 
          -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" 
          kong kong migrations bootstrap
      #启动kong,并设置kong的数据库    
      docker run -d --name kong 
          --link kong-database:kong-database 
          -e "KONG_DATABASE=postgres" 
          -e "KONG_PG_HOST=kong-database" 
          -e "KONG_PG_PASSWORD=kong" 
          -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 8001:8001 
          -p 8444:8444 
          kong
      

Kong Dashboard

Kong 图形可视化处理界面工具:

  • Konga
  • Kong-dashboard

安装Konga

  • 这里我们就参考docker images安装

    • 安装并启动Konga

      #拉取最新的konga版本
      docker pull pantsel/konga:latest
      #删除运行的konga
      docker run --rm pantsel/konga:latest -c prepare -a postgres -u postgresql://konga:konga@192.168.56.10:5432/konga
      #启动konga并设置数据库
      docker run -d  --name konga 
                    -p 1337:1337 
                   -e "DB_ADAPTER=postgres" 
                   -e "DB_HOST=192.168.56.10" 
                   -e "DB_PORT=5432" 
                   -e "DB_USER=konga" 
                  -e "DB_PASSWORD=konga" 
                   -e "DB_DATABASE=konga" 
                   -e "KONGA_HOOK_TIMEOUT=120000" 
                   -e "NODE_ENV=production" 
                   pantsel/konga
      
  • Konga界面,http://192.168.56.10:1337/register
    在这里插入图片描述
    在这里插入图片描述

SERVICES

服务:在kong网关中生成的服务/接口

ROUTES

路由:kong网关服务/接口 映射成服务器地址

CONSUMERS

消费者:apiKey 配置特定消费者调用某些固定的接口

PLUGINS

插件:插件化,增加功能,支持二次开发

UPSTREAMS

上游:服务上游,当kong service 配置host是自定义域名时,可进行解析成服务器地址

Konga请求访问

访问konga配置好的接口:http://kong服务ip:8000/{uri}

  • http://192.168.56.10:8000/user/1

最后

以上就是积极寒风为你收集整理的API网关Kong 简介以及安装教程Kong的全部内容,希望文章能够帮你解决API网关Kong 简介以及安装教程Kong所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(74)

评论列表共有 0 条评论

立即
投稿
返回
顶部