searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

如何在 k8s 部署并配置 websocket 服务

2023-07-10 03:45:30
493
0

websocket 服务可以在客户端和服务器之间提供全双工、实时的数据交换,在现代软件开发中应用越来越多。那如何在 kubernetes 集群中部署并配置 websocket 服务呢?

ingress 配置

如果通过 ingress 配置 ws 路由,需要在 ingress 中配置如下转发:

backend:
  service:
    name: websocket-service
    port:
      number: 80

nginx 配置

如果通过 nginx 配置 websocket 转发路由,则需在 nginx 中配置如下路由:

location /ws {
    proxy_set_header Upgrade websocket;
    proxy_set_header Connection Upgrade;
    proxy_pass http://ws_service:8000/;
}

其中比较重要的是指定两个 header : Connection 及 Upgrade。如上配置后,在服务代码中可以使用熟悉的 websocket 包去处理 ws 逻辑了,比如 golang 中流行的包 github.com/gorilla/websocket

 

 

0条评论
作者已关闭评论
b****m
3文章数
0粉丝数
b****m
3 文章 | 0 粉丝
原创

如何在 k8s 部署并配置 websocket 服务

2023-07-10 03:45:30
493
0

websocket 服务可以在客户端和服务器之间提供全双工、实时的数据交换,在现代软件开发中应用越来越多。那如何在 kubernetes 集群中部署并配置 websocket 服务呢?

ingress 配置

如果通过 ingress 配置 ws 路由,需要在 ingress 中配置如下转发:

backend:
  service:
    name: websocket-service
    port:
      number: 80

nginx 配置

如果通过 nginx 配置 websocket 转发路由,则需在 nginx 中配置如下路由:

location /ws {
    proxy_set_header Upgrade websocket;
    proxy_set_header Connection Upgrade;
    proxy_pass http://ws_service:8000/;
}

其中比较重要的是指定两个 header : Connection 及 Upgrade。如上配置后,在服务代码中可以使用熟悉的 websocket 包去处理 ws 逻辑了,比如 golang 中流行的包 github.com/gorilla/websocket

 

 

文章来自个人专栏
我的云计算碎碎念
3 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0