概述
k8s 集群中对资源管理和资源对象编排部署都可以通过声明样式(YAML)文件来解决,也就是可以把需要对资源对象操作编辑到 YAML 格式文件中,我们把这种文件叫做资源清单文件,通过 kubectl 命令直接使用资源清单文件就可以实现对大量的资源对象进行编排部署了。一般在我们开发的时候,都是通过配置 YAML 文件来部署集群的。
YAML 文件:就是资源清单文件,用于资源编排
YAML 文件介绍
YAML 概述
YAML :仍是一种标记语言。为了强调这种语言以数据做为中心,而不是以标记语言为重点。
YAML 是一个可读性高,用来表达数据序列的格式。
YAML 基本语法
- 使用空格做为缩进
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
- 低版本缩进时不允许使用 Tab 键,只允许使用空格
- 使用 # 标识注释,从这个字符一直到行尾,都会被解释器忽略
- 使用 — 表示新的 yaml 文件开始
YAML 支持的数据结构
对象
键值对的集合,又称为映射(mapping) / 哈希(hashes) / 字典(dictionary)
1 | # 对象类型:对象的一组键值对,使用冒号结构表示 |
数组
1 | # 数组类型:一组连词线开头的行,构成一个数组 |
YAML 文件组成部分
主要分为了两部分,一个是控制器的定义 和 被控制的对象
被控制的对象
包含一些 镜像,版本、端口等
属性说明
在一个 YAML 文件的控制器定义中,有很多属性名称
属性名称 | 介绍 |
---|---|
apiVersion | API 版本 |
kind | 资源类型 |
metadata | 资源元数据 |
spec | 资源规格 |
replicas | 副本数量 |
selector | 标签选择器 |
template | Pod 模板 |
metadata | Pod 元数据 |
spec | Pod 规格 |
containers | 容器配置 |
如何快速编写 YAML 文件
一般来说,我们很少自己手写 YAML 文件,因为这里面涉及到了很多内容,我们一般都会借助工具来创建
使用 kubectl create 命令
这种方式一般用于资源没有部署的时候,我们可以直接创建一个 YAML 配置文件
1 | # 尝试运行,并不会真正的创建镜像,只是打印yaml文件信息 |
或者我们可以输出到一个文件中
1 | kubectl create deployment web --image=nginx -o yaml --dry-run > hello.yaml |
然后我们就在文件中直接修改即可
使用 kubectl get 命令导出 yaml 文件
可以首先查看一个目前已经部署的镜像
1 | kubectl get deploy |
然后我们导出 nginx 的配置
1 | kubectl get deploy nginx -o=yaml --export > nginx.yaml |
然后会生成一个 nginx.yaml
的配置文件
发布时间: 2021-01-12
最后更新: 2024-06-24
本文标题: Kubernetes学习之YAML文件详解
本文链接: https://blog-yilia.xiaojingge.com/posts/aa1304e0.html
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!
