k8s存储卷与数据持久化(2)
时间:2020-09-23 15:52 来源:未知 作者:liangzh 点击:次
通过 spec.containers volumeMounts 字段在容器上定义的存储卷挂载列表,它只能挂载
Pod 资源中定义的具体存储卷,当然,也可以不挂载任何存储卷 如图 所示
Pod 级别定义存储卷时, .spec.volumes 字段的值是对象列表格式,每个对象为一
个存储卷的定义,它由存储卷名称( .spec.volumes.name <String>)或存储卷对象( .Sp
volumes.VOL_TYPE <Object>)组成,其中 VOL TYPE 是使用的存储卷类型名称,它的内
嵌字段随类型的不同而不同
YAML编写规范:
YAML基本规则,大小写敏感、使用#表示注释、使用缩进表示层级关系等等。接下来我们主要介绍YAML编写的一些规范。
使用 “:”(冒号) + 空格表示单个键值对
YAML文档的组织结构:
YAML 文件可以由一或多个文档组成(也即相对独立的组织结构组成),文档间使用“---”(三个横线)在每文档开始作为分隔符。
同时,文档也可以使用“...”(三个点号)作为结束符(可选)。
文档使用 Unicode 编码作为字符标准编码,例如 UTF-8
使用“#”来表示注释内容
-
operate: #点击确定
element_info: text("确定")
find_type: by_android_uiautomator
operate_type: click
使用空格作为嵌套缩进工具。通常建议使用两个空格缩进,不建议使用 tab (甚至不支持)
序列表示:
使用“-”(横线) + 单个空格表示单个列表项
--- # 文档开始
- 第一章 简介
- 第二章 前言
使用"[]"表示一组数据
--- # 文档开始
[black, red, green]
键值表:
使用 “:”(冒号) + 空格表示单个键值对
date: 2019-06-06
tester:
- name: 小小渔夫
info:
- num: 123456
- age: 2
使用"{}"表示一个键值表
date: 2019-06-06
tester:
- name: 小小渔夫
info:
- num: 123456
- age: 21
person: {num: 123456, age: 21}
3、临时存储卷
Kubemetes 支持存储卷类型中, emptyDir 存储卷的生命周期与其所属的 Pod 对象相同,它
无法脱离 Pod 对象的生命周期提供数据存储功能,因此 emptyD让通常仅用于数据缓存或临时
存储 不过,基于 emptyD让构建的 gitRepo 存储卷可以在 Pod 对象的生命周期起始时从相应的
Git仓库中复制相应的数据文件到底层emptyD让中,从而使得它具有了一定意义上的持久性
1>emptyDir 存储卷
empty Dir 存储卷 Pod 象生命周期中的 个临时目 似于 Docker 上的“ docker挂载卷”,
在 Pod 对象启动时即被创建,而在 Pod 对象被移除时会被一并删除 不具有持久
能力的 emptyDir 存储卷只能用于某些特殊 景中,例如, Pod 内的多个容器间文件的
共享,或者作为容器数据的临时存储目录用于数据缓存系统等
empty Dir 存储卷 定义于 spec.volumes.emptyDir 套字段中,可用字段主要包含两个,
具体如下
medium :此 目录所在的存储介质的类型,可取值为"fault"或"Memory"
默认为default ,表示使用节点的默认存储介质;
"Memory"表示使用基于 RAM 的临时
文件系统 tmpfs ,空间受限于内存,但性能非常好, 通常用于为容器中的应用提供缓存空间。
sizeLimit:当前存储卷 间限额,默认值为 nil 表示不限制;不过, medium
字段值为Memory时建议务必定义此限
下面是一个使用了 empty Dir 存储卷的简单示例,
(责任编辑:liangzh) |