应用在pod内部的流程
Kubu-proxy: 负责为Pod创建代理服务,从apiserver获取所有server信息,并根据server信息创建代理服务,实现server到Pod的请求路由和
转发,从而实现K8s层级的虚拟转发网络。
Deploymen:为Pod和ReplicaSet提供了一个声明式定义(declarative)方法,用来替代以前的ReplicationController来方便的管理应用。典型的
应用场景包括:
• 定义Deployment来创建Pod和ReplicaSet
• 滚动升级和回滚应用
• 扩容和缩容
• 暂停和继续Deployment
• (label:标签 selector:pod选择器)
Configmap: k8s的一个配置管理组件,可以将配置以key-value的形式传递,通常用来保存不需要加密的配置信息,加密信息则需用到Secret;
Configmap可存放数据库的端口号及IP信息,Secret可存放用户的账号和密码;
Ingress为弥补NodePort不足而生
NodePort存在的不足:1)一个端口只能一个服务使用,端口需提前规划2)只支持4层负载均衡
Pod与Ingress的关系
1)通过Service相关联
2)通过Ingress Controller实现Pod的负载均衡;支持TCP/UDP 4层和HTTP 7层
为了使Ingress资源正常工作,集群必须运行一个Ingress Controller(负载均衡实现)。
四层负载均衡工作在OSI模型的传输层,由于在传输层,只有TCP/UDP协议,这两种协议中除了包含源IP、目标IP以外,还包含源端口号及目的端口号。四层负载均衡服务器在接受到客户端请求后,以后通过修改数据包的地址信息(IP+端口号)将流量转发到应用服务器。
七层负载均衡工作在OSI模型的应用层,应用层协议较多,常用http、radius、dns等。七层负载就可以基于这些协议来负载。这些应用层协议中会包含很多有意义的内容。比如同一个Web服务器的负载均衡,除了根据IP加端口进行负载外,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡