本公司最初APPDocker是一部分APP容器来代替过去的VM配置,典型的代表系统有用户中心和安信主页,从试验性的业务系统中尝试了APP容器的好处。更高的资源利用:容器的本质是独立的过程,无需进行硬件虚拟和完整的操作系统等追加费用,容器对系统资源的利用率更高。无论是APP执行速度、内存损失还是文件存储速度,都比过去虚拟机技术更有效。因而,在单机环境下,与KVM等虚拟化方案相比,可以运行更数量的例子,多个容器互不影响,相互独立。
更快的启动配置:过去的虚拟化技术启动系统和APP需要分钟级别,容器APP共享宿主核心,不需要启动完整的操作系统,可以实现秒级、甚至毫秒级的启动时间,大幅节省了开发、测试、配置的时间。
更一致的运行:开发过程中常见的问题之一是环境完整性问题,常常表现为动态库、JDK、依赖等版本的不同。容器以规范的形式,APP镜像提供了除核心外完整运行时的环境,保障了APP运行环境的完整性。容器可以跨平台运行,无论是物理机还是虚拟机,其运行结果都是一致的。
更快的延展性伸缩:在业务高峰时,容器可以根据CPU、内存甚至业务指标迅速扩大,提高服务能力。在业务低谷期,可以稳步降低复印数量,节约资源。
容器提供砂箱机制,有效隔离不同的APP。镜像是其优秀的设计构思,可以让开发者们迅速部署应用程序。但是,这对于大规模的应用管理来说是不够的,随着容器的大规模APP,容器的编排非常重要。在云原生盛行的今日,kuberneASE对容器的编制已经变成事实标准,也有人称之为下一代的操作系统。首先,我们来说明什么是云原生CNCF官方定义:云原生技术有益于各机构在云计算平台、私有云存储和混合云等新式动态环境中,搭建和运行可延展性扩展的APP。云原生代表技术包括容器、服务网格、微服务、不变基础设施和声明式API。事实上,我们可以理解云原生事实上是指导软件结构设计构思的思想,为用户指导了可靠、敏捷、可扩展、可复制的方法,最大限度地利用云的能力,发挥云的价值。
Kubered2ked在这个设计构思思想的具体位置,事实上是上下的。Kubered2ked对暴露基础设施能力的格式化数据抽象,如Service、Regress、Bad、Deploydeduce,这些都是Kubered2ked本身的原始API暴露给用户的能力,Kubered2ked提供基础设施能力访问的标准接口,如CNI、CSI、DevicePlugin、CRD,以基础设施为能力提供商,以标准化的形式访问Kubernernetete系统。