Kubernetes技术与架构-存储 1

Kubernetes集群Pod中运行的容器实例绑定的资源包括计算、内存、网络以及存储,本文主要描述Kubernetes存储体系的使用方式,Kubernetes存储对象需要解决的问题主要包括在Pod重启过程中原始数据不会丢失、运行在Pod中多个容器实例可以共享地使用存储对象。

kubectl create configmap <map-name>  <data-source>

使用kubectl命令行工具创建一个configMap的存储对象

图片

如上所示,运行在Pod中的容器实例mount了一个configMap存储对象config-vol,其挂载在Pod中的路径是/etc/config

图片

如上所示,运行在Pod中的容器实例mount了一个emptyDir存储对象cache-volume,emptyDir存储对象是在Pod运行成功后创建的空目录存储对象,当Pod从服务器节点Node中被删除的时候,emptyDir存储对象才会被删除,存储在其中的数据也被删除

gcloud compute disks create --size=500GB  --zone=us-central1-a my-data-disk

创建一个GCE类型的存储对象,GCE是google cloud提供的云原生存储对象

图片

如上所示,在地区us-central1-a中创建一个GCE类型的持久化存储对象,挂载在test-pd的Pod中

gcloud compute disks create --size=500GB  my-data-disk

   --region us-central1

   --replica-zones us-central1-a,us-central1-b

在地域us-central1的两个可用地区us-central1-a,us-central1-b,创建一个共享的GCE类型的存储对象

图片

如上所示,创建一个PersistentVolume类型的持久化存储对象,两个可用地区us-central1-a,us-central1-b可共享使用

图片

如上所示,在Pod挂载一个hostPath类型的存储对象,将主机文件系统的/data目录挂载到Pod的目录/test-pd中

图片

如上所示,在Pod挂载两个hostPath的存储对象,分别将主机文件系统的目录或者文件挂载到Pod中

图片

如上所示,创建一个PersistentVolume类型的持久化的存储对象,挂载本地主机系统的磁盘或者分区或者目录,设置nodeAffinity,由Kubernetes集群调度到指定服务器节点node中

图片

如上所示,在Pod中挂载一个nfs类型的存储对象,nfs是共享式的互联网文件系统,可在Kubernetes集群内所有的Pod中共享存储,当Pod被删除的时候,内容也不会被删除

    

图片

如上所示,创建一个持久化的存储对象site-data,同一个Pod内运行多个容器实例,在每个容器实例中挂载一个site-data的子目录

图片

如上所示,创建一个主机存储对象workdir1,使用Kubernetes集群环境变量pod的名称作为子目录,标识不同应用的日志文件

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangys2006

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值