Kubernetes 使用 YAML 文件声明资源,如 Pod、Service、ConfigMap 等。通过 YAML 文件,描述集群中资源的期望状态,Kubernetes 控制平面根据这些描述自动管理资源。
书写格式
- YAML 是空格敏感的,使用缩进表示层级关系。
- 文件以键值对(
key: value)的形式编写。 - 列表用
-开始。
基本语法
- API 版本 (
apiVersion) : 资源对应的 API 版本,如v1或apps/v1。 - 资源类型 (
kind) : 资源的类别,如Pod、Service、Deployment。 - 元数据 (
metadata) : 定义资源的名称、命名空间和标签。 - 规范 (
spec) : 描述资源的详细配置和期望状态。
数据结构
- 字符串: 如
"nginx:1.19.10"。 - 列表: 用
-表示多个值,如容器列表。 - 字典: 键值对表示复杂对象,如容器配置。
- 缩进: 表示层次结构,必须一致。
示例
yaml
复制代码
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: nginx-container
image: nginx:1.19.10
ports:
- containerPort: 80
- apiVersion:
v1 - kind:
Pod - metadata: 定义 Pod 名称
my-pod。 - spec: 容器列表,包括容器名称、镜像和端口。
这种格式适用于定义各类 Kubernetes 资源,确保统一、可读和易于管理。