K8S中的资源
集群资源的分类
- 名称空间级别
- 集群级别
- 元数据型
名称空间级别:
- 工作负载型资源(workload):Pod 、RS、 Deployment、 StatefulSet、 DaemonSet、 Job、 CronJob(RC被淘汰)
- 服务发现及负载均衡型资源:Service,Ingress
- 配置与存储型资源: Colume、 CSI
- 特殊类型的存储卷:ConfigMap、Secret、DownwardAPI
集群级别资源:
Namespace、Node、ClusterRole、RoleBinding、ClusterRoleBinding
元数据性资源:
HPA、PodTemplate、LimitRanger
资源清单
在K8S中,以便使用yaml格式的文件来创建预期的坡度,这样的yaml文件被称为资源清单。
yaml是一个可读性高,用来表达数据系列的格式。
基本语法:
- 缩进时不允许使用Tab,只允许使用空格
- 缩进空格的数目不重要,只要相同曾记得元素左侧对其即可
- 井号#表示注释,从这个字符一直到行尾,都会被解释器忽略
yaml支持的数据结构
- 对象(Object):也被称为映射(mapping)、哈希(hashes)或字典(dictionary)。它是一组键值对的集合,使用冒号(:)来分隔键和值。
- 数组(Array):也被称为序列(sequence)或列表(list)。它是一组按次序排列的值。在YAML中,数组由连字符(-)开头的行组成。
- 纯量(Scalar):纯量表示的是单个的、不可再分的值,如字符串、数字、布尔值等。
具体写法
对象
对象的一组键值对,使用冒号结构表示
块样式
user
name: Bob
age: 18
流样式
user:{name:Bob,age:18}
数组
一组连词线开头的行,构成一个数组
快样式
animal
- Cat
- Dog
流样式
animal:[Cat, Dog]
纯量
纯粮食最基本的、不可再分的值
- 字符串、布尔值、整数、浮点数、 Null
- 时间 日期
数值直接以字面量的形式表示 number:12.2
布尔值使用true false
null用~表示
时间采用ISO8601格式
日期采用复合 ISO8901格式的年月日标识
YAML允许使用两个感叹号,强制转换数据类型
YAML示例
apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
lables:
app: myapp
version: v1
spec:
contrainers:
- name: ngx01
image: harbor.tangotz.com/http/nginx:1.21.5
- name: ngx02
image: harbor.tangotz.com/http/nginx:1.21.5