一文了解 Kubernetes中service原理

本文以ClusterIP类型的servic为例,详细阐明service的实现原理

一文了解 Kubernetes中service原理_第1张图片

Service创建流程

1.Master节点中的api server接收到创建service资源的事件,api server创建service资源;
2.Master节点中的 endpoint-controller会监听service,pod资源的创建,当service对象创建之后,endpoint-controller会根据service中的selector匹配相应的pod,然后生产endpoint对象;
3.Node节点上都会有kube-proxy组件去监听service对象以及endpoint对象,根据这两个对象的生成去修改iptabels或者IPVS的路由规则;
4.Node节点上会有DNS组件监听service对象的变更,形成service域名到ClusterIP的映射关系。

Service访问流程

1.Node上的Pod访问service时,首先会去DNS组件中根据需要访问的service域名查找ClusterIP;
2.Pod拿到ClusterIP后,经过iptabels或者IPVS时,会被重定向为service对应的Pod的真实IP。

你可能感兴趣的:(kubernetes,k8s,kubernetes)