Kubernetes系列02—Kubernetes设计架构和设计理念 (7)

  K8s1.3版本里发布了beta版的Federation功能。在云计算环境中,服务的作用距离范围从近到远一般可以有:同主机(HostNode)、跨主机同可用区(Available Zone)、跨可用区同地区(Region)、跨地区同服务商(Cloud Service Provider)、跨云平台。K8s的设计定位是单一集群在同一个地域内,因为同一个地区的网络性能才能满足K8s的调度和计算存储连接要求。而联合集群服务就是为提供跨Region跨服务商K8s集群服务而设计的。

  每个K8s Federation有自己的分布式存储、API ServerController Manager。用户可以通过FederationAPI Server注册该Federation的成员K8s Cluster。当用户通过FederationAPI Server创建、更改API对象时,Federation API Server会在自己所有注册的子K8s Cluster都创建一份对应的API对象。在提供业务请求服务时,K8s Federation会先在自己的各个子Cluster之间做负载均衡,而对于发送到某个具体K8s Cluster的业务请求,会依照这个K8s Cluster独立提供服务时一样的调度模式去做K8s Cluster内部的负载均衡。而Cluster之间的负载均衡是通过域名服务的负载均衡来实现的。

  所有的设计都尽量不影响K8s Cluster现有的工作机制,这样对于每个子K8s集群来说,并不需要更外层的有一个K8s Federation,也就是意味着所有现有的K8s代码和机制不需要因为Federation功能有任何变化。

 

10)存储卷(Volume

  K8s集群中的存储卷跟Docker的存储卷有些类似,只不过Docker的存储卷作用范围为一个容器,而K8s的存储卷的生命周期和作用范围是一个Pod。每个Pod中声明的存储卷由Pod中的所有容器共享。K8s支持非常多的存储卷类型,特别的,支持多种公有云平台的存储,包括AWSGoogleAzure云;支持多种分布式存储包括GlusterFSCeph;也支持较容易使用的主机本地目录hostPathNFSK8s还支持使用Persistent Volume ClaimPVC这种逻辑存储,使用这种存储,使得存储的使用者可以忽略后台的实际存储技术(例如AWSGoogleGlusterFSCeph),而将有关存储实际技术的配置交给存储管理员通过Persistent Volume来配置。

 

11)持久存储卷(Persistent VolumePV)和持久存储卷声明(Persistent Volume ClaimPVC

  PVPVC使得K8s集群具备了存储的逻辑抽象能力,使得在配置Pod的逻辑里可以忽略对实际后台存储技术的配置,而把这项配置的工作交给PV的配置者,即集群的管理者。存储的PVPVC的这种关系,跟计算的NodePod的关系是非常类似的;PVNode是资源的提供者,根据集群的基础设施变化而变化,由K8s集群管理员配置;而PVCPod是资源的使用者,根据业务服务的需求变化而变化,有K8s集群的使用者即服务的管理员来配置。

 

12)节点(Node

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgxwpz.html