前言 从去年上半年微服务项目上线以来,一直使用kong作为微服务API网关,整个项目完全部署于k8s,一路走来,对于k8s,对于kong,经历了一个从无到有,从0到1的过程,也遇到过了一些坎坷,今天准备分享一些实际的小心得和经验,本篇将尽量做到短小精干,希望能让大家一目了然. 在开始部署kong到k8s环境中时,作者就思考过一些运维问题,如下: kong作为一个杰出的高性能微服务API网关,可以使用lua脚本编写强大的插件来扩展它的功能,在这种情况下,插件可能会随着版本而变动,如何优雅地升级它呢…
目的 使用kong作为目录/data/reports的静态资源服务器,为了测试,已于目录/data/reports下创建文件report.html,如下: <html> <head></head> <body><h1>测试报告</h1></body> </html> 一.编写nginx自定义模板 获取kong自定义的nginx配置 [root@justmine ~]# kubectl -n [kong所在的命名…
我的工作中很重要的一部分是参加各种各样的技术会议.最近参加的是去年11月的北美KubeCon,在会议的最后一天,所有人都焦头烂额,我也一直机械地向不同的人重复我的自我介绍.后来,我已经十分烦躁,决定逃离人群好好听一场演讲.无意间,我碰上了Darren Shepherd的演讲,他是Rancher的CTO,他的演讲主题是"K3s的背后:构建一个生产级轻量Kubernetes发行版".我被演讲深深吸引,此后我开始慢慢深入了解K3s. K3s是由业界应用最为广泛的Kubernetes管理平台创…
1. Kong简介 那么,Kong是一个什么东东呢?它是一个开源的API网关,或者你可以认为它是一个针对API的一个管理工具.你可以在那些上游service之上,额外去实现一些功能.Kong是开源的,所以你可以在Github找到它,你现在就可以下载使用. Kong是一款基于OpenResty(Nginx + Lua模块)编写的高可用.易扩展的,由Mashape公司开源的API Gateway项目.Kong是基于NGINX和Apache Cassandra或PostgreSQL构建的,能提供易于使…
上一篇< 01 | 健康之路 kubernetes(k8s) 实践之路 : 开篇及概况 >我们介绍了我们的大体情况,也算迈出了第一步.今天我们主要介绍下我们生产可用的集群架设方案.涉及了整体拓补图,和我们采用的硬件配置,目前存在的问题等内容. 遵循上一篇提到的系列风格,这边不涉及基础的内容,这些基础的内容大家可以通过官方文档或其它渠道进行补充,主要还是分享实践经验及注意点. 涉及到的内容 LVS HAProxy Harbor Etcd Kubernetes (master.node) 整体拓扑…
近几年容器相关的技术大行其道,容器.docker.k8s.mesos.service mesh.serverless等名词相信大家多少都有听过,国内互联网公司无一不接触和使用相关技术. 健康之路早在2016年就启动了容器化的评估.眼观现在容器化相关技术的稳定性和可行性也得到了很多的验证,在这样的前提下我们启动了容器化实践之路. 当然在实践的过程中我们也不乏遇到了一些问题,我们希望通过文字来记录和分享我们遇到的一些事情,也希望为大家的容器化之路带来帮助. 概要 目标读者 此系列文章不会涉及到很多的…
在我们对一个API站点进行微服务化的过程中,使用KONG网关可以实现以下几个效果: 1. 业务线无感知,其实内部已经被Kong转到其他站点上执行了,这对业务线特别友好. 2. 可以实现租户级/接口级灰度验证.(KONG的路由规则是根据URL判断的,因此需要URL上包含租户ID) 比如,原先是业务方直接通过URL调用API站. 要使用KONG进行灰度转调的话,首先把api.cc.com的DNS解析到KONG的IP上. 这样,就会把所有业务线对api.cc.com的请求转到KONG.然后在KONG上…
对于刚开始学习kong网关,总是一脑子浆糊迷迷糊糊.虽然已经安装好,但却不知道接下来如何下手, 因为包含项太多:service.routes.upstream.consumer.plugins等等.一时不知从何下手配置服务. 最后又重新打开kong网关的基本介绍,看完之后决定先把问题简单化.所以第一步就先搭建一个service和route, 随后又构建了upstream.这三部分完成之后,一个基本的网关功能就算实现了. 简单画了一个流程图,基本表现了kong网关的调用过程.一共分为五部分:用户客…
上次在虚拟机里安装kong网关后,因为版本(1.4)太高,目前Kong Dashboard无法支持, 后续发现Git上有个开源工具Kong admin ui,下载源码并部署到NGINX. 但是发现使用过程中能够正常添加service服务,但是在添加路由route时始终提示校验不通过的错误. 最后决定使用最原始的官方提供的命令操作(参考地址:https://docs.konghq.com/1.4.x/admin-api/) 结合postman工具使用,发现操作起来并不复杂.其实就是kong本身提供…
写在前面: 持续记录一下自己在解决api网关kong上的各种问题. 1.关于Kong网关 这是官网地址:https://konghq.com/ 2.通过brew安装postgres 因为kong的数据持久化是 brew install postgresql initdb /usr/local/var/postgres -E utf8 pg_ctl -D /usr/local/var/postgres -l logfile start /usr/local/bin/psql -d postgres…