wiki/运维/容器/Kubernetes/笔记/1.引入K8S后业务部署的变化.md
2025-01-02 10:46:09 +08:00

25 lines
2.7 KiB
Markdown
Raw 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.

![image.png](https://cdn.nlark.com/yuque/0/2023/png/35086385/1691486689411-b93423c4-ed1a-4171-b5d9-6066ee8c8225.png#averageHue=%23545329&clientId=u839e9698-903a-4&from=paste&height=284&id=ubabeecb3&originHeight=709&originWidth=1969&originalType=binary&ratio=2.5&rotation=0&showTitle=false&size=113143&status=done&style=none&taskId=u1ab50bda-bc69-4ffe-bd1e-07b6e4b7355&title=&width=787.6)
## 互联网业务部署大致分为三个时代
1. 传统部署时代(托管时代):早期将业务程序直接部署在物理服务器中,这种部署方式的优点是部署和运维都很简单。同样缺点也很致命, 如:每个应用程序都运行在不同的物理服务器上, 但可能会因为部分应用程序资源利用率不足而浪费资源。为了提高资源利用率,在同一台物理服务器上运行多个应用程序, 则可能会出现一个应用程序占用大部分资源的情况,从而导致其他应用程序的性能下降。在这个时代里服务器租赁、托管业务快速发展。
2. 虚拟化部署时代云时代为解决托管时代服务器利用率问题IBM研发出虚拟化技术虚拟化技术允许用户在一台物理服务器中同时运行多台虚拟服务器每台虚拟服务器都有自己独立的操作系统且操作系统内的应用程序互不干扰。虚拟化技术提升了服务器资源利用率及进程安全性但也存在一定的缺点如业务程序难部署、启动速度慢、操作系统占用空间等。在这个时代里云厂商业务快速发展。
3. 容器部署时代云原生时代为了解决难部署、操作系统占用空间等问题、docker公司研发了容器技术。容器相较于云服务器具有更宽松的隔离特性多容器共享主机的操作系统、内核等。目前互联网即处于云原生时代各个互联网巨头业务已经容器化。
Kubernetes 就是目前主流的容器管理平台。曾经还存在过很多容器管理平台但是最后还是被谷歌的K8S打败了
## 容器和虚拟机对比
- VM之间共享硬件而容器之间共享硬件和内核启动容器就相当于启动一个进程速度更快。
- VM需要安装操作系统镜像及依赖等占用GB级别磁盘空间而容器不需要通常为MB
- 单机支持几千个容器几十个VM
| **虚拟机** | **容器** |
| --- | --- |
| 重量级 | 轻量级 |
| 性能有限 | 本机性能 |
| 每个VM都在自己的OS中运行 | 所有容器共享主机操作系统 |
| 硬件级别虚拟化 | 操作系统虚拟化 |
| 启动时间(分钟级别) | 启动时间(秒级别) |
| 分配操作系统需要的内存 | 分配较少的内存 |
| 完全隔离,更安全 | 进程级别隔离,安全性相对较差 |