为 Rancher 中的少数私有映射 public 容器端口

Map public container port for few private in Rancher

如何为 Rancher Cattle 中的几个私有端口映射容器的单个 public 端口以使端口下沉?也许我应该编写自定义 HAProxy 配置?

例如:

5555/tcp -> 5555/tcp
5555/tcp -> 5556/tcp
5555/tcp -> 5557/tcp
5555/tcp -> 5558/tcp

您想要的在 Rancher 中很容易实现。

实现方式之一:

  1. "Add Stack" 在 Rancher
  2. "Add Service" one(在端口 5555 上有 tcp 服务 运行ning)到堆栈。
  3. "Add Service" two(在端口 5556 上有 tcp 服务 运行ning)到堆栈。
  4. "Add Service" three(在端口 5557 上有 tcp 服务 运行ning)到堆栈。
  5. "Add Service" four(在端口 5558 上有 tcp 服务 运行ning)到堆栈。
  6. "Add Load Balancer" 到这个堆栈并配置它。
    • 使用协议添加端口规则:tcp,端口:5555,目标为 one, 端口:5555
    • 使用协议添加端口规则:tcp,端口:5555,目标为 two,端口:5556
    • 使用协议添加端口规则:tcp,端口:5555,目标为 three,端口:5557
    • 使用协议添加端口规则:tcp,端口:5555,目标为 four,端口:5558

如果您希望此负载均衡器在所有主机上 运行,您可以在创建负载均衡器服务时选择该选项。

此外,如果您的服务 运行ning 在 HTTP 而不是 TCP 上,您也可以使用该选项。

手动完成此操作后,您可以"View Config" 获取docker-compose.ymlrancher-compose.yml 文件。您可以使用它们创建自定义目录项并一键部署!

查看 community-catalog for inspiration and the docs 以获取说明。