前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小提示: K8S中如何使用Subpath

小提示: K8S中如何使用Subpath

作者头像
东风微鸣
发布2022-04-21 14:39:49
3.9K0
发布2022-04-21 14:39:49
举报

概述

Kubernetes中什么是Subpath

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

什么时候应该使用 Subpath

  1. 场景一: 一个共享卷, 挂载多个路径.
  2. 场景二: ConfigMap或Secret挂载到特定目录的特定路径, 而 该目录下已经有其他文件且不希望被覆盖掉

如何使用Subpath

场景一示例: 一个共享卷, 挂载多个路径.

典型的应用场景示例就是Kubernetes官方的示例:

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

场景二示例: ConfigMap或Secret挂载到特定目录的特定路径

例如, 我希望将setenv.sh这样的一个初始化配置环境变量的脚本挂载到tomcat的bin目录: /opt/tomcat/bin下.

如果我不使用subpath, 直接将该ConfigMap 挂载到/opt/tomcat/bin目录下, 那么该目录下已有的文件全部被覆盖.

所以正确的做法是使用Subpath进行挂载:

最终挂载效果如下图所示:

❗️ 注意事项

特别注意mountPathsubPath的写法, 最后的path要保持一致.

mountPath是: /opt/tomcat/bin/setenv.sh; subPath是: setenv.sh.

mountPath不要漏写为: /opt/tomcat/bin/

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
    • Kubernetes中什么是Subpath
      • 什么时候应该使用 Subpath
      • 如何使用Subpath
        • 场景一示例: 一个共享卷, 挂载多个路径.
          • 场景二示例: ConfigMap或Secret挂载到特定目录的特定路径
            • ❗️ 注意事项
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档