简介
本文主要是介绍什么是k8s,以及为什么用k8s,对比一起传统部署有什么区别,让大家初识Kubernetes。Kubernetes(k8s)用于自动部署,扩展和管理容器话应用程序的开源系统。 用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
起源,为什么用k8s
传统部署时代(单独部署,边界不清晰,资源浪费,成本高):
早期,各个组织机构在物理服务器上运行应用程序。无法为物理服务器中的应用程序定义资源边界,这会导致资源分配问题。 例如,如果在物理服务器上运行多个应用程序,则可能会出现一个应用程序占用大部分资源的情况, 结果可能导致其他应用程序的性能下降。 一种解决方案是在不同的物理服务器上运行每个应用程序,但是由于资源利用不足而无法扩展, 并且维护许多物理服务器的成本很高。
虚拟化部署时代(计算机创建多个虚拟机,每个虚拟机实际是一个小计算机,都会有资源环境的浪费):
作为解决方案,引入了虚拟化。虚拟化技术允许你在单个物理服务器的 CPU 上运行多个虚拟机(VM)。 虚拟化允许应用程序在 VM 之间隔离,并提供一定程度的安全,因为一个应用程序的信息 不能被另一应用程序随意访问。
虚拟化技术能够更好地利用物理服务器上的资源,并且因为可轻松地添加或更新应用程序 而可以实现更好的可伸缩性,降低硬件成本等等。
每个 VM 是一台完整的计算机,在虚拟化硬件之上运行所有组件,包括其自己的操作系统。
容器部署时代(更加轻量,灵活,类似docker):
容器类似于 VM,但是它们具有被放宽的隔离属性,可以在应用程序之间共享操作系统(OS)。 因此,容器被认为是轻量级的。容器与 VM 类似,具有自己的文件系统、CPU、内存、进程空间等。 由于它们与基础架构分离,因此可以跨云和 OS 发行版本进行移植。
优点:
1.适合敏捷开发, 持续开发、集成和部署, 提高了容器镜像创建的简便性和效率
2.开发和运维隔离
3.便于管理,可以观察容器状态
4. 可移植性高,只要是Linux就能安装
5.更加时候分布式微服务, 松散耦合
6.资源利用,不易浪费
所以,Kubernetes就是来管理容器的集群, Kubernetes是一个可弹性运行分布式系统的容器编排框架,部署,配置,监控各个容器。
我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!