一 卷的由来以及种类和常用的卷的类型
前面介绍了大部分都是pod的管理以及在集群内部和集群外部如何访问pod,但是我们也了解到,pod是有生命周期的,当pod所在节点下线,或者等其他原因原因导致pod需要中止服务,此时
之前pod里面存储的数据也会随之而消失,所以这里就需要一个持久化存储手段,kubernets提供了一种持久化存储的方式称之为卷,并且根据可存储的内容分为很多种类
二 emptyDir的应用以及介绍
2.1 emptyDir最大的特点就是与之关联的pod可以写入任何形式的文件,并且它的生命周期和pod的生命周期保持一致,当pod消失之后该卷也会随之消失,而最大的作用其实是在pod的不同的
容器之间共享数据,可以将一个或若干个emptyDir挂载在一个pod的多个容器上,由于容器之间是相互隔离的,所以无法通信,但是通过这种挂载卷的形式就使得数据能够流通。
2.2 一个pod里面带有2个容器,并且通过挂载卷的方式使其相互通信的配置如下
apiVersion: v1
kind: Pod
metadata:
name: fortune
spec:
containers:
image: luksa/fortune
name: html-generator
volumeMounts:
image: nginx:alpine
name: web-server
volumeMounts:
name: html
emptyDir: {}
这个pod里面定义了2个容器,并且还挂载了一个名为html的空白卷
分别挂载在nginx容器和fortune容器的文件系统上面某个位置,如此就可以让本来互相隔离的容器通过这个来通信
2.3查看pod的状态
[root@node01 ~]# k get po
NAME READY STATUS RESTARTS AGE
fortune 2/2 Running 0 4h21m
[root@node01 ~]# curl http://127.1:8080
You are only young once, but you can stay immature indefinitely.
[root@node01 ~]# curl http://127.1:8080
The secret source of humor is not joy but sorrow; there is no humor in Heaven.
-- Mark Twain
三 hostPath卷的介绍以及应用
3.1 首先了解一下,hospath区别于其他类型的卷的地方,顾名思义,hostpath的卷是依赖于node节点的,就是将pod的数据持久化存储在节点上面,这个是区别于emptyDir卷的存在
但是有一个缺点是,众所周知,pod是有生命周期的,一旦pod由于任何原因消失,kubernets就会重新调度到节点上,但是会随机的调度到集群的任一节点,所以当第一个pod消失之后,很有可能
会调度到其他节点上,所以这个类型的卷不适合存储应用级别的卷,而是适合存储由daemonSet创建的pod,因为DaemonSet的pod属于系统级别的pod,每个节点都会存在一个
手机扫一扫
移动阅读更方便
你可能感兴趣的文章