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