k8s集群中对资源管理和资源对象编排部署都可以通过声明样式(yaml)文件来解决,也就是可以把需要对资源对象操作编辑到yaml格式文件中,我们把文件叫做资源清单文件,通过kubectl命令直接使用资源清单文件就可以实现对大量的资源对象进行编排部署了。
yaml文件书写格式
yaml基本语法
- 使用空格作为缩进
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
- 低版本缩进时不允许使用Tab键,只允许使用空格
- 使用#标识注释,从这个字符一直到行尾,都会被解释器忽略
- 使用 —表示新的yaml文件开始
yaml支持的数据结构
- 对象
键值对的集合,又称为映射/哈希/字典
#对象类型:对象的一组键值对,使用冒号结构表示
apiVersion: apps/v1
kind: Deployment
- 数组
一组按次序排列的值,又称为序列/列表
# 数组类型:一组连词线开头的行,构成一个数组ports:- protocol: TCP
- 纯量
单个的、最基本的不可再分的值
# 数值直接以字面量的形似表示
number:12.90# 布尔值用true和false表示
isSet: true# null用~表示
parent: ~# 时间采用ISO8601格式
iso8601: 2021-12-12t21:39:43.10-05:00# 日期采用复合iso8601格式的年、月、日表示
date:1921-09-01# 字符串默认不使用引号表示
str :这是一个字符串#如果字符串之中包含空格或特殊字符,需要放在引号之中
str:'内容: 顶顶顶'# 单引号之中如果还有单引号,必须连续使用两个单引号转义
str:'labor ''s day'# 单引号和双引号都可以使用,双引号不会对特殊字符转义
s1:'内容\n字符串'
s2:"内容\n字符串"# 字符串可以写成多行,从第二行开始,必须有一个单空格缩进。换行符会被转为空格
str: 这是一段多行字符串
kubectl工具
kubectl工具是k8s集群的命令行工具,通过kubectl工具能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。
- kubectl命令的语法
kubectl [command] [TYPE] [NAME] [flags]
- command:指定要对资源执行的操作,例如create、get、set、delete。
- type:指定资源类型,资源类型是大小写敏感的,开发者能够以单数、复数和缩略的形式。例如:
kubectl get pods pod1
- name:指定资源的名称,名称也大小写敏感。如果省略名称,则会显示所有资源。例如:
kubectl get pods
- flags:指定可选的参数。例如,可用-s或-server参数指定k8s api server的地址和端口。
- kubectl子命令使用分类
-
基础命令
-
部署和集群管理命令
-
故障和调试命令
-
其他命令