k8s存储卷与数据持久化(17)
时间:2020-09-23 15:52 来源:未知 作者:liangzh 点击:次
label- alu
metadata.annotations : Pod 对象 所有注解信息,每行一个 格式为 nnotat nkey escaped-annotation value
下面的 源配置清单示 downwardAPI vo l. yaml )中定义的 对象通过 ow wa dAPI
容器 volume test container 注入了 Pod 对象隶属 名称空 、标签、注解以及容
器自身 CPU 资源 和内存资源请求等信息 存储卷在容器中的挂载点为/ podinfo
录,因 ,注入的每一项信息均会映射为 路径下的一个文件
kind : Pod
apiVersion : vl
metadata :
labels :
zone : east-china
rack : rack-101
app: dap 工- vol-pod
name: dapi-vol pod
annotat ons:
annotationl :”test-value-1"
spec :
containers :
- name : volume-test-conta ner
image: busybox
command : ["sh" ," - c",”s leep 86400
resources :
requests :
memory :" 32Mi"
cpu :”125m”
limits :
memory :”64Mi"
仅供自商业用 主峡交流学习仪ITI
200 Kubernetes 进阶实战
cpu :”250m”
volumeMounts:
- name : podinfo
mountPath: /etc/podinfo
readOnly : false
volumes:
- name : podinfo
downwardAPI:
defaultMode: 420
items :
- fieldRef :
fieldPath: metadata . namespace
path : pod_namespace
- fieldRef:
fieldPath : metadata . labels
path : pod_labels
- fieldRef:
fieldPath: metadata . annotations
path : pod_annotations
- resourceF eldRef:
containerName : volume-test- container
resource limits.cpu
path .”cpu_ limit"
- resourceFieldRef :
containerName : volume-test- container
resource: requests .memory
divisor:”lMi"
path:”mem_ reques t"
建资源配置清单中定义的 Pod 象后 即可测试访问由 downwardAPI 存储卷映射的文
pod_namespace pod lab ls pod_annotations limits_cpu mem quest
~]$ kubectl create -f downwardAPI vol . yaml
pod dap vol-pod" created
接下来即可测试访问上述的映射 例如, 查看 Pod 的标 列表:
~]$ kubectl exec dapi-vol-pod -- cat /etc/pod nfo/pod_labels
app=”dapi-vol-pod"
rack=”rack-101 "
zone east-ch na
如命令结果所示, Pod 象的标签信息每行一个地映射于自定义 的路径/ tc podinfo
pod_labels 文件中,类似地,注解信息也以这种方式进行处理 如前面的章节中所述,标签
注解支持运行时修改,其改动的结果也会实时映射进 downwardAPI 生成的文件中 例如,
dapi-vol pod 添加新的标签
~]$ kubectl label pods dapi-vol-pod env=”test"
pod "dapi vol-pod" labeled
仅{)飞刊 11ll, 用途旦旦交流宇斗使用
章存储卷与数据持久化 201
而后再次查看容器内的 pod_labels 文件的内容,由如下的命令结果可知新的标签已经能
够通过相关的文件获取到
~)$ kubectl exec dapi-vol-pod -- cat /etc/podinfo/pod_ labels
app=" dapi-vol - pod"
env=" t es t"
rack=" rack-101"
zone= "east-china"
downwardAPI 存储卷为Kubernetes 运行容器 应用提供了获取外部环境信息的有效
途径,这一点对那些非为云原生开发的应用程序在不进行代码重构的前提下,获取环境信息
进行自身配置等操作时尤为有用
本章小结
本章主要讲解了 Kubernetes 的存储卷及其功用,并通过应用示例给出了部署存储卷类
型的使用方法,具体如下
临时存储卷 emptyDir itRepo 的生命周期与 Pod 对象相同,但 gitRepo 够通过
引用外部 git 库的数据来实现数据的持久性 (责任编辑:liangzh) |