前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在K8S Volume中使用 subPath

在K8S Volume中使用 subPath

作者头像
东风微鸣
发布于 2022-04-21 05:55:23
发布于 2022-04-21 05:55:23
1.9K00
代码可运行
举报
运行总次数:0
代码可运行

使用 subPath

有时,在单个 Pod 中共享卷以供多方使用是很有用的。volumeMounts.subPath 属性可用于指定所引用的卷内的子路径,而不是其根路径。

下面是一个使用同一共享卷的、内含 LAMP 栈(Linux Apache Mysql PHP)的 Pod 的示例。HTML 内容被映射到卷的 html 文件夹,数据库将被存储在卷的 mysql 文件夹中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apiVersion: v1
kind: Pod
metadata:
  name: my-lamp-site
spec:
    containers:
    - name: mysql
      image: mysql
      env:
      - name: MYSQL_ROOT_PASSWORD
        value: "rootpasswd"
      volumeMounts:
      - mountPath: /var/lib/mysql
        name: site-data
        subPath: mysql
    - name: php
      image: php:7.0-apache
      volumeMounts:
      - mountPath: /var/www/html
        name: site-data
        subPath: html
    volumes:
    - name: site-data
      persistentVolumeClaim:
        claimName: my-lamp-site-data

对上面的配置进行说明:

  1. volumeMounts 下面的name, 就是分配给这个pod的volume的名字site-data, mysql和php的html分别使用了它的子路径: mysqlhtml
  2. volumes 对于site-data这个volume, 是通过PVC的形式提供的, PVC的name为: my-lamp-site-data

使用带有扩展环境变量的 subPath

FEATURE STATE: Kubernetes v1.15 feature-state-beta.txt

使用 subPathExpr 字段从 Downward API 环境变量构造 subPath 目录名。在使用此特性之前,必须启用 VolumeSubpathEnvExpansion 功能开关。subPathsubPathExpr 属性是互斥的。

在这个示例中,Pod 基于 Downward API 中的 Pod 名称,使用 subPathExpr 在 hostPath 卷 /var/log/pods 中创建目录 pod1。主机目录 /var/log/pods/pod1 挂载到了容器/logs 中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apiVersion: v1
kind: Pod
metadata:
  name: pod1
spec:
  containers:
  - name: container1
    env:
    - name: POD_NAME
      valueFrom:
        fieldRef:
          apiVersion: v1
          fieldPath: metadata.name
    image: busybox
    command: [ "sh", "-c", "while [ true ]; do echo 'Hello'; sleep 10; done | tee -a /logs/hello.txt" ]
    volumeMounts:
    - name: workdir1
      mountPath: /logs
      subPathExpr: $(POD_NAME)
  restartPolicy: Never
  volumes:
  - name: workdir1
    hostPath:
      path: /var/log/pods

说明:

  1. env中, 配置了POD_NAME这个环境变量, 这个变量的值来自于metadata.name, 即pod1
  2. subPathExpr: (POD_NAME) 子路径为(POD_NAME)这个变量, 就是pod1
  3. volume用的是hostPath, 实际路径为:/var/log/pods. 那么完整的path就是/var/log/pods/pod1

总结

subPath 还是挺实用的, 是个小功能, 但是确实能提交效率. 比如我昨天搭建的禅道的容器. 就是典型的LAMP: Linux + Apache + Mysql + PHP.

这些组件中,

  • Apachewww/html需要挂载
  • mysql的数据库需要挂载
  • php的应用数据需要挂载

如果没用subPath, 那么我得这么操作: (以nfs为例)

  1. nfs下手动创建3个子目录: html mysql php
  2. 创建3个PV, 分别为: apache-volume mysql-volume php-volume
  3. 写3个PVC, 分别是: apache-claimmysql-claim php-claim. 而且2和3这两步最好一个pv+一个PVC来建. 避免bound乱了.
  4. 再修改Deployment 配置, 一个个挂载上去.

△ 算下来,10步.

用了subPath, 确实节省了工作量: (还是以nfs为例)

  1. 创建1个PV, 为: LAMP-volume
  2. 创建1个PVC, 为: LAMP-claim
  3. 再修改Deployment 配置, 挂载一个PVC, 用subPath区分.

△ 算下来, 3步.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 东风微鸣技术博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
本地大模型部署指南:Ollama+Llama3.2从入门到API调用
本文来介绍一下怎么下载 Ollama 并部署 AI 大模型(DeepSeek-R1、Llama 3.2 等)。通过 Ollama 这一开源的大语言模型服务工具,你就可以在自己的电脑上跑其它开源的 AI 模型。接下来,我们将分步骤说明如何完成下载和安装,以便你能够轻松地与 AI 开展对话。
用户8721171
2025/03/13
8570
Ollama 本地CPU部署开源大模型
如 Facebook的llama3, 谷歌的gemma, 微软的phi3,阿里的qwen2 等模型。
lyhue1991
2024/06/26
2.5K0
Ollama 本地CPU部署开源大模型
LLM大模型部署实战指南:Ollama简化流程,OpenLLM灵活部署,LocalAI本地优化,Dify赋能应用开发
Ollama 是一个开源框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计。,这是 Ollama 的官网地址:https://ollama.com/
汀丶人工智能
2024/08/17
1.4K0
LLM大模型部署实战指南:Ollama简化流程,OpenLLM灵活部署,LocalAI本地优化,Dify赋能应用开发
使用 Ollama 自建大模型并对接第三方平台二次分发盈利
随着AI不断的发展,各大厂商都公开了很多模型,那么我们自己是否可以在本地运行起这些模型呢,答案是肯定的!今天带给大家3分钟使用Ollama快速搭建环境运行本地大模型,支持主流的Lama 3, Phi 3, Mistral, Gemma等等大模型,同时支持主流操作系统,不管你是Mac还是Linux更或者是Windows,哪怕你没有强大的GPU,也可以通过CPU进行体验学习。
Lcry
2024/07/17
2.8K0
使用 Ollama 自建大模型并对接第三方平台二次分发盈利
普通电脑也能跑大模型,三步搞定私人AI助手 | LLaMA-3本地部署小白攻略
“ 在你的电脑上运行一个强大的AI助手,它不仅能力超群,还把所有秘密都藏在你的硬盘里。好奇这是如何实现的吗?动动手,三分钟就可以完成LLaMA-3的本地部署!”
技术人生黄勇
2024/07/19
2.6K0
普通电脑也能跑大模型,三步搞定私人AI助手 | LLaMA-3本地部署小白攻略
Ubuntu系统下部署大语言模型:Ollama和OpenWebUI实现各大模型的人工智能自由
之前在window下安装过 Ollama和OpenWebUI搭建本地的人工智能web项目(可以看我之前写的文章),无奈电脑硬件配置太低,用qwen32b就很卡,卡出PPT了,于是又找了一台机器安装linux系统,在linux系统下测试一下速度能否可以快一些。
星哥玩云
2024/05/18
6.3K0
Ubuntu系统下部署大语言模型:Ollama和OpenWebUI实现各大模型的人工智能自由
Ollama是什么?安装部署指南原创
此前写过2篇关于大模型思考的文章:《浅谈大模型时代的后台技术发展》、《AGI 时代的破局之道 》;对于大模型的本地部署和使用,下面我们了解一下。
后台技术汇
2024/09/21
5720
Ollama是什么?安装部署指南原创
在 Kubernetes 上部署 llama3
Ollama 是一个运行大模型的工具,可以看成是大模型领域的 Docker,可以下载所需的大模型并暴露 API。
imroc
2024/04/30
9330
在 Kubernetes 上部署 llama3
AI智能体研发之路-工程篇(三):大模型推理服务框架Ollama一键部署
身处2024年,大模型技术从底层模型到AI应用都卷的要命,我们可以说是幸运的,也可以是幸福的,当然,学习的路上,不停的追赶,必定是疲惫的。分享一些丝滑的大模型技术栈内的项目,让大家疲惫并快乐着。
LDG_AGI
2024/08/13
1.2K0
AI智能体研发之路-工程篇(三):大模型推理服务框架Ollama一键部署
AI大眼萌 探索 AI 新世界:Ollama 使用指南【1】
在人工智能的浪潮中,Ollama 的出现无疑带来了一场革命。这款工具平台以其开创性的功能,简化了 AI 模型的开发与应用,让每一位爱好者都能轻松驾驭 AI 的强大力量。大家好,我是AI大眼萌,今天我们将带大家了解这款工具平台。
AI大眼萌
2024/06/22
1.4K0
AI大眼萌 探索 AI 新世界:Ollama 使用指南【1】
SpringAI+Ollama三部曲之一:极速体验
程序员欣宸
2024/05/26
9290
SpringAI+Ollama三部曲之一:极速体验
大模型llm:Ollama部署llama3学习入门llm
Llama 3 是一个自回归语言模型(an auto-regressive language),它使用优化的 transformer 架构。调整后的版本使用监督微调 (SFT) 和带有人类反馈的强化学习 (RLHF),以符合人类对有用性和安全性的偏好。
黄规速
2024/05/24
5.8K0
大模型llm:Ollama部署llama3学习入门llm
谷歌这次确实有诚意,性能翻倍
AI赛道上,科技巨头们激烈角逐。前脚有GPT-4o问世,后脚就出现了Claude 3.5 Sonnet。如此激烈的争斗中,谷歌虽然发力较晚,但在短时间内就能有显著的能力跟进,可见其技术发展与创新的潜力。
统计学家
2024/07/06
1420
谷歌这次确实有诚意,性能翻倍
轻松在本地部署 DeepSeek 蒸馏模型并无缝集成到你的 IDE
免费榜单双双登顶,超越了长期占据榜单的 GPT,这一突破性进展引发了投资者的广泛关注,甚至导致英伟达股价大幅下跌。从那时起,
陈明勇
2025/02/01
4.5K13
用香橙派AIpro部署大模型、安装宝塔搭建私有随身WEB开发环境
Orange Pi AI Pro 开发板是香橙派联合华为精心打造的高性能 AI 开发板,其搭载了昇腾 AI 处理器,可提供 8TOPS INT8 的计算能力,内存提供了 8GB 和 16GB两种版本。可以实现图像、视频等多种数据分析与推理计算,可广泛用于教育、机器人、无人机等场景。
星哥玩云
2024/05/29
8010
用香橙派AIpro部署大模型、安装宝塔搭建私有随身WEB开发环境
Mac环境下ollama部署和体验
程序员欣宸
2024/05/26
1.9K0
Mac环境下ollama部署和体验
使用 Gemma 2 构建 RAG的全过程( Ollama 或 Hugginface )
没错,这两天关于Gemma2 9B、27B开源的消息又刷屏了,如果你还不知道的话,可以搜搜看看,还是挺不错的。
AI进修生
2024/12/02
1890
使用 Gemma 2 构建 RAG的全过程( Ollama 或 Hugginface )
基于 Deepseek LLM 本地知识库搭建开源方案(AnythingLLM、Cherry、Ragflow、Dify)认知
LLM 本身只是一些 神经网络参数, 就拿 DeepSeek-R1 来讲,模型本身存储了 权重矩阵,以及 混合专家(MoE)架构, 实际运行起来需要行业级别的服务器配置, 消费级别的个人电脑不能直接运行,实际还涉及到硬件适配,需手动配置 CUDA/PyTorch 环境,编写分布式推理代码,处理量化与内存溢出问题
山河已无恙
2025/02/25
1.4K0
基于 Deepseek LLM 本地知识库搭建开源方案(AnythingLLM、Cherry、Ragflow、Dify)认知
使用 Ollama 在 Windows 环境部署 DeepSeek 大模型实战指南
👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.
Lorin 洛林
2025/02/05
3.5K0
使用 Ollama 在 Windows 环境部署 DeepSeek 大模型实战指南
无缝融入,即刻智能[一]:Dify-LLM大模型平台,零编码集成嵌入第三方系统,42K+星标见证专属智能方案
Dify,一款引领未来的开源大语言模型(LLM)应用开发平台,革新性地融合了后端即服务(Backend as a Service,BaaS)与LLMOps的精髓,为开发者铺设了一条从创意原型到高效生产的快车道。其设计旨在打破技术壁垒,让非技术背景的用户也能轻松参与至AI应用的构思与数据运营之中,共同塑造智能未来。
汀丶人工智能
2024/08/17
2.7K0
无缝融入,即刻智能[一]:Dify-LLM大模型平台,零编码集成嵌入第三方系统,42K+星标见证专属智能方案
推荐阅读
相关推荐
本地大模型部署指南:Ollama+Llama3.2从入门到API调用
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档