多云容器集群服务的设计与实现
摘要
容器技术是支撑现代云原生应用的基础,容器集群云服务是主流的容器供给模式,使用多云环境中的容器集群服务已成为当今企业的普遍做法。构建该类容器集群服务的关键在于多云环境的适配,需要解决宿主环境异构性、多集群间网络访问约束和容器负载多样性等问题。针对以上问题,提出OMCC云容器服务系统。该系统是将容器系统多云化的实践,其通过自举式容器集群创建、代理网关与内网穿透、统一负载抽象等机制,有效解决了多云环境下容器集群服务的诸多适配性问题。OMCC的应用经验为多云场景下容器集群服务的研发提供了一种通用指导思路。
关键词
多云环境; 容器集群; 云服务; 平台软件
0 引言
容器是近年来兴起的一种应用发布机制,其可为应用提供可预测的执行环境。当越来越多的应用采用容器进行开发和部署后,容器集群便成为必要需求。以Kubernetes为代表的容器集群平台软件可以自动化管理和调度由多个容器定义的应用程序,使用户以声明的方式批量管理一组应用,从而简化业务的上线和运维。
企业运维一套稳定的Kubernetes容器集群并不轻松,通常需要专业的IT人员管理包含虚拟机、存储和网络等资源在内的基础设施。面对这一问题,各个公有云厂商纷纷在云上提供可扩展、高性能的企业级云端Kubernetes集群,即容器集群云服务。这些容器集群服务深度整合了各项基础设施,使用多可用区容灾等技术构建了高可用Kubernetes实例。借助云端容器集群服务,用户可以方便快捷地创建和管理容器集群,从而更加专注于应用的开发与运营,无需关注容器集群的运维。统计表明,大多数企业都使用了不止一家厂商提供的云服务[1]。业界普遍采用基于混合云的多云方案满足信息安全、跨地区业务等需求,这些方案在支撑业务的同时也带来了多云管理和接入的麻烦。此外,企业的应用类型不尽相同,需要在云上