前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kong接入网关

kong接入网关

作者头像
友儿
发布2022-09-11 17:27:57
4650
发布2022-09-11 17:27:57
举报
文章被收录于专栏:友儿友儿
环境(linux虚拟机)

准备工作

代码语言:javascript
复制
 1. 显示当前版本
 # vagrant --version  
 2. 列出所有Box
 # vagrant box list
 3. 添加一个Box
 # vagrant box add [options] <name, url, or path>
 3.1 可以从https://app.vagrantup.com/boxes/search下载各种Vagrant映像文件       
 # vagrant box add ubuntu/trusty64
 3.2 通过指定的URL添加远程box
 # vagrant box add https://atlas.hashicorp.com/ubuntu/boxes/trusty64
 3.3 添加一个本地box      
 # vagrant box add {box_name} {file_path}  
 4. 初始化一个新VM
 # vagrant init ubuntu/trustry64
 5. 启动一个VM
 # vagrant up
 6. 启用SSH登陆VM
 # vagrant ssh
 7. 查看VM当前的状态
 # vagrant status
 8. 关闭VM
 # vagrant halt
 9. 从box列表移除
 # vagrant box remove [name]
 10. 重启虚拟机
 # vagrant reload
 11. 挂起虚拟机
 # vagrant suspend   
 12. 唤醒虚拟机
 # vagrant resum

?

假设你已经安装好虚拟机(以ubuntu为例)

安装docker

假设你已经安装好docker

我们使用docker安装kong

  • kong官网
  • Kong采用插件机制进行功能定制,插件集(可以是0或N个)在API请求响应循环的生命周期中被执行。插件使用Lua编写,目前已有几个基础功能:HTTP基本认证、密钥认证、CORS(Cross-Origin Resource Sharing,跨域资源共享)、TCP、UDP、文件日志、API请求限流、请求转发以及Nginx监控。
  • kong插件地址
  • kong文档地址
  • kong安装
  • kong 安装详细
代码语言:javascript
复制
# 创建kong-net网络
docker network create kong-net
# 安装postgres
docker run -d --name kong-database \
            -p 5432:5432 \
            -e "POSTGRES_USER=kong" \
            -e "POSTGRES_DB=kong" \
            -e "POSTGRES_PASSWORD=kong" \
            postgres:9.6
#运行临时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-gateway kong migrations bootstrap
# 启动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-gateway
注意

?

我们是用本地访问虚拟机中docker容器,所以需要注意端口对应

?

docker

虚拟机

本地

port

8000

8000

8000

port

8001

8001

8001

port

8443

8443

8443

port

8444

8444

8444

修改Vagrantfile文件并重启虚拟机

Kong(8000端口) 是请求进入端口,用户发送请求先到 Kong 项目的 8000 端口,kong根据配置的规则转发到真实的后台服务地址。

Kong(8001端口) 是管理端口,插件设置、API的增删改查、以及负载均衡等一系列的配置都是通过8001端口进行管理。

代码语言:javascript
复制
# 本地端口host对应虚拟机端口guest
  config.vm.network "forwarded_port", guest: 8000, host: 8000
  config.vm.network "forwarded_port", guest: 8001, host: 8001
  config.vm.network "forwarded_port", guest: 8444, host: 8444
  config.vm.network "forwarded_port", guest: 8443, host: 8443
  config.vm.network "forwarded_port", guest: 8080, host: 8080
# 设置虚拟机静态Ip便于访问(注意IP端要和本地IP在一个网段)
  config.vm.network "private_network", ip: "192.168.56.2"
# 设置虚拟机和本地的共享目录
  config.vm.synced_folder "D:/dev/study/php/vagrant/code", "/data/www/"    

?

测试访问

最后、浏览器访问IP:8000,如果出现 说明安装成功。

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

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

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境(linux虚拟机)
  • 注意
  • 测试访问
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com