今天这篇文章开始,我们开始介绍kubernetes的存储。在kubernetes的存储分类里面主要分为数据卷和存储卷。这篇文章我们主要介绍的是数据卷。
数据卷在kubernetes中的定义就是一个可以被容器组里面的容器访问的文件目录。
这里大家思考一下,在很多docker容器启动的时候,我们会涉及到挂载一些目录,例如如下的docker命令:
docker run -d -v /home/pubserver/ftpdir:/home/vsftpd -p 21111:20 -p 21112:21 -p 21100-21110:21100-21110 -e FTP_USER=user1 -e FTP_PASS=user1 -e PASV_ADDRESS=192.168.10.20 -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd
这条命令是我们需要启动一个ftp的docker容器,在里面我们的-V参数里面添加了如下路径:
/home/pubserver/ftpdir:/home/vsftpd
这里以分号为间隔,我们先看第二个目录:/home/vsftpd。
这个目录是ftp这个docker容器里面的目录,也就是说docker启动了之后,他需要把数据写入到/home/vsftpd里面。但是这个/home/vsftpd的目录是存在于docker容器里面的,他不存在于宿主机里面,当这个docker容器被销毁的时候,写入里面的数据就会被删除掉。那么我们肯定是不希望docker容器销毁的时候,数据也被销毁掉,所以这里,我们需要为docker容器里面的/home/vsftpd目录建立一个宿主机的映射目录。这样子如果docker容器被销毁了,那么数据还存在于宿主机上,此时我们重新启动docker容器就可以直接加载已有的数据。
根据上面的比喻,在kubernetes中的数据卷就相当于docker的宿主机映射文件目录。这里主要是供kubernetes的容器组Pod里面的容器写入数据用。如果kubernetes里面的pod被销毁,或者出现其他意外,pod漂移到了其他节点,那么同样可以加载出来数据。保证业务的正常运行。
备注:
1、一个容器组可以有多个数据卷,每个数据卷可以挂载多需要使用他的容器的挂载点上。
2、不同类型的数据卷对应不同的存储介质,例如:nfs、PVC、ConfigMap。
在kubernetes中可以直接很直观的查看到数据卷。
点击添加数据卷,就可以添加数据卷了。
后面我们会详细的介绍添加数据卷的过程。
还没有评论,来说两句吧...