Kubernetes从新手到熟练:集群服务的三个要点和一种实现
观念上来讲,Kubernetes集群的处事,着实就是负载平衡、或反向署理。这跟阿里云的负载平衡产物,有许多相同的处所。和负载平衡一样,处事有它的IP地点以及前端端口;处过后边会挂载多个容器组Pod作为其“后端处事器”,这些“后端处事器”有本身的IP以及监听端口。
当这样的负载平衡和后端的架构,与Kubernetes集群团结的时辰,我们可以想到的最直观的实现方法,就是集群中某一个节点专门做负载平衡(相同LVS)的脚色,而其他节点则用来负载后端容器组。
这样的实现要领,有一个庞大的缺陷,就是单点题目。Kubernetes集群是Google多年来自动化运维实践的结晶,这样的实现显然与其智能运维的哲学相背离的。
自带通讯员
边车模式(Sidecar)是微处事规模的焦点观念。边车模式,换一句普通一点的说法,就是自带通讯员。认识处事网格的同窗必定对这个很认识了。可是也许较量少人留意到,着实Kubernetes集群原始处事的实现,也是基于Sidecar模式的。
在Kubernetes集群中,处事的实现,现实上是为每一个集群节点上,陈设了一个反向署理Sidecar。而全部对集群处事的会见,城市被节点上的反向署理转换成对处过后端容器组的会见。根基上来说,节点和这些Sidecar的相关如下图所示。
把处事照进实际
前边两节,我们看到了,Kubernetes集群的处事,本质上是负载平衡,即反向署理;同时我们知道了,在现实实现中,这个反向署理,并不是陈设在集群某一个节点上,而是作为集群节点的边车,陈设在每个节点上的。
在这里把处事照进反向署理这个实际的,是Kubernetes集群的一个节制器,即kube-proxy。关于Kubernetes集群节制器的道理,请参考我其它一篇关于节制器的文章。简朴来说,kube-proxy作为陈设在集群节点上的节制器,它们通过集群API Server监听着集群状态变革。当有新的处事被建设的时辰,kube-proxy则会把集群处事的状态、属性,翻译成反向署理的设置。
那剩下的题目,就是反向署理,即上图中Proxy的实现。
一种实现
Kubernetes集群节点实现处事反向署理的要领,今朝首要有三种,即userspace、iptables以及IPVS。本日我们只深入说明iptables的方法,底层收集基于阿里云Flannel集群收集。
过滤器框架
此刻,我们来假想一种场景。我们有一个房子。这个房子有一个入水管和出水管。从入水管进入的水,是不能直接饮用的,由于有杂质。而我们祈望,从出水管流出的水,可以直接饮用。为了到达目标,我们切开水管,在中间加一个杂质过滤器。
过了几天,我们的需求变了,我们不止要求从房子里流出来的水可以直接饮用,我们还但愿水是热水。以是我们不得不再在水管上增进一个切口,然后增进一个加热器。
很明明,这种切开水管,增进新成果的方法是很丑恶的。由于需求也许随时会变,我们乃至很难担保,在颠末一年半载之后,这跟水管还能找获得可以被切开的处所。
以是我们必要从头计划。起首我们不能随 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |