认识kube-proxy
除了Kubelet,每个工作节点还会运行kube-proxy,用于确保客户端可以通过Kubernetes API连接到你定义的服务。kube-proxy确保对服务IP和端口的连接最终能到达支持服务(或者其他,非pod服务终端)的某个pod处。如果有多个pod支撑一个服务,那么代理会发挥对pod的负载均衡作用。
感觉有些东西我们还是不够连贯我看有时间慢慢改,基础核心的概念还是需要眼熟的,后面会有大量的图片实践可以让我们理解云原生
为什么被叫作代理
kube-proxy最初实现为userspace代理。利用实际的服务器集成接收连接,同时代理给pod。为了拦截发往服务IP的连接,代理配置了iptables规则(iptables是一个管理Linux内核数据包过滤功能的工具),重定向连接到代理服务器。
userspace代理模式
kube-proxy之所以叫这个名字是因为它确实就是一个代理器,不过当前性能更好的实现方式仅仅通过iptables规则重定向数据包到一个随机选择的后端pod,而不会传递到一个实际的代理服务器。这个模式称为iptables代理模式
iptables代理模式
两种模式的主要区别是ÿ