1

我是 Docker 新手,但我已经学到了足够多的知识,我将在 Hetzner 云平台 (cloud.hetzner.com) 上设置 Docker Swarm 集群。然而问题是他们没有为他们的每台实例机器提供私有 IP 地址。我担心使用每个节点的公共 IP 地址使用命令加入 Docker Swarm 集群是否可以节省

docker swarm join --token <TOKEN_HERE> PUBLIC_IP:2377

我在防火墙上暴露了所需的端口,以便 Docker swarm 能够运行。我在 Google 上搜索了很多次,但显示的结果都是关于“如何设置 Docker”的,没有回答我的具体问题。请给我一些有用的信息。谢谢

4

2 回答 2

1

我问自己同样的问题,据我了解 dockers 文档(https://docs.docker.com/engine/swarm/how-swarm-mode-works/pki/),swarm 加密它与 tls 的通信(相同用于 https -> 带有 tls 的 http)。所以蜂群应该是安全的(足够)。

另一点是与覆盖网络的通信。在那里你也应该使用加密:https docker network create --opt encrypted --driver overlay --attachable my-attachable-multi-host-network ://docs.docker.com/v17.09/engine/userguide/networking/overlay-security-model/ 。

第三点是 docker 守护进程的安全性。您可以配置每个 swarm 节点 docker 守护程序以通过 http 侦听公共端口。如果你使用它,你需要用你自己的 tls 证书来保护它。默认情况下,守护进程只侦听本地 unix 端口,大部分情况下都可以。

如果您想要更安全,Hetzners Bare Metal Root 服务器可以与虚拟专用网络 vSwitch 连接。这应该更安全。

如果你对一些业务应用程序需要更高的安全性,你也可以建立一个真正的 1GBit 局域网连接的根服务器集群,但这有点贵。

于 2019-03-27T16:02:42.460 回答
1

Hetzner Cloud 提供了一个名为Networks的功能:

Let your servers communicate through a private network and setup complex network
topologies. Ideal for running a kubernetes cluster or a database server that should 
not be reachable publicly.

这应该是你正在寻找的。我认为在您创建问题时它不可用。

于 2019-12-05T11:38:07.847 回答