原创:80后程序员的世界观(微信公众号ID:zhuangmeilicom),欢迎分享,转载请保留出处。
本文分三个部分:
- kubernetes 集群内部的服务注册与发现
- kubernetes consul实现服务注册与发现
- kubernetes 跨集群服务注册与发现
一、kubernetes 集群内部的服务注册发现
k8s平台通过kube-dns或者coreDNS实现了服务注册和发现功能。对于应用来讲,这个功能是透明的!
服务注册:
比如服务serviceA只要在yaml文件中定义servicename为serviceA即可。当这个yaml文件被k8s平台调度执行的时候,就会自动把这个serviceA注册到k8s平台;
服务发现(基于DNS):
其他服务,比如serviceB如果要使用这个服务(serviceA),直接使用http://serviceA 或者http://serivceA.${namespace_name}(不同namespace需要在url里进一步制定namespace_name)作为url即可访问。
但是有时候,我们基于某些考量,不想使用k8s本身的服务注册和发现功能,那么我们还有另外一种选择,那就是consul。
二、kubernetes consul实现服务注册发现
kubernetes集群使用consul有两种方式:一种是侵入式的,一种是非侵入式的。
方案一、sidecar方式
在编写pod的yaml的时候,需要附带额外的consul-agent container。正常的工作container通过configmap把服务信息传递到consul-agent con
Kubernetes跨集群服务注册与发现:Consul方案解析

本文探讨了Kubernetes集群内部及跨集群服务注册和发现的方案,包括Kubernetes自带的DNS、Consul sidecar以及Consul多数据中心机制,并分析了这些方案在实际操作中的网络要求和局限性。
最低0.47元/天 解锁文章
51

被折叠的 条评论
为什么被折叠?



