kubernetes in action

摘要:
Volume解决了Kubernetes的存储问题。对于吊舱使用的存储,存储的塑料不会因容器重新启动而丢失。这非常方便,但您需要将卷装入容器中。Web服务器将通过/var/htdocs读取VolumePublicHtml中的数据。其特点是,删除pod后,数据将丢失。用户不需要知道和配置特定的存储。

Volume解决Kubernetes的存储的问题

对于Pod使用的存储,抽象为volume,volume伴随着Pod的创建而创建,消失而同时消失,不能单独的创建

这样的好处,是存储的塑胶不会因为某个container重启而丢失,因为volume是pod级别的

还有好处是,volume是pod资源,所以所有Pod中的container都可以共享访问这个volume,这样非常的方便

但是需要在contain中去mount这个volume,可以mount到任意目录,比如下面这个例子,

ContentAgent会产生内容html到/var/html,这个目录对应于Volume publicHtml,
WebServer会通过/var/htdocs读取Volume publicHtml中的数据,并把日志通过/var/logs/写到Volume logVol中
最后LogRotator会从Volume logVol消费logs

kubernetes in action第1张

volume有很多种类型,

- emptyDir—A simple empty directory used for storing transient data.
- hostPath—Used for mounting directories from the worker node’s filesystem into the pod.
- gitRepo—A volume initialized by checking out the contents of a Git repository.
- nfs—An NFS share mounted into the pod.
- gcePersistentDisk (Google Compute Engine Persistent Disk), awsElastic-
- BlockStore (Amazon Web Services Elastic Block Store Volume), azureDisk (Microsoft Azure Disk Volume)—Used for mounting cloud provider-specific storage.
- cinder, cephfs, iscsi, flocker, glusterfs, quobyte, rbd, flexVolume, vsphere-Volume, photonPersistentDisk, scaleIO—Used for mounting other types of network storage.
- configMap, secret, downwardAPI—Special types of volumes used to expose certain Kubernetes resources and cluster information to the pod.
- persistentVolumeClaim—A way to use a pre- or dynamically provisioned persistent storage. (We’ll talk about them in the last section of this chapter.)

其中,

emptyDir最常用,特点是pod删除后数据会丢失,用户container间交互数据或者纯计算的中间结果

kubernetes in action第2张

hostPath,mount到node的目录,这样数据就不会因为pod删除而丢失

 kubernetes in action第3张

当然,如果要跨节点的恢复数据,就需要用到分布式的volume,比如,gcePersistentDisk

PersistentVolumeClaims,提供一种抽象来封装底层各种具体的存储 

 kubernetes in action第4张kubernetes in action第5张

这样的好处,user不需要了解和配置具体的存储,可以直接使用,那些事情交给Admin去做

Dynamic provisioning of PersistentVolumes

提前配置好,Persistent Volume Provisioner和Storage Class,仅仅在需要的时候才会自动产生Persistent Volume

kubernetes in action第6张

免责声明:文章转载自《kubernetes in action》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇利用dd命令制作u盘iso镜像PyH : python生成html下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

蓝牙协议体系结构

蓝牙协议体系结构   整个蓝牙协议体系结构可分为底层硬件模块、中间协议层和高端应用层三大部分。   链路管理层(LMP,Link Management Protocol)、基带层(BB)和射频(RF)构成蓝牙的底层模块。RF通过2.4GHz无需授权的ISM频段,实现数据位流的过滤和传输,它主要定义了蓝牙收发器应该满足的要求。BB层负责跳频和蓝牙数据及信息帧...

Kubernetes进阶实战读书笔记:StatefulSet控制器(资源升级)

一、滚动更新 1、将myapp控制器下的pod资源镜像升级为:"ikubernetes/myapp:v6" [root@master ~]# kubectl set image sts myapp myapp=ikubernetes/myapp:v6 statefulset.apps/myapp image updated 2、实时监控更新操作过程 [ro...

利用linux的df和du命令查看文件和目录的内存占用

外用 dh -f 内用 du -h 详细在 linux 使用 --help 查询 # ------------------------------------------------------------------------------------------------------------------------------ 上面是我之前我自己...

Lakehouse 架构解析与云上实践

​简介:本文整理自 DataFunCon 2021大会上,阿里云数据湖构建云产品研发陈鑫伟的分享,主要介绍了 Lakehouse 的架构解析与云上实践。 作者简介:陈鑫伟(花名熙康),阿里云开源大数据-数据湖构建云产品研发内容框架 Lakehouse 概念与特性 Lakehouse 架构与实现 云上 Lakehouse 架构与实践 案例分享及未来展望...

jupyter之配置自己喜欢的python环境

之前安装anaconda,会自动安装jupyer笔记本,但是本人从来没有用过,近期查看github上的一些教程时,发现很多文件都是.ipynb为后缀的jupyter文件,于是自己准备琢磨一下把环境换成已有的py环境(我自己设置的python环境中有一些之前安好的包),毕竟jupyer的界面比ipython啥的要好看很多,也方便修改和可视化。 一、查看jup...

Build.gradle 详细配置说明

apply plugin: 'com.android.application' //说明 module 的类型,com.android.application 为程序 android { compileSdkVersion 22 //编译的SDK版本 buildToolsVersion "22.0.1" //编译的 Tool...