Docker 个网络 Kubernetes/Rancher

Docker networks in Kubernetes/Rancher

我一直在尝试使用 Rancher 将我的 SimpleLogin Docker 容器转换为 Kubernetes。但是其中一个步骤需要我创建一个网络。

sudo docker network create -d bridge \
--subnet=240.0.0.0/24 \
--gateway=240.0.0.1 \
sl-network

我真的找不到在 Kubernetes/Rancher 上执行此操作的方法。 如何在 Kubernetes 中设置类似上述命令的等效网络?

如果您想了解有关此网络应该做什么的更多信息,可以找到它 here

你不知道。 Kubernetes 有自己的网络生态系统,主要表现为每个 Pod 和服务都在同一个网络上。您不能在其中创建单独的子网,无法为每个逻辑应用程序创建单独的网络。您也无法控制 Kubernetes 中网络的 IP 范围(在 Docker 中通常也不需要)。

通常你可以在Kubernetes Pods 之间进行通信,方法是在每个Kubernetes 前面放置一个Service,然后使用Service 的DNS name 作为主机名。如果所有部分都运行在同一个命名空间中,并且数据库前面的服务被命名为sl-db,那么webapp Pod可以使用sl-db作为主机名部分DB_URI 设置。

通读您 link 的文档,您可能需要做一些额外的工作来设置 Postfix MTA。请注意,在此设置中,它看起来像是 Docker 之外的 运行;您必须将设置移植到 Kubernetes 内部的 运行 或配置其 mynetworks 设置以包括包含 Kubernetes 节点的网络。您还需要设置 Kubernetes ConfigMaps 和 Secrets 来保存此设置所需的各种配置文件和证书。