Kubernetes部分Volume类型介绍及yaml示例

1、EmptyDir(本地数据卷)

  EmptyDir类型的volume创建于pod被调度到某个宿主机上的时候,而同一个pod内的容器都能读写EmptyDir中的同一个文件。一旦这个pod离开了这个宿主机,EmptyDirr中的数据就会被永久删除。所以目前EmptyDir类型的volume主要用作临时空间,比如Web服务器写日志或者tmp文件需要的临时目录。yaml示例如下:

[[email protected] demon2]# cat test-emptypath.yaml
apiVersion: v1
kind: Pod
metadata:
labels:
name: test-emptypath
role: master
name: test-emptypath
spec:
containers:
- name: test-emptypath
image: registry:5000/back_demon:1.0
volumeMounts:
- name: log-storage
mountPath: /home/laizy/test/
command:
- /run.sh
volumes:
- name: log-storage
emptyDir: {}

2、HostDir(本地数据卷)

  HostDir属性的volume使得对应的容器能够访问当前宿主机上的指定目录。例如,需要运行一个访问Docker系统目录的容器,那么就使用/var/lib/docker目录作为一个HostDir类型的volume;或者要在一个容器内部运行CAdvisor,那么就使用/dev/cgroups目录作为一个HostDir类型的volume。一旦这个pod离开了这个宿主机,HostDir中的数据虽然不会被永久删除,但数据也不会随pod迁移到其他宿主机上。因此,需要注意的是,由于各个宿主机上的文件系统结构和内容并不一定完全相同,所以相同pod的HostDir可能会在不同的宿主机上表现出不同的行为。yaml示例如下

[[email protected] demon2]# cat test-hostpath.yaml
apiVersion: v1
kind: Pod
metadata:
labels:
name: test-hostpath
role: master
name: test-hostpath
spec:
containers:
- name: test-hostpath
image: registry:5000/back_demon:1.0
volumeMounts:
- name: ssl-certs
mountPath: /home/laizy/test/cert
readOnly: true
command:
- /run.sh
volumes:
- name: ssl-certs
hostPath:
path: /etc/ssl/certs

3、NFS(网络数据卷)

  NFS类型的volume。允许一块现有的网络硬盘在同一个pod内的容器间共享。yaml示例如下:

[[email protected] demon2]# cat test-nfspath.yaml
apiVersion: v1
kind: Pod
metadata:
labels:
name: test-nfspath
role: master
name: test-nfspath
spec:
containers:
- name: test-nfspath
image: registry:5000/back_demon:1.0
volumeMounts:
- name: nfs-storage
mountPath: /home/laizy/test/
command:
- /run.sh
volumes:
- name: nfs-storage
nfs:
server: 192.168.20.47
path: "/data/disk1"

4、Secret(信息数据卷)

  Kubemetes提供了Secret来处理敏感数据,比如密码、Token和密钥,相比于直接将敏感数据配置在Pod的定义或者镜像中,Secret提供了更加安全的机制(Base64加密),防止数据泄露。Secret的创建是独立于Pod的,以数据卷的形式挂载到Pod中,Secret的数据将以文件的形式保存,容器通过读取文件可以获取需要的数据。yaml示例如下:

[[email protected] demon2]# cat secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
username: emhlbnl1
password: eWFvZGlkaWFv
[[email protected] demon2]# cat test-secret.yaml
apiVersion: v1
kind: Pod
metadata:
labels:
name: test-secret
role: master
name: test-secret
spec:
containers:
- name: test-secret
image: registry:5000/back_demon:1.0
volumeMounts:
- name: secret
mountPath: /home/laizy/secret
readOnly: true
command:
- /run.sh
volumes:
- name: secret
secret:
secretName: mysecret

原文地址:https://www.cnblogs.com/lixianfa/p/8589522.html

时间: 2024-10-31 21:06:19

Kubernetes部分Volume类型介绍及yaml示例的相关文章

Kubernetes部分Volume类型介绍及yaml示例--NFS(网络数据卷)

说明nfs 卷允许将现有的 NFS(网络文件系统)共享挂载到你的容器中.不像 emptyDir,当删除 Pod 时,nfs 卷的内容被保留,卷仅仅是被卸载.这意味着 NFS 卷可以预填充数据,并且可以在 pod 之间"切换"数据. NFS 可以被多个写入者同时挂载. 部署NFS服务器关于NFS的部署,请参考NFS部署及优化(一) 实战pod内的文件共享 #创建yaml文件 cat >> nginx_volume.yaml << EOF apiVersion: v

自建Kubernetes的LoadBalancer类型服务方案-MetalLB

自建Kubernetes的LoadBalancer类型服务方案-MetalLB [TOC] 1. 环境 kubernetes环境: kubeadm v1.13.1,网络使用flannel helm v2.13.0 2. 安装 helm fetch --untar stable/metallb cd metallb vim values.yaml # 配置ip池 helm install --name metallb --namespce kube-system ./ configInline:

kubernetes 的volume 配置

kubernetes 的volume 配置 标签(空格分隔):kubernetes系列 一:kuberentes 的volume 配置 一:kuberentes 的volume 配置 1.1 背景 说明: 容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题.首先,当容器崩溃 时,kubelet 会重启它,但是容器中的文件将丢失--容器以干净的状态(镜像最初的状态)重新启动.其次,在 Pod 中同时运行多个容器时,这些容器之间通常需要共享文件.Kubernetes 中

四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)

四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例) 众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都自带了,在xml-apis.jar包里 SAX:http://sourceforge.net/projects/sax/ JDOM:http://jdom.org/downloads/index.html DOM4J:http://sourceforge.

nginx虚拟主机概念和类型介绍

nginx虚拟主机配置实战 1,虚拟主机概念和类型介绍 所谓虚拟主机,在web服务里就是一个独立的网站站点,这个站点对应独立的域名(也可能是IP或端口),具有独立的程序及资源目录,可以独立地对外提供服务供用户访问. 这个这个独立的站点在配置里是由一定格式的标签段标记,对于apache软件来说,一个虚拟主机的标签段通畅被包含在<VirtualHost></VirtualHost>内,而nginx软件则使用一个server{}标签来标示一个虚拟主机,一个web服务里可以有多个虚拟主机主

jquery mobile常用的data-role类型介绍

转自原文 jquery mobile常用的data-role类型介绍 data-role参数表: page        页面容器,其内部的mobile元素将会继承这个容器上所设置的属性 header     页面标题容器,这个容器内部可以包含文字.返回按钮.功能按钮等元素 footer       页面页脚容器,这个容器内部也可以包含文字.返回按钮.功能按钮等元素 content     页面内容容器,这是一个很宽容的容器,内部可以包含标准的html元素和jQueryMobile元素 cont

红帽存储管理2——volume类型与创建

红帽存储管理2--volume类型与创建 三.volume的管理 红帽存储服务器管理的对象主要就是volume,volume是brick逻辑上的集合,这种集合的方法也有多种,不同的集合方式代表不同的volume类型,主要有七大类型 1.volume类型 Distributed 分布式:将文件平均分配到不同的bricks中(以文件个数平均分配),如果一个volume只包含1个brick,也叫做distributed volume,所以distributed volume至少要包含1个brick R

&lt;28&gt;【了解】10-枚举类型介绍及定义+【掌握】11-枚举变量变量定义和使用+【掌握】13-typedef定义新的类型+【掌握】15-宏的概念及无参宏定义方法+【掌握】16-有参宏定义和使用方法+【掌握】17-应用:使用有参宏求最大值+【掌握】18-typedef和#define的区别

[了解]10-枚举类型介绍及定义 枚举类型: C语言提供了一个种类型,这种类型的变量的取值被限定在一定的范围之内了 枚举类型的定义: enum 枚举类型名{ 枚举值1,枚举值2,.... }; 举例: 定义一个变量,保存一周的第几天 enum weekday{ zhouyi,zhouer,zhousan,zhousi,zhouwu ,zhouliu,zhouri }; 定义iPhone手机的颜色 关于枚举类型元素的命名习惯 enum iColor{kIcolorWhite,kIcolorBlac

【转】NHibernate主键类型介绍

转自:http://blog.163.com/wzx_dd/blog/static/1942850722012828934553/ 最近整合了一下框架,用SSH搭建了一个框架,但是在整合好之后,启动tomcat的时候老是报这个错误,上网搜集了一下并向同事问了问,终于知道了错误原因: 数据库不支持自动递增主键(oracle就不支持)所以你的key generation需要从新设置 通过上网搜集,整理了一下关于主键自增列的知识,以供以后学习使用: 1) Assigned 主键由外部程序负责生成,无需