跳到主要内容

Containers

2024年09月02日
柏拉文
越努力,越幸运

一、认识


ContainersKubernetes 中最常见的工作负载定义部分, 用来定义定义 Pod 中主容器的列表。它们代表应用程序的主要进程或服务,负责处理应用的核心业务逻辑。通常,Containers 会运行实际的应用程序代码,如 Web 服务器、数据库、缓存服务等。它们有以下几个特点和应用场景:

  1. 并行启动: Pod 中的所有 Containers 默认情况下会并行启动,并且可以共享同一个网络命名空间和存储卷,这使得它们能够相互通信并共享数据。

  2. 资源请求与限制: 每个 Container 可以指定 CPU 和内存的资源请求和限制,以确保它们在集群中分配适当的资源,同时避免资源过载。

  3. 生命周期管理: Containers 的生命周期与 Pod 紧密相关。Pod 可能会因为各种原因(如节点故障、调度策略)而重启或迁移,这会导致 Containers 被终止并重新启动。

  4. 健康检查: Kubernetes 提供了探针(LivenessReadinessStartup)来检查 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

三、场景