Kubernetes 中的 YAML 文件是用于定义 Kubernetes 资源对象的文本文件。每个资源对象都有其自己的 YAML 文件结构,但通常它们都遵循以下范式:
apiVersion: <group>/<version>
kind: <Kind>
metadata:
name: <name>
labels:
<key>: <value>
spec:
# 描述该资源对象的规格
其中,apiVersion
表示 Kubernetes API 的版本和组;kind
表示该资源对象的类型(如 Deployment、Service 等);metadata
包含了该资源对象的元数据信息,例如名称和标签等;而 spec
则描述了该资源对象的规格。
以下是一个完整的例子:
apiVersion: v1
kind: Service
metadata:
name: my-service
labels:
app: my-app
spec:
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: http-server
在这个例子中,我们定义了一个名为 my-service
的 Service 对象,它将流量转发到标签为 app=my-app
的 Pod 上,并将所有传入端口 80
的请求转发到容器内部端口为 http-server
的服务上。
需要注意的是,在实际使用中可能会包含更多字段和配置项来满足具体需求。因此,在编写 YAML 文件时应根据具体情况进行调整和扩展。