【问题标题】:Which ingress controller should I use to support WebSocket in a AWS k8s cluster deployed by kops?在 kops 部署的 AWS k8s 集群中,我应该使用哪个入口控制器来支持 WebSocket?
【发布时间】:2019-06-03 01:08:21
【问题描述】:

我在 AWS 上通过 kops 安装了一个集群。现在我需要向外界公开一个 WebSocket 服务(启用安全性,wss://)。有不同的入口控制器,nginx、traefik、ELB、ALB。建议使用哪一个,并且:

  • 易于部署和配置
  • 支持http://、https://、ws://、wss://

【问题讨论】:

    标签: kubernetes kubernetes-ingress kops nginx-ingress traefik-ingress


    【解决方案1】:

    在我看来,这个问题是基于意见的,而且过于宽泛。请尽量避免这样的问题,因为没有一种最好的解决方案。

    我能够找到大量关于 nginx 和 websockets 的资源。我没有配置此功能的生产经验,但我认为您可能会觉得这很有帮助。

    NGINX 是各种 Ingress Controller 的流行选择 特点:

    • Websocket,它允许您对 Websocket 应用程序进行负载平衡。

    • SSL 服务,允许您对 HTTPS 应用程序进行负载平衡。

    • 重写,允许您在将请求发送到应用程序之前重写请求的 URI。

    • Session Persistence(仅限 NGINX Plus),它保证来自同一个客户端的所有请求总是传递给同一个客户端 后端容器。

    • 支持 JWT(仅限 NGINX Plus),这允许 NGINX Plus 通过验证 JSON Web 令牌 (JWT) 来验证请求。

    nginx 最重要的部分是annotation - 它指定哪些服务是 Websocket 服务。更多关于用法和configuration. 的信息也很有用tutorial 关于nginx 入口的配置,尽管它是关于GKE 的,它可能很有用。

    【讨论】:

      猜你喜欢
      • 2020-08-29
      • 1970-01-01
      • 1970-01-01
      • 2019-03-23
      • 2020-08-21
      • 2021-07-13
      • 2019-06-02
      • 2022-08-18
      • 1970-01-01
      相关资源
      最近更新 更多