在Hetzner Cloud上设置Docker Swarm,通过其公共IP地址在Docker节点之间路由流量是否安全?

时间:2019-01-29 02:57:53

标签: docker containers cluster-computing swarm

我是Docker的新手,但是我已经学到了足够的知识,并且我将在Hetzner Cloud Platform(cloud.hetzner.com)上设置Docker Swarm Cluster。但是,问题在于他们没有为每个实例计算机提供专用IP地址。我担心使用命令

使用每个节点的公共IP地址来加入Docker Swarm集群会省钱吗?
docker swarm join --token <TOKEN_HERE> PUBLIC_IP:2377

我暴露了防火墙上的必需端口,以便Docker群能够运行。我已经多次搜索过Google,但是显示的结果全都是关于“如何设置Docker”的,没有回答我的特定问题。请提供一些有用的信息。谢谢

2 个答案:

答案 0 :(得分:0)

我问了自己一个相同的问题,据我了解的dockers文档(https://docs.docker.com/engine/swarm/how-swarm-mode-works/pki/),该集群使用tls加密了它与通讯的通信(对于https->使用tls的http也是一样)。因此,这些群应该是安全的(必须)。

另一点是与覆盖网络的通信。在那里,您也应该使用加密:https://docs.docker.com/v17.09/engine/userguide/networking/overlay-security-model/ "INSERT INTO [tblClasses/Students] (StudentID, ClassID) " & _ "SELECT StudentID FROM tblStudent WHERE Username = @StudentUser " & _ "SELECT ClassID FROM tblClasses WHERE ClassName = @ClassName ;"

第三点是docker守护程序安全性。您可以将每个群集节点docker守护程序配置为通过http在公共端口上进行侦听。如果使用此功能,则需要使用自己的tls证书进行保护。默认情况下,守护程序仅侦听本地unix端口,大多数情况下都可以。

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

如果某些业务应用程序需要更高的安全性,则还可以构建具有真正1GBit Lan连接的根服务器群集,但这会贵一些。

答案 1 :(得分:0)

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.

那应该是您想要的。我认为您创建问题时不可用。