文章目录
-
service【svc】
-
- Service 的概念
-
service介绍
-
service网络服务模式【概念】
-
- ClusterIp 【内部访问】
-
NodePort【外部访问】
-
LoadBalancer【外部负载均衡】
-
ExternalName【直达模式】
-
特别说明
-
service网络服务模式【实现】
-
- ClusterIP【内部访问】
-
- Headless Service【无头服务,无头服务也是一种Cluster IP,只不过是一种特殊的Cluster IP】
-
NodePort【外部访问】
-
LoadBalancer【外部负载均衡】
-
ExternalName【直达模式】
-
实现原理
-
k8s代理模式的分类
-
- VIP 和 Service 代理
-
为何不使用 round-robin DNS?
-
userspace代理模式
-
iptables代理模式
-
ipvs代理模式
-
service实操
===========================================================================
- Kubernetes Service定义了这样一种抽象:一个Pod的逻辑分组,一种可以访问它们的策略 —— 通常称为微服务。这一组Pod能够被Service访问到,通常是通过Label Selector
- Service能够提供负载均衡的能力,但是在使用上有以下限制:
只提供 4 层负载均衡能力,而没有 7 层功能,但有时我们可能需要更多的匹配规则来转发请求,这点上 4 层负载均衡是不支持的
-
Service(简称svc)定义了Pod的逻辑集合和访问该集合的策略,是真实服务的抽象。Service提供了一个统一的服务访问入口以及服务代理和发现机制,用户不需要了解后台Pod是如何运行。Service通过Label找到Pod组。因为Service是抽象的,所以在图表里通常看不到它们的存在,这也就让这一概念更难以理解。
-
svc在整个集群中负责网络服务(并不是底层容器网络实现),因为pod实际上是不可靠的,可能会被停止或者重启,一旦重启就会导致IP地址发生变化,SVC的功能就是使用kube-proxy进行网络的控制,pod的IP发生变化上层业务并不会中断,kube-proxy采用负载均衡等策略实现网络服务。
-
例如通过定义一个RC启动了4个pod,如何让外部能优雅的调用到这几个po