全栈工程师开发手册 (作者:栾鹏)
架构系列文章


1、EmptyDir(本地数据卷)

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

[root@k8s-master demon2]# cat test-emptypath.yaml
apiVersion: v1
kind: Pod
metadata:labels:name: test-emptypathrole: mastername: test-emptypath
spec:containers:- name: test-emptypathimage: registry:5000/back_demon:1.0volumeMounts:- name: log-storagemountPath: /home/laizy/test/command:- /run.shvolumes:- name: log-storageemptyDir: {}

2、HostDir(本地数据卷)

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

yaml示例如下:

[root@k8s-master demon2]# cat test-hostpath.yaml
apiVersion: v1
kind: Pod
metadata:labels:name: test-hostpathrole: mastername: test-hostpath
spec:containers:- name: test-hostpathimage: registry:5000/back_demon:1.0volumeMounts:- name: ssl-certsmountPath: /home/laizy/test/certreadOnly: truecommand:- /run.shvolumes:- name: ssl-certshostPath:path: /etc/ssl/certs

3、NFS(网络数据卷)

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

yaml示例如下:

[root@k8s-master demon2]# cat test-nfspath.yaml
apiVersion: v1
kind: Pod
metadata:labels:name: test-nfspathrole: mastername: test-nfspath
spec:containers:- name: test-nfspathimage: registry:5000/back_demon:1.0volumeMounts:- name: nfs-storagemountPath: /home/laizy/test/command:- /run.shvolumes:- name: nfs-storagenfs:server: 192.168.20.47path: "/data/disk1"

4、Secret(信息数据卷)

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

yaml示例如下:

[root@k8s-master demon2]# cat secret.yaml
apiVersion: v1
kind: Secret
metadata:name: mysecret
type: Opaque
data:username: emhlbnl1password: eWFvZGlkaWFv
[root@k8s-master demon2]# cat test-secret.yaml
apiVersion: v1
kind: Pod
metadata:labels:name: test-secretrole: mastername: test-secret
spec:containers:- name: test-secretimage: registry:5000/back_demon:1.0volumeMounts:- name: secretmountPath: /home/laizy/secretreadOnly: truecommand:- /run.shvolumes:- name: secretsecret:secretName: mysecret

Kubernetes部分Volume类型介绍及yaml示例相关推荐

  1. 学习笔记之-Kubernetes(K8S)介绍,集群环境搭建,Pod详解,Pod控制器详解,Service详解,数据存储,安全认证,DashBoard

    笔记来源于观看黑马程序员Kubernetes(K8S)教程 第一章 kubernetes介绍 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署 ...

  2. Kubernetes系列之Helm介绍篇

    本次系列使用的所需部署包版本都使用的目前最新的或最新稳定版,安装包地址请到公众号内回复[K8s实战]获取 介绍 Helm 是 Deis 开发的一个用于 Kubernetes 应用的包管理工具,主要用来 ...

  3. .NET Core + Kubernetes:Volume

    和 Docker 类似,Kubernetes 中也提供了  Volume 来实现数据卷挂载,但 Kubernetes 中 Volume 是基于 Pod,而不是容器,它可被 Pod 中多个容器共享,另外 ...

  4. Kubernetes的client-go库介绍

    官方示例:https://github.com/kubernetes/client-go/blob/master/examples/out-of-cluster-client-configuratio ...

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

    自建Kubernetes的LoadBalancer类型服务方案-MetalLB 文章目录 自建Kubernetes的LoadBalancer类型服务方案-MetalLB 1. 环境 2. 安装 3. ...

  6. 关于 Kubernetes中Volume实操的一些笔记

    写在前面 学习K8s,刚把这一块学完,整理笔记,理论很少,偏实战,适合温习 博文内容涉及: 常见nfs,hostPath,emptyDir数据卷使用 PV+PVC的创建 持久性存储及动态卷供应 男女情 ...

  7. k8s使用volume将ConfigMap作为文件或目录直接挂载_NET Core + Kubernetes:Volume

    和 Docker 类似,Kubernetes 中也提供了 Volume 来实现数据卷挂载,但 Kubernetes 中 Volume 是基于 Pod,而不是容器,它可被 Pod 中多个容器共享,另外 ...

  8. Linux内核 eBPF基础:kprobe原理源码分析:基本介绍与使用示例

    Linux内核 eBPF基础 kprobe原理源码分析:基本介绍与使用示例 荣涛 2021年5月11日 kprobe调试技术是为了便于跟踪内核函数执行状态所设计的一种轻量级内核调试技术. 利用kpro ...

  9. Kubernetes Resource QoS Classes介绍

    2019独角兽企业重金招聘Python工程师标准>>> Kubernetes Resource QoS Classes介绍 @(Kubernetes) 基本概念 Kubernetes ...

最新文章

  1. Mac中将delete键定义为删除键
  2. Spock是什么?它和JUnit,JMock有什么区别?
  3. eclipse中编辑properties文件无法看到中文
  4. ubuntu 10.0.4安装小企鹅(Fcitx)输入法
  5. python控制语句中的条件语句_『Python』条件控制语句
  6. 一个前端开发人员多年苦心搜集的Chrome开发者工具使用技巧
  7. P2766-最长不下降子序列问题【网络流,dp】
  8. inux中限制用户进程CPU和内存占用率
  9. 字节(bytes) 二进制序列类型
  10. 在线打mysql代码_mysql 在线alter table要留神_mysql
  11. 用Intellij Idea创建一个普通的Java工程并用JDBC连接数据库
  12. android安卓使用socketIO实现聊天室功能
  13. 《从零开始做运营》1~2章 读书笔记
  14. java基础2 判断语句:if ... else 语句和 switch 语句
  15. 儿童汽车拼图游戏 - 儿童游戏拼图2岁-5岁
  16. 【Monkey Run】Excel编程 VBA
  17. 微信第三方平台开发流程
  18. PC端微信登录实现流程
  19. BP神经网络——基于近红外光谱的汽油辛烷值预测
  20. zkeys阿帕云对接易支付插件,支持zkeys阿帕云最新版(亲测可用)

热门文章

  1. erp服务器维护数据备份,erp服务器备份
  2. Vuex的核心概念state
  3. Vue常用特性~非常详细哦,带源码资料
  4. 如何生成草料二维码在手机查看微信效果
  5. 从零开始创建react项目的三种方法(转)
  6. 蓝桥杯2013c++真题:排它平方数
  7. 4符号代码_ELF文件格式解析器 原理 + 代码
  8. flex连接mysql,flex对数据库(sqlite)的操作
  9. java下载网络文件_java 从网络Url中下载文件
  10. jenkins无法连接仓库:Command “/usr/bin/git ls-remote -h -- https://gitee.com/xxx.git HEAD“ returned