K8s系列之:Volume存储卷
一、Volume存储卷
Volume是Pod中能够被多个容器访问的共享目录。
- K8s中的Volume定义在Pod上,然后被一个Pod里的多个容器挂载到具体的文件目录下。
- K8s中的Volume与Pod的生命周期相同,但与容器的生命周期不相关,当容器终止或者重启时,Volume中的数据也不会丢失。
- K8s支持多种类型的Volume。例如GlusterFS、Ceph等先进的分布式文件系统。
先在Pod上声明一个Volume,然后在容器里引用该Volume,并Mount到容器里的某个目录上。
举例,要给之前的Tomcat Pod增加一个名字为datavo1的Volume,并且Mount到容器的/mydata-data目录上,只要对Pod的定义文件做如下修正即可:
template:
metadata:
labels:
app: app-demo
tier: frontend
spec:
volumes:
- name: datavo1
emptyDir: {}
containers:
- name: tomcat-demo
image: tomcat
volumeMounts:
- moutPath: /mydata-data
name: datavol
imagePullPolicy: IfNotPresent
- 可以让一个Pod里的多个容器共享文件、让容器的数据写到宿主机的磁盘上或者写文件到网络存储中
- K8s的Volume扩展出了一种非常有实用价值的功能,即容器配置文件集中化定义与管理,通过C