学习笔记:k8s详细教程-调整版/k8s详细教程.md · yooome/LearningNotes - Gitee.com
虽然每个Pod都会分配一个单独的Pod IP,然而却存在如下两问题:
1)Pod IP 会随着Pod的重建产生变化
2)Pod IP 仅仅是集群内可见的虚拟IP,外部无法访问
这样对于访问这个服务带来了难度。因此,kubernetes设计了Service来解决这个问题。
Service可以看作是一组同类Pod对外的访问接口。借助Service,应用可以方便地实现服务发现和负载均衡。
1、kube-proxy支持三种工作模式:
1.1、userspace模式
userspace模式,kube-proxy会为每一个Service创建一个监听端口,发向ClusterIP的请求会被Iptables规则重定向到kube-proxy监听的端口上,kube-proxy根据LB算法选择一个监听的pod并和其建立连接,并将请求转发到pod上。
1.2、iptables模式
iptables模式,kube-proxy为Service后端的每个Pod创建iptables规则,直接将发向ClusterIP的请求重定向到Pod。
1.3、ipvs模式
ipvs模式和iptables模式类似,kube-proxy监控pod的状态并创建对应的ipvs规则。
2、Service实践