DCOS之K8S的volumes

Kubernetes 中的持久化存储:emptyDir, hostPath 和 Ceph RBD
本文介绍了在 Kubernetes 中如何使用不同类型的持久化存储,包括emptyDir(一种临时存储解决方案)、hostPath(直接挂载宿主机目录)以及Ceph RBD(通过Ceph集群提供的块设备存储)。详细步骤包括emptyDir的创建与使用,hostPath的注意事项,以及Ceph RBD的安装、配置和挂载。内容涵盖了从创建secret到在container中验证挂载情况的过程。

PS:转载之ceph集群对接k8s

docker本身设计之初是用来执行一个app,抑或是一个应用程序,在其运行结束后,将销毁一切数据,但是这明显不是我们想要的,docker也 想到了这个,因此其本身提供一个-v的参数,用来将外部的存储挂载到container中,用来保存我们的持久化的数据。kubernetes最为其集群 管理工具,自然也想到了这些,而且还提供了更强大的功能,基于其插件化的设计,kubernetes针对volume的driver支持是十分丰富的。本 文就简单描述几个driver的设计思想和使用方法:

emptyDir

如果Pod配置了emptyDir类型 Volume, Pod 被分配到Node上时候,会创建emptyDir,这好像是基于pod的一块内存分配。只要Pod运行在Node上,emptyDir都会存在(Pod中 任何一个容器挂掉不会导致emptyDir丢失数据),但是如果Pod从Node上被删除(Pod被删除,或者Pod发生迁移),emptyDir也会被 删除,并且永久丢失。

创建一个pod并且使用emptyDir volume:

apiVersion: v1
kind: Pod
metadata:
  name: test-emptydir
spec:
  containers:
  - name: nginx
    image: nginx
    volumeMounts:
    - name: empty
      mountPath: /mnt
  volumes:
  - name: empty
    emptyDir:
      Medium: ""   # 这里可以使用空或者使用"memory"关键字,来制定不通的存储媒介

创建完后,我们通过进入container中查看/mnt所挂载的类型

# kubectl exec -p test-emptydir -it /bin/bash
root@test-emptydir:/# findmn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值