k8s中的endpoint

service select:

service通过selector和pod建立关联。

k8s会根据service关联到pod的podip信息组成一个endpoint。

若service定义中没有selector字段,service被创建时,endpoint controller不会创建endpoint。

 

service负载分发策略有两种:

RoundRobin: 轮训模式,即轮序请求转发到后段的各个pod上。(默认模式)

SessionAffinty: 基于客户端ip地址进行会话保持的模式,第一次客户端访问后段某个pod,之后的请求都会转发到这个pod上。

 

k8s服务发现方式:

DNS: 可以通过cluster add-on的方式轻松轻松的创建KubeDNS来对集群内的service进行服务发现,这也是官方强烈推荐的方式。为了让pod中的容器可以使用kube-dns来解析域名,k8s会修改容器的/etc/resolv.conf配置。

 

k8s服务发现原理:

endpoint

endpoint是集群中的一个资源对象,储存在etcd中,用来记录一个service对应的pod的访问地址。

service配置serlector,endpoint controler才会自动创建对应的endpoint对象;否则,则不会创建endpoint对象。

 

endpoint controlor

endpoint controlor是k8s集群的其中一个组件,其功能如下:

负责生成和维护所有的endpoint对象的控制器。

负责监听

k8s中的endpoint

 

 k8s中的endpoint

 

 k8s中的endpoint

 

 源文章地址:

https://blog.csdn.net/luanpeng825485697/article/details/84296765?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164199455616780265488959%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164199455616780265488959&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-4-84296765.first_rank_v2_pc_rank_v29&utm_term=endpoint#

 

上一篇:k8s工作负载、服务、pod


下一篇:Laravel验证码工具gregwar/captcha