一、服务拓扑
服务拓扑机制从Kubernetes1.17版本开始引入,目标是实现基于Node拓扑的流量路由,例如将发送到某个服务的流量优先路由到与客户端相同Node的Endpoint上,或者路由到与客户端相同的Zone的那些Node的Endpoint上。
在默认情况下,发送到一个Service的流量会被均匀的转发到每个后端Endpoint上,但无法根据复杂的拓扑信息设置复杂的路由策略。服务拓扑机制的引入就是为了实现基于Node拓扑的服务器路由,允许Service创建者根据来源Node和目标Node的标签来定义流量路由策略。
通过对来源(Source) Node和目标(destination)Node标签的匹配,用户可以根据业务需求对Node进行分组,设置有意义的的指标值来标识“较近”或者“较远”的属性。例如:对于公有云环境,通常有区域(Zone或Region)的划分,云平台倾向于把服务的流量限制在同一个区域内,这通常是因为跨区域网络流量会收取额外的费用。另外一个例子,把流量路由到由DaemonSet管理的当前Node的Pod上。又如希望把流量保持在相同机架的Node上,已获得更