Kubernetes 容器与 Pod 深度解析
1. 容器与容器镜像
1.1 容器镜像的定义
简单来说,容器镜像是一个包含运行应用程序所需一切的“盒子”。它包含应用程序代码、所有依赖的应用程序和系统库以及运行时环境。例如,一个简单 Java 程序的容器镜像会包含 Java 代码、所有依赖库和 JVM。
1.2 容器的创建
当在容器运行时上运行容器镜像时,就会创建一个容器。容器运行在容器运行时之上,容器运行时将应用程序与底层主机基础设施解耦,就像 JVM 使 Java 具有平台独立性一样。由于容器封装了应用程序并且只依赖于容器运行时,因此可以在任何平台(云、桌面、本地)、任何操作系统(Linux、Windows)和任何语言(Java、Python、Node)上运行应用程序,这大大提高了应用程序的可移植性。
1.3 容器的特性
- 不可变 :一旦容器开始运行,如果需要进行代码更改,不能在该容器上进行操作,需要重新创建容器镜像并从新镜像创建另一个容器。
- 无状态 :当容器被销毁时,存储在容器中的所有应用程序数据/状态都会丢失。如果需要持久化应用程序数据/状态,可以考虑使用 Kubernetes 卷。
1.4 容器的自愈能力
容器具有自愈能力,如果 Pod 内的容器崩溃,Pod 会尝试重启该容器,但是否重启取决于 Pod 规范中的 spec.restartPolicy 字段。
超级会员免费看
订阅专栏 解锁全文
364

被折叠的 条评论
为什么被折叠?



