前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微服务系列:Kong安装配置

微服务系列:Kong安装配置

原创
作者头像
AIOPS
修改2023-11-09 16:07:10
6581
修改2023-11-09 16:07:10
举报
文章被收录于专栏:高可用高可用

1、背景

前面两篇文章介绍了微服务为什么需要API网关Kong网关的特点,本篇文章就实际安装部署Kong,看看Kong的目录结果及是如何配置管理的,加深对Kong的理解。

2、 Kong安装

2.1 安装环境

本次安装是采用单机模式,操作系统环境是CentOS7.6

2.2 下载安装包并安装

代码语言:javascript
复制
# 下载安装包
curl -Lo kong-enterprise-edition-3.4.1.1.rpm $(rpm --eval https://packages.konghq.com/public/gateway-34/rpm/el/%{rhel}/x86_64/kong-enterprise-edition-3.4.1.1.el%{rhel}.x86_64.rpm)
# rpm安装
rpm -ivh kong-enterprise-edition-3.4.1.1.rpm
# 安装postgresql
yum install postgresql15-contrib postgresql15-server
systemctl enable postgresql-15
# 创建数据库及用户名密码
CREATE USER kong WITH PASSWORD 'super_secret'; CREATE DATABASE kong OWNER kong;

2.3 配置Kong

安装完成后,可以在/etc/kong/kong.conf中查找Kong的配置文件:

代码语言:javascript
复制
# 修改/etc/kong/kong.conf中数据库的用户名和密码
vim /etc/kong/kong.conf
pg_user = kong              
pg_password = super_secret  
# 迁移kong的配置到数据库
kong migrations bootstrap -c /etc/kong/kong.conf
# 启动kong
kong start -c /etc/kong/kong.conf.

2.4 验证Kong的运行状态

[root@VM-4-13-centos ~]# kong-health Kong is healthy at /usr/local/kong/

3、Kong的配置管理

Kong的配置管理非常灵活,可以通过多种方式进行配置。以下是主要的配置管理方式:

? 编辑kong.conf文件:Kong的配置文件位于/etc/kong/kong.conf中。可以通过编辑kong.conf文件来配置Kong网关。在kong.conf文件中,可以指定数据库连接、代理设置、插件配置、路由配置和服务配置等选项。

? 使用Kong的REST API:Kong提供了REST API,可以使用API管理插件来创建、更新和删除Kong对象,例如插件、路由和服务等。可以使用curl或其他HTTP客户端来访问Kong的REST API。

? 使用图形化界面来管理,业界使用比较多的是konga,github上面星星数量也远多于Kong自带的Kong Manager。后面我们就试试konga

这里我对kong还不熟悉,就先通过REST API来管理kong,熟悉过程及配置参数。

4、通过Kong API管理插件

Kong提供了一个API管理插件,可以通过API管理Kong对象。本小节就通过Plugin这个插件,演示API用法。

4.1 前置工作

? 安装jq,用于命令行显示json

? 确认8001端口已启动

4.2 查询当前启用的插件

从下面命令输出,可以看到没有安装插件

代码语言:javascript
复制
[root@VM-4-13-centos ~]# curl -s http://localhost:8001/plugins | jq 
{
  "data": [],
  "next": null
}

4.3 启用插件

代码语言:javascript
复制
[root@VM-4-13-centos ~]# curl -s -X POST http://localhost:8001/plugins  --data name=rate-limiting  --data config.minute=5  --data config.policy=local | jq
{
  "enabled": true,
  "route": null,
  "config": {
    "error_code": 429,
    "redis_port": 6379,
    "minute": 5,
  ......
  "service": null,
  "id": "8030270c-d5f8-4f87-8342-f400376c8975",
  "name": "rate-limiting",
  "consumer": null,
  "updated_at": 1699516789
}

4.4 删除插件

代码语言:javascript
复制
curl -X DELETE http://localhost:8001/plugins/e35151fc-36a7-4679-b940-a4e1a0c400a4

没有报错即为成功

5、总结

本文实践安装了Kong并演示了如何通过API管理Kong,后面通过一个实例,走完Kong网关如何代理一个API提供服务并且展示常用的 API功能:限流、鉴权等

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、背景
  • 2、 Kong安装
    • 2.1 安装环境
      • 2.2 下载安装包并安装
        • 2.3 配置Kong
          • [root@VM-4-13-centos ~]# kong-health Kong is healthy at /usr/local/kong/
          • 3、Kong的配置管理
          • 4、通过Kong API管理插件
            • 4.1 前置工作
              • 4.2 查询当前启用的插件
                • 4.3 启用插件
                • 4.4 删除插件
                • 5、总结
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                http://www.vxiaotou.com