kubernetes实践之五十一:kube-proxy运行机制分析
发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,一: Service,Endpoints与Pod的关系Kube-proxy进程获取每个Service的Endpoints,实现Service的负载均衡功能二:Service的负载均衡转发规则访问Ser
千家信息网最后更新 2024年11月26日kubernetes实践之五十一:kube-proxy运行机制分析一: Service,Endpoints与Pod的关系
Kube-proxy进程获取每个Service的Endpoints,实现Service的负载均衡功能
二:Service的负载均衡转发规则
访问Service的请求,不论是Cluster IP+TargetPort的方式;还是用Node节点IP+NodePort的方式,都被Node节点的Iptables规则重定向到Kube-proxy监听Service服务代理端口。kube-proxy接收到Service的访问请求后,根据负载策略,转发到后端的Pod。
三:kube-proxy工作原理
1.Service在很多情况下只是一个概念,而真正将Service的作用实现的是kube-proxy服务进程。
2.每个Node节点上都会运行一个kube-proxy服务进程。
3.对每一个TCP类型的Kubernetes Service,kube-proxy都会在本地Node节点上建立一个SocketServer来负责接收请求,然后均匀发送到后端某个Pod的端口上。这个过程默认采用Round Robin负载均衡算法。
4.kube-proxy在运行过程中动态创建与Service相关的Iptables规则,这些规则实现了ClusterIp及NodePort的请求流量重定向到kube-proxy进程上对应服务的代理端口功能。
5.kube-proxy通过查询和监听API Server 中Service与Endpoints的变化,为每个Service都建立一个"服务代理对象",并自动同步。服务代理对象是kube-proxy程序内部的一种数据结构,它包括一个用于监听此服务请求的SockerServer,SocketServer的端口是随机选择一个本地空闲端口。此外,kube-proxy内部创建了一个负载均衡器-LoadBalancer.
6.针对发生变化的Service列表,kube-proxy会逐个处理:
a. 如果没有设置集群IP,则不做任何处理,否则,取该Service的所有端口定义列表。
b.为Service端口分配服务代理对象并为该Service创建相关的Iptables规则。
c.更新负载均衡器组件中对应Service的转发地址列表
7.kube-proxy在启动时和监听到Service或Endpoint的变化后,会在本机Iptables的NAT表中添加4条规则链。
a.KUBE-PORTALS-CONTAINER: 从容器中通过Cluster IP 和端口号访问service.
b.KUBE-PORTALS-HOST: 从主机中通过Cluster IP 和端口号访问service.
c.KUBE-NODEPORT-CONTAINER:从容器中通过NODE IP 和端口号访问service.
d. KUBE-NODEPORT-HOST:从主机中通过Node IP 和端口号访问service.
Kube-proxy进程获取每个Service的Endpoints,实现Service的负载均衡功能
二:Service的负载均衡转发规则
访问Service的请求,不论是Cluster IP+TargetPort的方式;还是用Node节点IP+NodePort的方式,都被Node节点的Iptables规则重定向到Kube-proxy监听Service服务代理端口。kube-proxy接收到Service的访问请求后,根据负载策略,转发到后端的Pod。
三:kube-proxy工作原理
1.Service在很多情况下只是一个概念,而真正将Service的作用实现的是kube-proxy服务进程。
2.每个Node节点上都会运行一个kube-proxy服务进程。
3.对每一个TCP类型的Kubernetes Service,kube-proxy都会在本地Node节点上建立一个SocketServer来负责接收请求,然后均匀发送到后端某个Pod的端口上。这个过程默认采用Round Robin负载均衡算法。
4.kube-proxy在运行过程中动态创建与Service相关的Iptables规则,这些规则实现了ClusterIp及NodePort的请求流量重定向到kube-proxy进程上对应服务的代理端口功能。
5.kube-proxy通过查询和监听API Server 中Service与Endpoints的变化,为每个Service都建立一个"服务代理对象",并自动同步。服务代理对象是kube-proxy程序内部的一种数据结构,它包括一个用于监听此服务请求的SockerServer,SocketServer的端口是随机选择一个本地空闲端口。此外,kube-proxy内部创建了一个负载均衡器-LoadBalancer.
6.针对发生变化的Service列表,kube-proxy会逐个处理:
a. 如果没有设置集群IP,则不做任何处理,否则,取该Service的所有端口定义列表。
b.为Service端口分配服务代理对象并为该Service创建相关的Iptables规则。
c.更新负载均衡器组件中对应Service的转发地址列表
7.kube-proxy在启动时和监听到Service或Endpoint的变化后,会在本机Iptables的NAT表中添加4条规则链。
a.KUBE-PORTALS-CONTAINER: 从容器中通过Cluster IP 和端口号访问service.
b.KUBE-PORTALS-HOST: 从主机中通过Cluster IP 和端口号访问service.
c.KUBE-NODEPORT-CONTAINER:从容器中通过NODE IP 和端口号访问service.
d. KUBE-NODEPORT-HOST:从主机中通过Node IP 和端口号访问service.
服务
端口
规则
均衡
代理
口号
节点
进程
中通
对象
变化
监听
运行
主机
功能
容器
方式
过程
均衡器
作用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南京天象网络技术有限公司
网络安全面试APP题库
腾讯云数据库 外网ip
战锤全面战争有服务器吗
邮政服务器无响应是什么意思
平时我们怎么保证自己的网络安全
网络安全宣传语押韵
avaya cms数据库
大学中网络安全工程师
通用云服务器多少钱
药店网络安全管理制度
小学网络安全拍手歌
数据库保证安全性
查找电子书的数据库有什么
将list添加到数据库中
软件开发成本计算表
网络安全见闻谈
网络技术专业为什么分数低
前端简单还是网络安全简单
伊兰尼库斯服务器
mysql数据库简介
关于网络安全的诗歌简单
数据库外键关系的影响
网络安全发展趋势有哪些
2016中国网络安全大事
光环助手无法连接服务器
零和软件开发
用友互联网科技有限公司
上海营销软件开发系统
网络安全系统搭建教程