You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kubernetes集群部署/使用sslh?求集成Ingress Controller方案

在Kubernetes集群中部署并集成sslh与Nginx Ingress Controller的方案

我之前刚好折腾过这个场景,分享下验证可行的实操方案,既能实现80端口分流SSH和HTTP流量,又能和Nginx Ingress无缝集成。

一、基础部署:用DaemonSet运行sslh

因为sslh需要监听节点的外部端口(这里是80),用DaemonSet部署最合适——每个节点都会运行一个sslh实例,确保外部流量不管打到哪个节点都能被处理。

示例DaemonSet配置

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: sslh
  namespace: kube-system
spec:
  selector:
    matchLabels:
      app: sslh
  template:
    metadata:
      labels:
        app: sslh
    spec:
      hostNetwork: true  # 直接使用节点网络,方便监听节点80端口
      containers:
      - name: sslh
        image: linuxserver/sslh:latest  # 这个镜像维护得比较好,参数配置友好
        args:
          - "--listen"
          - "0.0.0.0:80"  # 监听节点的80端口
          - "--ssh"
          - "ssh-service.default.svc.cluster.local:22"  # 转发SSH流量到集群内的SSH服务(替换成你的服务地址)
          - "--http"
          - "nginx-ingress-controller.ingress-nginx.svc.cluster.local:80"  # 转发HTTP流量到Nginx Ingress的服务
          - "--foreground"  # 让容器在前台运行,避免退出
        securityContext:
          privileged: true  # 需要特权模式才能处理流量转发

关键配置说明

  • hostNetwork: true:让sslh直接使用节点的网络栈,这样能直接监听节点的80端口,不用额外配置hostPort。
  • 后端服务地址:
    • ssh-service.default.svc.cluster.local:22:替换成你集群中提供SSH服务的Service地址(如果是要连接节点本身的SSH,这里可以填127.0.0.1:22)。
    • nginx-ingress-controller.ingress-nginx.svc.cluster.local:80:这个是Nginx Ingress Controller的Service默认地址,你可以通过kubectl get svc -n ingress-nginx确认具体地址和端口。

二、集成Nginx Ingress Controller的核心逻辑

这套方案的核心是流量分层:

  1. 外部流量先打到节点的80端口,被sslh接收;
  2. sslh通过协议识别,把SSH流量转发到集群内的SSH服务,把HTTP流量转发到Nginx Ingress Controller;
  3. Nginx Ingress继续按原有规则处理HTTP/HTTPS请求,完全不影响原有Ingress配置。

三、验证功能是否正常

  1. 验证HTTP流量:用curl http://<节点IP>,应该能返回你Ingress配置的正常HTTP响应;
  2. 验证SSH流量:用ssh <用户名>@<节点IP> -p 80,应该能成功连接到你的SSH服务(如果是节点本身的SSH,就是节点的用户)。

踩过的小坑提醒

  • 如果节点本身的80端口已经被其他服务占用(比如直接运行的Nginx),需要先停止该服务,否则sslh启动会失败;
  • 如果你不想用hostNetwork,可以改用hostPort: 80,但要注意节点端口冲突的问题;
  • 部分云厂商的节点安全组需要开放80端口的TCP流量,否则外部无法访问。

内容的提问来源于stack exchange,提问作者JoaoCC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:33:33