论文部分内容阅读
伴随高校信息化建设的开展,校园内不断增长的线上服务以及日益扩张的机房规模对现有资源管控模式提出了更高的要求。然而传统的资源管控模式主要由人工对物理设备进行操作,存在时效性差、资源缺乏隔离性、资源容量难以弹性扩展等缺点;已然不能满足当下复杂的资源管控需求。近年来,以Docker SwarmKit为首的容器调度系统日渐成熟,其凭借着开箱即用的的集群管理,轻量化的资源消耗,较好的隔离性为资源管控开辟了新途径。本文基于Docker SwarmKit在容器编排与资源管控方面的能力,通过引入改进后的RBAC(Role-Based-Access-Control)访问控制模型与Macvlan虚拟网络技术,弥补了其在多账户场景下权限系统缺失的问题,并针对其容器集群网络所固有的局限性进行了优化;在此基础上,利用微服务架构设计并实现了高校环境下的资源管控平台。本文的主要工作如下:1.由于Docker SwarmKit仅是一个纯粹的容器编排系统,并不具备有访问控制功能。而为了满足资源管控平台中不同账户在权限上的差异性,支持角色的可动态配置功能,实现资源与具体账户的解耦,从而提高权限系统的灵活性。在RBAC研究基础上,提出了基于角色权限策略的访问控制模型。并在微服务场景下,对该模型在组件之间的验证流程展开了合理的拆解,避免了组件间的数据冗余和跨组件的分布式事务,从而保障了数据的一致性。2.为了使集群内的应用服务能够被校园内的用户正确访问,必须将其映射至集群外部。针对SwarmKit默认的Routing Mesh网络方案将完全占用集群内所有节点的对应端口进而造成的IP地址与端口资源严重浪费的缺陷,本文基于Macvlan设计了弹性IP方案。该方案利用消息队列实现的异步通知机制在组件间传递消息,并利用由etcd实现的分布式锁避免了agent之间发生竞态,进而在集群内自建了以Macvlan技术为基础的ingress网络沙盒容器以便对流量进行转发和路由,最终为服务提供了可供集群外访问的IP地址。3.基于微服务架构,对资源管控平台的体系结构、系统架构以及各个微服务组件各个方面展开详细的设计。在设计过程中,借助时序图对各微服务组件之间的调用关系进行了细致阐述,并对微服务组件内部的关键部分和技术详加说明。最后,在对管控平台进行完整的功能测试基础上,利用人为制造节点故障的方式对平台进行了可靠性测试,并辅以对平台API进行的性能测试,从而验证了平台功能的可用性和鲁棒性。