hostPath类型的卷挂载
卷类型之hostPath
hostPath类型的卷可以把宿主机节点上的文件或文件夹挂载到pod中
先来看看hostPath类型的卷如何配置:
apiVersion: v1
kind: Pod
metadata:
name: test-pd
spec:
volumes:
- name: test-volume
hostPath:
path: /data
type: Directory
containers:
- image: k8s.gcr.io/test-webserver
name: test-container
volumeMounts:
- name: test-volume
mountPath: /test-pd
mountPropagation: None
readOnly: true
subPath: test.txt
subPathExpr:
这里针对每一个配置项逐一解释:
sepc.volumes: 配置宿主机节点上的挂载目录
| 配置项名称 | 是否必须 | 说明 |
|---|---|---|
| name | 必须 | 卷的名称,在pod内必须唯一 |
| hostPath.path | 必须 | 宿主机上的目录路径,如果是符号链接,它将根据符号链接追踪到实际路径 |
| hostPath.type | 可选 | hostPath卷的类型,默认为“” |
hostPath.type的枚举值有:
| 取值 | 说明 |
| DirectoryOrCreate | 如果给定路径不存在,将根据需要在那里创建一个空目录,权限设置为755,与Kubelet具有相同的组和所有权。 |
| Directory | 给定的目录路径必须存在 |
| FileOrCreate | 如果给定路径不存在,将根据需要在那里创建一个空文件,权限设置为644,与Kubelet具有相同的组和所有权。 |
| File | 给定路径上必须存在对应文件 |
| Socket | 给定路径上必须存在一个UNIX socket |
| CharDevice | 给定路径上必须存在字符设备 |
| BlockDevice | 给定路径上必须存在块设备 |
使用type字段时需要注意:
由于节点上的文件不同,具有相同配置(如从podTemplate创建的)的Pods在不同节点上的行为可能不同
当Kubernetes按照计划添加资源感知调度(?)时,它将不会使用hostPath声明的资源
在主机上创建的文件或目录只能由根用户写。你需要在一个有特权的容器中以root身份运行进程,或者修改主机上的文件权限,以便能够写入hostPath卷
containers.volumeMounts: 配置挂载到pod里的路径
| 配置项名称 | 是否必须 | 说明 |
| name | 必须 | 此处卷的名称必须和spec.volumes下的某个卷的名称一致 |
| mountPath | 必须 | 挂载到容器里的路径,不能包含英文冒号‘:’ |
| mountPropagation | 可选 | 该参数决定如何将挂载从主机传播到容器,反之亦然。默认为None |
| readOnly | 可选 | 是否只读,默认为可读写 |
| subPath | 可选 | 将spec.volumes中的子目录挂载到容器中不同的位置,默认为“”,也就是挂载到spec.volumes定义的根目录 |
| subPathExpr | 可选 | 与subPath类似,但是路径中可以支持从环境变量取值:${VAR_NAME},默认为“”,也就是spec.volumes定义的根目录。和subPath只能有一个出现 |
mountPropagation的取值有:
None:默认值,卷在容器中以及宿主机上的后续挂载相互隔离
HostToContainer:任何在宿主机上创建的卷挂载在容器中都是可见的
Bidirectional:任何在容器中创建的卷挂载都会传播到宿主机,然后传播到所有使用此挂载的pod中的容器里
hostPath类型的卷挂载的更多相关文章
- docker卷挂载与容器内外互相拷贝数据
一.宿主机与容器的挂载 docker可以支持把一个宿主机上的目录挂载到镜像里.命令如下: docker run -it -v /mydownload:/download nginx:v1 /bin/b ...
- docker数据卷挂载
docker数据卷挂载笔记 我们的服务运行时必不可少的会产生一些日志,或是我们需要把容器内的数据进行备份,甚至多个容器之间进行数据共享,这必然涉及容器的数据管理操作. 容器中管理数据主要有两种方式: ...
- 阿里云 ECS 逻辑卷挂载数据盘
查看磁盘信息: [root@ixx~]# fdisk -l Disk /dev/xvda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track ...
- Windows API 第20篇 SetVolumeMountPoint 设置卷挂载点参数错误
函数原型:BOOL SetVolumeMountPoint( IN LPCTSTR lpszVo ...
- Docker 安装mysql容器数据卷挂载到宿主机
环境 Centos:7 Docker: 17.05-ce Mysql: 5.7 1. Mysql外部数据和配置文件路径 msyql配置文件路径:/etc/mysql mysql数据卷路径:/var/l ...
- docker 数据卷挂载总结
原文
- k8s volume存储卷(四)
介绍 volume存储卷是Pod中能够被多个容器访问的共享目录,kubernetes的volume概念,用途和目的与docker的volume比较类似,但两者不能等价,首先,kubernetes中的v ...
- k8s volume存储卷
k8s volume存储卷 介绍 volume存储卷是Pod中能够被多个容器访问的共享目录,kubernetes的volume概念,用途和目的与docker的volume比较类似,但两者不能等价, ...
- 容器编排系统K8s之Volume的基础使用
前文我们聊到了k8s上的ingress资源相关话题,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14167581.html:今天们来聊一下k8s上volum ...
- kubernets之statefulset资源
一 了解Statefulset 1.1 对比statefulset与RS以及RC的区别以及相同点 Statefulset是有状态的,而RC以及RS等是没有状态的 Statefulset是有序的,拥 ...
随机推荐
- 基于 VScode 搭建 Qt 运行环境
插件 C/C++ Qt tools Qt Configure CMake CMake Tools 下载 qt https://download.qt.io/official_releases/onli ...
- 基于 .NET7.0 开发Telegram 机器人(入门)
简介 Telegram(非正式简称TG.电报)是跨平台的即时通信软件,其客户端是自由及开放源代码软件,但服务端是专有软件.用户可以相互交换加密与自毁消息,发送照片.视频等所有类型文件.官方提供手机版( ...
- py之赋值,选择判断
赋值机制 赋值之后:变量的地址就会指向同一个地址 a=123123 b=a id(a) id(b) 字符串是不论有多长内容一样地址一样 a='sadasd' b='sadasd' id(a) id(b ...
- 图文并茂基于阿里云linux服务器部署nodejs项目并添加pm2守护nodejs项目运行进程(Linux version 4.19.81-17.1.al7.x86_64)
首先你要有一台LINIX服务器,登入以后按下面步骤执行命令,可查看系统版本以及配置 查看Linux 内核 通过 uname -a 命令查看系统位数是64位 x86_64表示64位系统, i686 i3 ...
- 大数据实时多维OLAP分析数据库Apache Druid入门分享-下
@ 目录 架构 核心架构 外部依赖 核心内容 roll-up预聚合 列式存储 Datasource和Segments 位图索引 数据摄取 查询 集群部署 部署规划 前置条件 MySQL配置 HDFS配 ...
- 一文讲尽Thread类的源码精髓
摘要:今天,我们就一起来简单看看Thread类的源码. 本文分享自华为云社区<[高并发]Thread类的源码精髓>,作者:冰 河. 前言 最近和一个朋友聊天,他跟我说起了他去XXX公司面试 ...
- C#实现聊天消息渲染、图文混排(支持Windows、Linux)
在实现聊天软件时,渲染文字表情图文混排是一项非常繁琐的工作,再加上还要支持GIF动图.引用消息.撤回消息.名片等不同样式的消息渲染时,就更加麻烦了. 好在我们可以使用 ESFramework 提供的 ...
- (一)Abp入门
ABP 是用于创建现代Web应用程序的完整体系结构和强大的基础架构,遵循最佳实践和约定,为 您提供 SOLID 开发经验. 目前 ABP 的版本 ASP.NET Boilerplate ASP.N ...
- git 拉取github项目失败(超时)
问题 通过git拉取GitHub上的项目失败报错信息如下 fetch-pack: unexpected disconnect while reading sideband packet fatal: ...
- C-03\浮点数转换与编码和补码
工程生成文件格式了解(常用) 工具 文件 作用 vc++6.0 .dsw 最高级别的配置文件,记录了整个工作空间的配置信息,是一个纯文本的文件,创建新项目时自动生成 vc++6.0 .dsp 配置文件 ...