美文网首页
K8s subPath

K8s subPath

作者: AlphaHinex | 来源:发表于2021-01-31 11:17 被阅读0次

原文地址:https://alphahinex.github.io/2021/01/31/k8s-subpath/

cover

description: "卷 内 子路径"
date: 2021.01.31 10:34
categories:
- K8s
tags: [K8s, DevOps]
keywords: subPath, volumeMount, volume


定义

在 K8s 中,VolumeMount 是用来挂载定义好的存储卷的。

其中有个属性 subPath 是这样描述的:

Field Description
subPath
string
Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root).

subPath 所定义的路径,指的是 卷(Volume)内的子路径,用于将卷内 subPath 所对应的目录或文件,挂载到容器的挂载点。不指定此参数时,默认是将卷的根路径中内容进行挂载。

使用场景

挂载一个存储卷中的多个路径

假设一个容器有多个路径需要挂载,如 YouTrack 需要挂载 dataconflogsbackups 四个路径。

或由于某些原因,创建出来的存储卷根路径中不是空的,但容器要求所挂载的路径中不能有其他内容,如 mysql5.7 创建有状态服务问题

此时就有了 subPath 的用武之地。

以上面 YouTrack 为例,存储卷相关配置如下:

volumeMounts:
- name: volume-d3gekc
  mountPath: /opt/youtrack/data
  subPath: youtrack/data
- name: volume-d3gekc
  mountPath: /opt/youtrack/conf
  subPath: youtrack/conf
- name: volume-d3gekc
  mountPath: /opt/youtrack/logs
  subPath: youtrack/logs
- name: volume-d3gekc
  mountPath: /opt/youtrack/backups
  subPath: youtrack/backups

可以仅创建一个存储卷,然后将 YouTrack 持久化所需的四个路径,通过 subPath 挂载到该卷的不同子路径中。

挂载 ConfigMap 中的一个文件

K8s ConfigMap 一文中,我们也提到了 subPath 的用法,可以用来将 ConfigMap 中指定的 key 挂载到对应的挂载点,如:

volumeMounts:
- name: nginx-config-vol
  mountPath: /etc/nginx/nginx.conf # 也可挂载到文件
  subPath: nginx.conf # 挂载到文件时,需设置子路径

即将名为 nginx-config-vol 的 volume 中的 nginx.conf key 对应内容,以文件形式挂载到容器中 /etc/nginx/nginx.conf 路径。

需注意:在 ConfigMap 中使用 subPath 将影响 ConfigMap 内容变化时的自动更新。

相关文章

  • K8s subPath

    原文地址:https://alphahinex.github.io/2021/01/31/k8s-subpath/...

  • k8s subPath详解

    subPath的使用方法一共有两种:1. 同一个pod中多容器挂载同一个卷时提供隔离2. 将configMap和s...

  • K8S中使用SubPath

    参考链接:https://kubernetes.io/docs/concepts/storage/volumes/...

  • 在 K8S Volume 中使用 subPath

    使用 subPath 有时,在单个 Pod 中共享卷以供多方使用是很有用的。 volumeMounts.subPa...

  • kubernetes如何挂载指定文件

    kubernetes的volume中没有直接挂载文件的配置,需要使用subPath来实现文件的挂载。 pod使用s...

  • kubernetes常见故障

    kubernetes常见故障 1. 节点CNI不可用,其它节点无法连接到故障节点的Pod 2. Subpath方式...

  • 什么是k8s,k8s有什么功能?

    介绍:k8s是一个docker集群的管理工具 2.1 k8s的核心功能 2.2 k8s的历史 2.3 k8s的安装...

  • k8s的主要功能

    一、什么是k8s,k8s都有什么功能? k8s是一个docker容器管理工具 二、k8s的核心功能 自愈: 重新启...

  • cloud & HPC

    K8s & HPC k8s in hpc Requirement Hello, Kubernetes newbie...

  • 一键部署kubernetes 1.6高可用集群

    本文主要适合于那些有一定 k8s基础的人, 通过本文你将学到: k8s各组件的交互原理 k8s的集群规划 k8s系...

网友评论

      本文标题:K8s subPath

      本文链接:https://www.haomeiwen.com/subject/usaltltx.html