【发布时间】:2019-12-09 20:06:25
【问题描述】:
有人可以告诉我,服务发现是如何在 docker swarm 和 kubernetes 中发生的,以了解其中的区别,或者即使有任何资料如书籍或文档来解释这一点,然后分享它
【问题讨论】:
标签: docker kubernetes docker-swarm
有人可以告诉我,服务发现是如何在 docker swarm 和 kubernetes 中发生的,以了解其中的区别,或者即使有任何资料如书籍或文档来解释这一点,然后分享它
【问题讨论】:
标签: docker kubernetes docker-swarm
Kubernetes 与 Docker Swarm
Docker Swarm 和 Kubernetes 都提供了不同的服务发现方法。在 K8s 中,您需要手动将容器定义为服务。另一方面,Swarm 中的容器可以通过虚拟私有 IP 地址和服务名称进行通信,而不管其底层主机如何。
Kubernetes 网络是扁平的,因为它使所有 pod 都可以相互通信。在 Kubernetes 中,该模型需要两个 CIDR。第一个需要 pod 获取 IP 地址,另一个用于服务。
在 Docker Swarm 中,加入集群的节点会创建覆盖 Swarm 中所有主机的服务覆盖网络,以及用于容器的仅主机 Docker 桥接网络。在 Docker Swarm 中,用户可以在自己创建覆盖网络时选择对容器数据流量进行加密。
Kubernetes 通过 pod 提供简单的服务组织
使用 Kubernetes,您无需修改应用程序即可使用不熟悉的服务发现机制。 Kubernetes 为 Pod 提供了自己的 IP 地址和一组 Pod 的单个 DNS 名称,并且可以在它们之间进行负载平衡。
Kubernetes
kubernetes 中有提供服务发现信息的示例。
更多信息来自kubernetes documentation。
Docker 群
docker swarm 中有提供服务发现信息的示例。
有关于如何使用Service Discovery under Docker Swarm Mode的培训。
还有来自linux tutorials的更多信息。
【讨论】: