容器技术正在颠覆传统,重构整个软件世界发表时间:2022-06-21 22:34 容器技术正在颠覆传统,重构整个软件世界容器技术正在颠覆传统,重构整个软件世界,改变软件技术架构,团队交付效率以及交付方式。通过屏蔽底层复杂异构的基础设施环境,保障软件一致性运行时环境,让研发人员更加高效的聚焦在业务逻辑。 虽然容器通过颠覆式创新屏蔽底层复杂性,但是对容器部署运维给容器集群本身的运维团队带来了新的挑战。与传统虚拟机相比,极短的部署运行周期,更高效的资源使用率。容器管理着海量的快周期轮转的对象,要求更彻底的自动化,策略启动的管理能力。 许多团队都开始转向Kubernetes容器,通过容器编排及管理能力,轻松维护生产、开发和测试环境,Kubernetes已成为容器编排和管理的事实标准,企业要意识到容器将成为未来关键的基础设施平台。 1.1.Kubernetes容器平台 Kubernetes是一个开源容器编排平台,管理大规模分布式容器化软件应用,Kubernetes 提供了统一的API接口,调用API可是轻松实现Web应用、批处理作业和数据库的部署。Kubernetes中的软件应用被打包成与环境完全分离的容器镜像,Kubernetes会自动配置应用并维护跟踪资源分配。 Kubernetes是谷歌的第三代容器管理系统,是Borg独特的控制器和Omega灵活的调度器的组合。相较传统VM虚拟化,容器是轻量级虚拟化技术,对软件应用而言,容器带来一下价值:
微服务架构是当前最为流行的软件架构,提倡模块化,松耦合的设计理念,一般中等微服务架构项目,模块数量可达几十到上百的规模,通过手工部署运维几乎不肯能;针对这种复杂应用程序,尤其是组件数量比较多的场景,容器Kubernetes极大地简化了部署更新工作。通过自动化容器配置、简化扩展和管理资源分配等来实现生产级容器编排治理。 1.2.Kubernetes管理及编排
1.3.Kubernetes优势
1.4.Kubernetes基本架构 控制平面充当Kubernetes集群的大脑,调度、服务发现、负载均衡和资源管理能力都由控制平面提供,包含核心组件如下:
1.5.Kubernetes的不足 虽然Kubernetes提供了可移植性、可扩展性和自动化、策略驱动的管理。从整个软件全生命周期来看,缺失在生产中构建、运行和扩展容器所需的能力,但更多的是偏底层运维管理平台。 还有在早期,为了能快速适配各种场景,Kubernetes通过标准来扩展平台的能力。可以使用自定义资源(CRD),容器存储接口(CSI)和容器网络接口(CNI)轻松适配复杂环境。但是同时也像Android一样,碎片化太严重,各个扩展组件能力层次不齐,导致Kubernetes需要组装,已经投产的集群升级困难。 |