【问题标题】:Is a Docker network the same thing as a Kubernetes namespace? [closed]Docker 网络与 Kubernetes 命名空间是一回事吗? [关闭]
【发布时间】:2023-03-13 06:20:01
【问题描述】:

简单的问题,但我还没有找到任何明确的答案... Docker 网络的概念,单主机还是多主机,与 Kubernetes 的命名空间概念是一样的吗?

【问题讨论】:

    标签: docker networking kubernetes docker-swarm


    【解决方案1】:

    据我了解

    命名空间:命名空间是可以位于同一个 k8s 集群之上的虚拟集群。命名空间的目的是在团队及其环境之间提供逻辑分离。例如,如果有多个 pod 的多层应用程序,那么它有助于使用相同命名空间的 pod 到 pod 通信。现在通过另一个命名空间,相同的多层应用程序可以部署在同一个 k8s 集群上而不会受到干扰或矛盾。因此,它提供了逻辑隔离。

    Docker 网络:它回答了 2 个或多个容器如何在同一主机上相互通信。

    由于 Kubernetes 提供了多种网络解决方案。例如 flannel、calico,它们有不同的用途。

    我附上了一个链接,供进一步研究比较。

    networking-solutions-for-kubernetes

    Kubernetes 处理网络的方式与默认情况下的 Docker 有所不同。有 4 个不同的网络问题需要解决。

    k8s-networking

    【讨论】:

      【解决方案2】:

      它们非常不同。

      docker network 是一个常规网络,它在容器之间传输数据包并被容器用来与主机通信(通过 docker0 桥和 veth 对)。

      kubernetes namespace 是一种在多个用户之间隔离/划分/分离集群资源并提供名称范围的逻辑方式。

      【讨论】:

        【解决方案3】:

        Kubernetes 命名空间只是为了让用户轻松管理他们的工作负载。例如,您可以在两个命名空间中有两个名称完全相同的服务,但有两个不同的内部 DNS 名称(kubernetes 将命名空间添加为 dns 名称的一部分)。此外,对于多租户,您可以使用 RBAC 分隔每个租户以供其访问。

        然而docker网络只是一种网络模式,容器如何与其他人通信,kubernetes使用docker网络的容器网络模式。

        【讨论】:

          猜你喜欢
          • 2019-01-23
          • 1970-01-01
          • 2021-09-02
          • 1970-01-01
          • 2020-10-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-03-13
          相关资源
          最近更新 更多