一、服务三种常用类型
1. LoadBalancer类型
- 工作原理:与NodePort类似,在每个节点上启用端口暴露服务,同时Kubernetes会请求底层云平台(如阿里云、腾讯云、AWS等)的负载均衡器,将每个Node([NodeIP]:[NodePort])作为后端添加。
- 自动化实现:云厂商通过官方实现的控制器程序自动发现LoadBalancer类型的Service,并将其关联到云厂商的负载均衡器上,实现访问自动转发。
- 适用场景:主要适用于公有云环境,若云平台不支持则需手动将节点信息添加到负载均衡器。
2. Service底层实现
- 核心功能:
- 负载均衡:由iptables或ipvs实现流量分发
- 服务发现:通过endpoint控制器实现(对应kubectl get ep命令)
- 网络模式:
- iptables:默认模式,通过Linux内核的netfilter机制实现流量转发</