typora/note/devops/kubernetes/前言.md
2024-12-12 10:48:55 +08:00

20 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### 为什么使用容器?
<img src="https://blog-heysq-1255479807.cos.ap-beijing.myqcloud.com/halo2/202401231130534.svg" alt="为什么是容器?" style="zoom: 20%;" />
传统的应用部署方式是通过插件或脚本来安装应用。这样做的缺点是应用的运行、配置、管理、所有生存周期将与当前操作系统绑定,这样做并不利于应用的升级更新/回滚等操作,当然也可以通过创建虚机的方式来实现某些功能,但是虚拟机非常重,并不利于可移植性。
新的方式是通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移。
容器占用资源少、部署快每个应用可以被打包成一个容器镜像每个应用与容器间成一对一关系也使容器有更大优势使用容器可以在build或release 的阶段,为应用创建容器镜像,因为每个应用不需要与其余的应用堆栈组合,也不依赖于生产环境基础结构,这使得从研发到测试、生产能提供一致环境。类似地,容器比虚机轻量、更“透明”,这更便于监控和管理。最后,
容器优势总结:
- **快速创建/部署应用:**与VM虚拟机相比容器镜像的创建更加容易。
- **持续开发、集成和部署:**提供可靠且频繁的容器镜像构建/部署,并使用快速和简单的回滚(由于镜像不可变性)。
- **开发和运行相分离:**在build或者release阶段创建容器镜像使得应用和基础设施解耦。
- **开发,测试和生产环境一致性:**在本地或外网(生产环境)运行的一致性。
- **云平台或其他操作系统:**可以在 Ubuntu、RHEL、 CoreOS、on-prem、Google Container Engine或其它任何环境中运行。
- **Loosely coupled分布式弹性微服务化**应用程序分为更小的、独立的部件,可以动态部署和管理。
- **资源隔离**
- **资源利用:**更高效