Kubernetes 资源管理
介绍
kubernetes中,所有的内容都抽象为资源,用户需要通过操作资源来管理kubernetes。
kubernetes的最小管理单元是pod而不是容器,所以只能将容器放在pod中,而kubernetes一般也不会直接管理pod,而是通过pod控制器来管理pod的。
pod可以提供服务之后,就要考虑如何访问pod中的服务,而kubernetes提供了service资源实现这个功能。那么,想要pod中程序的数据持久化保存,kubernetes还提供了存储系统。
图解
yaml语法介绍
yaml是一个类似xml,json的标记性语言,它强调以数据为中心,并不是以标识语言为重点。因而yaml本身的定义比较简单,号称“一种人性化的数据式语言”
yaml简单语法
- 大小写敏感
- 使用缩进表示层级关系
- 缩进不允许使用tab,只允许空格(低版本限制)
- 缩进空格数量不重要,相同层级的元素左对齐就行
- "#"表示注释
yaml支持的数据类型
- 纯量:单个的,不可再分的值
- 对象:键值对的集合,又称为映射(mapping)/哈希(hash)/字典(dictionary)
- 数组:一组按次序排序的值,又称为序列(sequence)/列表(list)
# 纯量,就是指一个简单的值,字符串,布尔值,整数,浮点数,null,时间,日期
# 布尔类型
# 整数
# 浮点类型
# null类型
~
# 日期类型
# 时间类型
# 字符串
# 字符串过多 可以折成多行,每一行会转化成一个空格
# 对象
# 形式一(推荐)
hmm:
age: 18
address: hubei
# 形式二(了解)
hmm: {age: 18, address: hubei}
#数组
# 形式一(推荐)
name:
- hmm
- lmm
# 形式二(了解)
name: [hmm, lmm]
ps: ---可以把多端yaml放在一个文件里(没有关系的yaml)
资源管理的方式
- 命令式对象管理:直接使用命令去操作kubernetes资源
- 命令式对象配置:通过配置文件去操作kubernetes资源
- 声明式对象配置:通过apply命令和配置文件去操作kubernetes资源