【问题标题】:How to use consul/registration for service discovery on kubernetes nodes?如何在 kubernetes 节点上使用 consul/registration 进行服务发现?
【发布时间】:2017-05-08 01:45:37
【问题描述】:

我想在我的 kubernetes 节点上使用 consul/registration 使用注册器进行服务发现。 在如何设置领事方面需要帮助。

我使用 kubeadm 在 openstack 上部署了 1 个 master 和 2 个 minions 的 kubernetes。 对于 consul 和注册,我需要在每个节点 master 和 minion 上运行 consul 容器吗?他们将如何相互交流?

【问题讨论】:

  • 只是出于好奇,你为什么不使用kubernetes默认的服务发现呢? (使用 etcd 等。)
  • 根据我对 consul 与 etcd 的研究,我发现了以下内容:使用 etcd 或 Zookeeper 时,服务目录如何工作、存储什么信息以及如何构建它取决于您。 Flynn 的discovered 或Netflix 的Eureka 等专门的服务发现系统围绕服务语义提供了更多的结构。 Consul 是一种混合体,因为它实际上是一个内置在通用配置存储中的专用服务发现系统。 & consul 也有健康检查。
  • Kubernetes 具有服务发现(服务资源)和配置存储原语(ConfigMap),以及健康检查。除非您正在做一些不寻常的事情,否则您真的不需要将 Consul 添加到组合中。我建议在尝试走这条路之前多阅读 Kubernetes 的特性。
  • 正如@iamnat 和 Pixel 所说,Kubernetes 在集群中的每个主机上运行一个代理。代理扮演服务器端发现负载均衡器的角色。为了向服务发出请求,客户端使用主机的 IP 地址和服务分配的端口通过代理路由请求。然后,代理将请求透明地转发到集群中某处运行的可用服务实例。
  • 感谢您的回复我已经开始使用 kube-dns 进行服务发现

标签: kubernetes consul service-discovery registrator


【解决方案1】:

您可能想看看使用https://github.com/tczekajlo/kube-consul-register 而不是使用注册器。

允许您注册或注销服务/节点/容器并应用 Consul 的所有好处。您可以作为副本集或部署在外部和集群内运行。

【讨论】:

    猜你喜欢
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    • 1970-01-01
    • 2021-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多