https://hub.docker.com/_/kong
https://github.com/kong/kong
https://docs.konghq.com/install/centos/
https://github.com/Kong/kong/releases
#docker run
docker run -d --name kong --hostname kong --net=host --restart=always --privileged=true --user=root -e TZ='Asia/Shanghai' --ulimit nofile=262144:262144 -v /data/site/docker/env/nginx/kong:/usr/local/kong/declarative -e "KONG_DATABASE=off" -e "KONG_DECLARATIVE_CONFIG=/usr/local/kong/declarative/kong.yml" -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" -v /data/file:/data/file kong:latest
-kong migrations bootstrap
docker run -d --name kong --hostname kong --net=host --restart=always --privileged=true --user=root -e TZ='Asia/Shanghai' --ulimit nofile=262144:262144 -e KONG_DATABASE='postgres' -e KONG_PG_HOST='172.18.0.32' -e KONG_PG_USER='root' -e KONG_PG_PASSWORD='wdq2023' -e KONG_PASSWORD='wdq54321' -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' -e KONG_ADMIN_GUI_URL='http://localhost:8002' kong/kong-gateway kong migrations bootstrap
-kong
docker run -d --name kong --hostname kong --net=host --restart=always --privileged=true --user=root -e TZ='Asia/Shanghai' --ulimit nofile=262144:262144 -e KONG_DATABASE='postgres' -e KONG_PG_HOST='172.18.0.32' -e KONG_PG_USER='root' -e KONG_PG_PASSWORD='wdq2023' -e KONG_PASSWORD='wdq54321' -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' -e KONG_ADMIN_GUI_URL='http://localhost:8002' -v /data/site/docker/env/nginx/kong/kong.yml:/etc/kong/kong.conf kong
kong migrations up
-ui
http://g.htmltoo.com:8002
-api
http://g.htmltoo.com:8001
docker exec -it kong /bin/bash
# Generate a skeleton configuration file to get you started
docker exec -it kong kong config init /data/file/kong.yml
#编译安装
cd /opt
yum install epel-release
yum install -y kong-2.1.0.el8.amd64.rpm
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
mv bintray-kong-kong-rpm.repo /etc/yum.repos.d/
yum update -y
yum install -y kong
# PostgreSQL
CREATE USER kong; CREATE DATABASE kong OWNER kong;
# Run
kong migrations bootstrap -c /etc/kong/kong.conf
# 没有数据库
# 要以无DB模式运行Kong,在当前文件夹中生成一个kong.yml文件
kong config init
cd /etc/kong
cp kong.conf.default kong.conf
vim /etc/kong/kong.conf
database = off
declarative_config = /op/kong.yml
3.Start Kong
kong start -c /etc/kong/kong.conf
# vim /usr/local/kong/.kong_env
proxy_listen = 0.0.0.0:8800 # 修改端口, 默认8000
admin_listen = 0.0.0.0:8001 ..... . 0.0.0.0:8444 # 修改ip, 默认127.0.0.1
4. 测试
# 默认端口:
8000:此端口是Kong用来监听来自客户端的HTTP请求的,并将此请求转发到您的上游服务。这也是本教程中最主要用到的端口。
8443:此端口是Kong监听HTTP的请求的端口。该端口具有与8000端口类似的行为,但是它只监听HTTPS的请求,并不会产生转发行为。可以通过配置文件来禁用此端口。
8001:用于管理员对KONG进行配置的端口。
8444:用于管理员监听HTTPS请求的端口。
curl -i http://外网ip:8001/
kong stop # 停止
kong start # 开启
kong reload # 重启
5. 启动ui管理界面konga
https://abc.htmltoo.com/thread-46022.htm
6.kongx部署
https://abc.htmltoo.com/thread-46090.htm
7. 使用
---kong - SERVICE API, ROUTE路由, API对象, CONSUMER消费者, 入门示例
https://abc.htmltoo.com/thread-46024.htm
---kong - 身份验证
https://abc.htmltoo.com/thread-46025.htm
---kong - 负载均衡
https://abc.htmltoo.com/thread-46026.htm
---kong - 健康检查和断路器
https://abc.htmltoo.com/thread-46027.htm