设为首页 收藏本站
查看: 1298|回复: 0

[经验分享] Kong入门及docker安装

[复制链接]

尚未签到

发表于 2019-2-20 09:52:01 | 显示全部楼层 |阅读模式
一.Kong介绍
  Kong(https://github.com/Kong/kong) 是一个云原生,高效,可扩展的分布式 API 网关。 自 2015 年在 github 开源后,广泛受到关注,目前已收获 1.9w+ 的 star,其核心价值在于高性能和可扩展性。

二.安装前准备

  • 安装好docker稳定版本
  • 会docker 的基本使用
  • 了解kong概念和使用(文档地址: https://getkong.org/docs/)
概念术语

  • upstream: 是对上游服务器的抽象;
  • target: 代表了一个物理服务,是 ip + port 的抽象;
  • service: 是抽象层面的服务,他可以直接映射到一个物理服务(host 指向 ip + port),也可以指向一个 upstream 来做到负载均衡;
  • route: 是路由的抽象,他负责将实际的 request 映射到 service。默认情况下,KONG监听的端口为:
  • 8000: 此端口是KONG用来监听来自客户端传入的HTTP请求,并将此请求转发到上有服务器;
  • 8443: 此端口是KONG用来监听来自客户端传入的HTTP请求的。它跟8000端口的功能类似,但是它只是用来监听HTTP请求的,没有转发功能。可以通过修改配置文件来禁止它;
  • 8001: Admin API,通过此端口,管理者可以对KONG的监听服务进行配置;
  •   8444: 通过此端口,管理者可以对HTTP请求进行监控.
    三.Kong安装
      这里以0.13.x 以上的版本为例子,废弃了API实体对象的使用。
    1.创建docker网络
      docker network create kong-net
      2.安装数据库,kong支持 postgres( postgres9.5以上)和Apache Cassandra
    创建启动数据库,这里以postgres9.5作为数据库来存储数据,如下:
      $ docker run -d --name kong-database \
    --network=kong-net \
    -p 5432:5432 \
    -e "POSTGRES_USER=kong" \
    -e "POSTGRES_DB=kong" \
    postgres:9.6
      3.数据库准备,初始化Kong数据
      docker run --rm \
    --network=kong-net \
    -e "KONG_DATABASE=postgres" \
    -e "KONG_PG_HOST=kong-database" \
    kong:latest kong migrations up
      4.启动kong
      docker run -d --name kong \
    --network=kong-net \
    -e "KONG_DATABASE=postgres" \
    -e "KONG_PG_HOST=kong-database" \
    -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:latest
      5.查看kong是否正在运行。
      $ curl -i http://localhost:8001
    然后可以通过Restful Admin API 管理kong,参考地址:https://docs.konghq.com/0.14.x/admin-api/

四.启动Kong Dashboard
  官方推出了dashboard来管理Kong,界面清爽,使用方便,我们接着往下看。
1.创建并运行Kong dashboard容器
  docker run -d \
--network=kong-net \
--link kong:kong -p 8008:8080 pgbi/kong-dashboard start \
--kong-url http://kong:8001 \
--basic-auth kong=kong
  2.然后访问 http://192.168.33.10:8008,

  • 这里192.168.33.10是我的虚拟机IP
  • 登录账号为kong,密码为kong,如下图:

五.启动postgre admin 4
  1.创建并运行postgre admin 4容器
  docker run -d -p 8009:80 \
--network=kong-net \
--link kong-database:kong-database \
-e "PGADMIN_DEFAULT_EMAIL=admin@admin.com" \
-e "PGADMIN_DEFAULT_PASSWORD=admin@admin.com" \
-d dpage/pgadmin4
  2.然后访问 http://192.168.33.10:8009

  • 登录账号为admin@admin.com,密码为admin@admin.com
  • 创建server,如下图:


六.参考文档
  1.kong官方文档:https://getkong.org/docs/
2.docker安装kong:https://blog.csdn.net/freewebsys/article/details/80428830
3.选择Kong作为你的API网关:https://www.itcodemonkey.com/article/5980.html




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-674720-1-1.html 上篇帖子: docker入门和进阶(包含kubernetes) 下篇帖子: docker与jenkins的自动化CI/CD流水线实战(git)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表