API网关Kong学习笔记(九):Kong对WebSocket的支持

作者: 李佶澳   转载请保留:原文地址   更新时间:2019-03-05 14:57:13 +0800

说明

Kong-Ingress-Controller的版本是0.2.0,Kong的版本是0.14.1,是用下面的方式部署的:

./kubectl.sh create -f https://raw.githubusercontent.com/introclass/kubernetes-yamls/master/all-in-one/kong-all-in-one.yaml

相关笔记

如果是刚开始学习kong,直接从1.x开始,0.x已经不再维护,0.15是0.x的最后一个版本。

前19篇笔记是刚开始接触kong时记录的,使用的版本是0.14.1,当时对kong一知半解,笔记可能比较杂乱,从第二十篇开始是再次折腾时的笔记,使用的版本是1.0.3,笔记相对好一些。

从0.x到1.x最需要关注的变化有:1. 插件部分全部使用pdk;2. 0.x中不鼓励使用的特性都被移除了;3. 全部使用kong.db,以前的独立的dao彻底清除,代码简洁清晰了。

《API网关Kong学习笔记(零):使用过程中遇到的问题以及解决方法》

《API网关Kong学习笔记(一):Nginx、OpenResty和Kong的基本概念与使用方法》

《API网关Kong学习笔记(二):Kong与Kubernetes集成的方法》

《API网关Kong学习笔记(三):功能梳理和插件使用-基本使用过程》

《API网关Kong学习笔记(四):功能梳理和插件使用-认证插件使用》

《API网关Kong学习笔记(五):功能梳理和插件使用-安全插件使用》

《API网关Kong学习笔记(六):Kong数据平面的事件、初始化与插件加载》

《API网关Kong学习笔记(七):Kong数据平面Plugin的调用与实现》

《API网关Kong学习笔记(八):Kong Ingress Controller的实现》

《API网关Kong学习笔记(九):Kong对WebSocket的支持》

《API网关Kong学习笔记(十):Kong在生产环境中的部署与性能测试方法》

《API网关Kong学习笔记(十一):自己动手写一个插件》

《API网关Kong学习笔记(十二):插件的目录中schema分析》

《API网关Kong学习笔记(十三):向数据库中插入记录的过程分析》

《API网关Kong学习笔记(十四):Kong的Admin API概览和使用》

《API网关Kong学习笔记(十五):KongIngress的定义细节》

《API网关Kong学习笔记(十六):Kong转发请求的工作过程》

《API网关Kong学习笔记(十七):Kong Ingress Controller的使用》

《API网关Kong学习笔记(十八):Kong Ingress Controller的CRD详细说明》

《API网关Kong学习笔记(十九):Kong的性能测试(与Nginx对比)》

《API网关Kong学习笔记(二十):Kong 1.0.3在Kubernetes中的部署方法》

《API网关Kong学习笔记(二十一):Kong的开发环境(IntelliJ Idea)》

《API网关Kong学习笔记(二十二):Kong 1.0.3源代码快速走读》

《API网关Kong学习笔记(二十三):Kong 1.0.3的plugin/插件机制的实现》

对websocket的支持

nginx原生支持websocket,基于nginx的kong对websocket也支持,见kong proxy-websocket-traffic

部署websocket应用

./kubectl.sh create -f https://raw.githubusercontent.com/introclass/kubernetes-yamls/master/all-in-one/websocket-all-in-one.yaml

上面的操作部署一个为名为demo-webocket的容器,并设置了ingress,绑定域名为websocket.com。

用wscat可以通过kong,与websocket应用建立websocket连接(kong-proxy以NodePort的方式暴露服务,服务端端口为30198):

$ wscat  -c ws://192.168.33.11:30198/echo -H "Host: websocket.com"
connected (press CTRL+C to quit)
> hello
< hello
>

wscat的使用见: wscat: 使用wscat连接websocket

参考

  1. wscat: 使用wscat连接websocket
  2. kong proxy-websocket-traffic

本文原创首发于网站:www.lijiaocn.com

QQ交流群

区块链实践互助QQ群:576555864

Kubernetes实践互助QQ群:947371129

Prometheus实践互助QQ群:952461804

Kong/Envoy实践互助QQ群:952503851

Ansible实践互助QQ群:955105412

Copyright @2011-2019 All rights reserved. 转载请添加原文连接,合作请加微信lijiaocn或者发送邮件: [email protected],备注网站合作 友情链接: lijiaocn github.com