如何从 docker swarm 切换到 kubernetes?

如何从 docker swarm 切换到 kubernetes?

我们在四台 aws ec2 ubuntu 机器上设置了 docker swarm。其中两台充当管理器。

现在,我们不再进行自我管理,而是希望移植到类似 kubernetes 的 aks/eks 这样的托管服务。

到目前为止我还没有找到任何东西,所以考虑将我们的工作负载迁移到 kubernetes。

作为其中的一部分,我们正在为不同的数据库运行 docker 服务命令,以便每当需要测试数据库(postgres、oracle、mysql 等)时,我们都会在 docker swarm 中运行命令来创建服务,并获得一个随机端口,我们使用管理器公共 ip 进行连接。

例子:

对于 postgres:

docker service create --name postgres_31 -p target=5432 -e POSTGRES_PASSWORD=mysecretpassword -e POSTGRES_USER=admin -e POSTGRES_DB=testdb -d postgres:9.6.18

以上将为 postgres 的 5432 端口创建一个随机端口

如下所示,它生成了 30048

因此,用户连接管理器节点的公共 IP 和端口 30048,该端口将重定向到数据库的 5432 端口。

docker service ls
p45fazswicxc        postgres_31         replicated          1/1                 postgres:13                                  *:30048->5432/tcp

通过这种方式,我们曾经在 swarm 上创建多个 postgres 数据库(或其他数据库)(用于开发团队的测试目的)。

如何在 kubernetes 上复制此环境?

在 kubernetes 中,它似乎为每个部署的负载均衡器类型服务生成单独的公共 IP,但我们需要一个。我考虑在外部保留一个 Azure 负载均衡器并重定向所有内容,但我猜配置仅适用于 http,并且只能用于单个端口,而不能用于多个随机端口,如果我错了,请纠正我。

相关内容