Containers
2024年09月02日
一、认识
Containers
是 Kubernetes
中最常见的工作负载定义部分, 用来定义定义 Pod
中主容器的列表。它们代表应用程序的主要进程或服务,负责处理应用的核心业务逻辑。通常,Containers
会运行实际的应用程序代码,如 Web
服务器、数据库、缓存服务等。它们有以下几个特点和应用场景:
-
并行启动:
Pod
中的所有Containers
默认情况下会并行启动,并且可以共享同一个网络命名空间和存储卷,这使得它们能够相互通信并共享数据。 -
资源请求与限制: 每个
Container
可以指定CPU
和内存的资源请求和限制,以确保它们在集群中分配适当的资源,同时避免资源过载。 -
生命周期管理:
Containers
的生命周期与Pod
紧密相关。Pod
可能会因为各种原因(如节点故障、调度策略)而重启或迁移,这会导致Containers
被终止并重新启动。 -
健康检查:
Kubernetes
提供了探针(Liveness
、Readiness
、Startup
)来检查Containers
的健康状况,确保应用程序在正确的状态下运行。
二、语法
apiVersion: v1
kind: Pod
metadata:
name: my-pod
labels:
name: my-pod
spec:
containers:
- name: my-container-1
image: docker.io/library/xx:yy
command: [xx,yy]
ports:
- containerPort: 80