zoukankan      html  css  js  c++  java
  • 微服务实践指南☞Kong网关的简介和安装

    Kong 是在客户端和(微)服务间转发API通信的API网关,通过插件扩展功能,这些插件在 API 请求响应循环的生命周期中被执行。插件使用 Lua 编写,而且Kong还有如下几个基础功能:HTTP 基本认证、密钥认证、CORS( Cross-origin Resource Sharing,跨域资源共享)、TCP、UDP、文件日志、API 请求限流、请求转发以及 nginx 监控.

    Kong可运行在某些 Linux 发行版、Mac OS X 和 Docker 中,无论是本地机还是云端服务器皆可运行。

    除了免费的开源版本,Mashape 还提供了付费的企业版,其中包括技术支持、使用培训服务以及 API 分析插件。

    KONG可以在多种操作环境下安装。包括以下环境:

     这节我们以centos7.6进行部署介绍:

    1.安装kong:

    如果要下载软件包的方式,请执行:

    sudo yum install epel-release
    sudo yum install kong-2.0.2.*.noarch.rpm --nogpgcheck

    也可以使用repository,请执行

    sudo yum update -y
    sudo yum install -y wget
    wget https://bintray.com/kong/kong-rpm/rpm -O bintray-kong-kong-rpm.repo
    export major_version=`grep -oE '[0-9]+.[0-9]+' /etc/redhat-release | cut -d "." -f1`
    sed -i -e 's/baseurl.*/&/centos/'major_version''/ bintray-kong-kong-rpm.repo
    sudo mv bintray-kong-kong-rpm.repo /etc/yum.repos.d/
    sudo yum update -y
    sudo yum install -y kong

    2.准备数据库:

    准备数据库或声明性配置文件

    Kong可以在有postgress或DB-less mode的情况下运行。

    DB-less mode:

    将使用kong.conf其配置属性和一个kong.yml 文件将实体指定为声明性配置。操作如下:

    1.kong的配置文件位于/etc/kong/kong.conf,入无该文件时,执行如下命令复制kong.conf.default为kong.conf,

    cp /etc/kong/kong.conf.default /etc/kong/kong.conf

    2.生成声明性配置文件。以下命令将kong.yml 在当前文件夹(/etc/kong)中生成一个文件。它包含有关如何填写的说明:

    kong config init

    修改kong.conf文件,以使kong在DB-less mode环境下运行

    database = off
    declarative_config = /path/to/kong.yml

    运行kong

    kong start [-c /path/to/kong.conf]

    测试kong网关是否运行,返回相关数据即表示运行成功;

    curl -i http://localhost:8001/

    Postgres数据库环境:

    一、安装postgres数据库,已安装的越过:

    1.Install the repository RPM

    yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

    2.Install the client packages

    yum install postgresql12

    3.Optionally install the server packages

    yum install postgresql12-server

    4.Optionally initialize the database and enable automatic start:

    /usr/pgsql-12/bin/postgresql-12-setup initdb
    systemctl enable postgresql-12
    systemctl start postgresql-12

    二、创建数据库

    cd /usr/pgsql-12/bin/
    sudo -s -u postgres
    psql

     执行创建数据库、用户

     CREATE USER kong; CREATE DATABASE kong OWNER kong;

    现在,运行数据库迁移:

    kong migrations bootstrap [-c /path/to/kong.conf]

     执行过程如遇到 failed to retrieve PostgreSQL server_version_num: FATAL: Ident authentication failed for user "kong",请给该用户设定密码,并修改postgres的授权方式为MD5,操作如下:

    alter user kong with password 'kong';

     修改/etc/kong/kong.conf配置文件,增加密码

    此时注意修改postgresql-12的配置文件pg_hba.conf 的认证方式为MD5,位于/var/lib/pgsql/12/data/

    host    all             all             127.0.0.1/32            md5

    按需添加如下,开启postgress远程访问:

    pg_hba.conf 

     postgresql.conf 修改listen_addresses = '*'  

    开启kong

    kong start [-c /path/to/kong.conf]

    可按需开启kong api等相关的远程访问:

    参考自:

    kong官网安装指南

    Kong的简介和安装 - 玩转Kong网关

  • 相关阅读:
    如何将 Python 程序打包成 .exe 文件?
    无穷滚动(Infinite scroll)的实现原理
    图片延迟加载(lazyload)的实现原理
    Java 基础 -- 泛型、集合、IO、反射
    Ubuntu on win10
    让自己少走点弯路
    使用MongoDB 记录业务日志
    19个JavaScript数组常用方法总结
    Kubernetes 使用Nginx-Ingress实现蓝绿发布/金丝雀发布/AB测试
    官方golang包管理神器
  • 原文地址:https://www.cnblogs.com/shatanku/p/12559715.html
Copyright © 2011-2022 走看看