Kubernetes 资源清单(Resource Manifest)是用 YAML 或 JSON 格式编写的文件,用于声明 Kubernetes 集群中的资源。资源清单的主要元素包括:
1. apiVersion
定义资源所使用的 Kubernetes API 版本。
示例:apiVersion: v1
2. kind
指定资源的类型。常见的资源类型有 Pod、Service、Deployment 等。
示例:kind: Pod
3. metadata
包含资源的元数据,如名称、命名空间、标签等。
示例:
yaml
复制代码
metadata:
name: my-pod
labels:
app: my-app
4. spec
资源的具体定义,描述期望的状态。不同资源有不同的 spec 字段。
示例(Pod):
yaml
复制代码
spec:
containers:
- name: nginx
image: nginx:1.19.10
5. status
用于显示资源的当前状态,通常由 Kubernetes 自动生成,不需要在资源清单中显式定义。
常见资源类型及描述
- Pod: 单个或多个容器的集合,是 Kubernetes 中最小的可调度单元。
- Service: 提供一组 Pod 的统一访问入口,支持负载均衡。
- Deployment: 用于管理 Pod 的创建和升级,支持滚动更新。
- ConfigMap: 存储非机密配置信息,如环境变量。
- Secret: 用于存储机密数据,如密码或凭证,数据以 Base64 编码。
通过资源清单,可以声明 Kubernetes 集群的期望状态,集群控制平面会根据这些描述进行资源管理和调度。