ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Service服务发现(四层流量负载均衡)

Service服务发现(四层流量负载均衡)

一,核心背景

Pod IP是动态的,重建/漂移后IP会发生变化,无法直接作为固定访问地址。Service提供稳定虚拟IP(ClusterIP)+DNS域名,统一接入一组Pod,实现四层负载均衡,屏蔽Pod动态变化。

1.Service底层转发原理

1)流量链路:客户端请求>Service虚拟IP>Endpoints(健康Pod列表)>真实pod

2)kube-proxy两种代理模式比对

iptables(默认):内核iptables链式规则,仅随机负载均衡,上千条规则后性能衰减,中小集群使用。

ipvs:内核哈希表,支持轮询,最小连接等多种调度算法,海量服务性能稳定,大型生产集群首选。

2.Service四大类型完整实战

1)ClusterIP(默认)

仅集群内部可访问,分配内网虚拟IP,用于微服务内部调用。配置port(服务端口),targetPort(pod容器端口)

2)NodePort

在所有节点开放30000~32767固定端口。外部通过节点IP:端口访问,适合临时测试。

3)headless(无头服务,clusterIP:Node)

不分配虚拟IP,DNS直接返回所有后端Pod真实IP,StatefulSet有状态服务专用(Mysql,redis集群),保证每个pod独立域名。

4)loadBalan云厂商原生提供公网负载均衡;裸机vm环境通过metailb模拟,分配独立外网IP,生产对外标准方案。

3.lngress七层网关基础

Service仅四层端口转发,ingress实现域名,路径L7路由。

部署nginx ingress Controller控制器;

编写ingress规则绑定域名,路径到后端Service;

本地hosts绑定域名即可浏览器访问。

返回列表