当前位置: 首页 > news >正文

夏门建设局网站个人网页生成器

夏门建设局网站,个人网页生成器,视频推广网站,哪些网站不扣流量Kubernetes中什么是subPath 有时,在单个 Pod 中共享卷以供多方使用是很有用的。volumeMounts.subPath 属性可用于指定所引用的卷内的子路径,而不是其根路径。 这句话理解了,基本就懂subPath怎么用了,比如我们要替换nginx.cnf, 挂…

Kubernetes中什么是subPath

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

这句话理解了,基本就懂subPath怎么用了,比如我们要替换nginx.cnf, 挂载的ConfigMap是一个文件夹,如果没有subPath,那/etc/nginx/nginx.cnf将变成一个文件夹,subPath是用来指定卷内子路径的! 按照逻辑subPath应该在volumes下进行设置会比较合理,这可能就是它不好理解的根本原因。

什么时候应该使用 subPath

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

1. subPath字段的作用

在Linux中,将目录A挂载到目录B,则目录B原有的文件都会被目录A下的文件覆盖。

那么在k8s中,如何将configmap挂载到容器中某个目录的文件中呢?答案是使用subPath

subPath可以将configMap和secret作为文件挂载到容器中而不覆盖挂载目录下的文件。

话不多说,直接看一个例子。

制作案例镜像:

dockerfile:

FROM busybox
WORKDIR /workspace
RUN touch a.txt b.txt c.txt

切换到dockerfile目录下执行:

docker build -t mydocker:latest .
docker tag mydocker:latest zengfeng666/mydocker:1.0
docker push zengfeng666/mydocker:1.0

configmap.yaml

apiVersion: v1
kind: ConfigMap
metadata:name: configmapnamespace: dev
data:info: |username:adminpassword:123456info2: zhangssssssssssssssssssssssssss

pod1.yaml

apiVersion: v1
kind: Pod
metadata:name: pod1namespace: dev
spec:containers:- name: mydockerimage: zengfeng666/mydocker:1.0command: ["/bin/sh", "-c", "while true; do sleep 2; done;"]volumeMounts:- name: configmountPath: /workspacevolumes:- name: configconfigMap:name: configmap

pod2.yaml

apiVersion: v1
kind: Pod
metadata:name: pod2namespace: dev
spec:containers:- name: mydockerimage: zengfeng666/mydocker:1.0command: ["/bin/sh", "-c", "while true; do sleep 2; done;"]volumeMounts:- name: configmountPath: /workspace/infosubPath: info- name: configmountPath: /workspace/info2subPath: info2volumes:- name: configconfigMap:name: configmap
$ kubectl create -f pod1.yaml
$ kubectl create -f pod2.yaml$ kubectl get pods -n dev
NAME   READY   STATUS    RESTARTS   AGE
pod1   1/1     Running   0          2m20s
pod2   1/1     Running   0          14s

可以看到,因为pod1中是将configmap直接挂载到了容器的workspace目录,由于Linux的目录挂载特性(可以看这篇:什么是挂载,Linux挂载详解),原来的workspace目录下的文件将会被挂载过来的目录下(可以将configmap看成一个目录,因为每个key都是一个文件)的文件所覆盖,因此workspace中只有configmap中的info和info2文件。如果不想被覆盖,则要以文件的方式进行挂载,如pod2.yaml中所示,注意mountPath和subPath的写法,subPath此时指的就是configMap中的key,也就是文件名。

在这里插入图片描述
在这里插入图片描述

2. items字段的作用

假如不想以key名作为配置文件名可以引入items 字段,在其中逐个指定要用相对路径path替换的key:

     volumes:- name: configconfigMap:name: configmapitems:- key: info         # 原文件名(key的名称)path: userinfo    # 修改之后的文件名(key的名称)- key: info2path: userinfo2

items还有一个作用,就是只有items下的key对应的文件会被挂载到容器中。

比如pod1.yaml中不想把info和info2都挂载到workspace目录下,而只需要挂载info到workspace目录下,则可以将pod1.yaml的volumes字段修改为:

     volumes:- name: configconfigMap:name: configmapitems:- key: info         path: info         
http://www.ds6.com.cn/news/12431.html

相关文章:

  • ps怎么做网站首页和超链接公司网络推广该怎么做
  • 制作网站river想做电商应该怎么入门
  • 图片点开是网站怎么做重庆的seo服务公司
  • linux网站管理面板网络营销的类型
  • 什么网站发布找做效果图的关键词优化推广公司
  • 高端网站制作模板银行营销技巧和营销方法
  • 武汉网站制作案例百度做网站需要多少钱
  • 做直播网站找哪家网站免费推广app软件下载
  • 网站带后台恶意点击广告软件
  • wordpress实现选择多标签页廊坊seo
  • 中核集团2023校园招聘信息济南网络优化网站
  • 中律之窗网站建设如何制作公司网页
  • java企业门户网站开发教程经典的软文广告
  • 做网站换服务器怎么整热门网站排名
  • 用六类网站做电话可以吗樱桃磁力bt天堂
  • 做网站加入视频无法播放seo推荐
  • 惠州做网站的公司关键词优化需要从哪些方面开展?
  • 网络规划设计师教程最新版宁波seo推广咨询
  • 第一次做网站不知道建站官网
  • 西安网站建设陕icp网络营销期末总结
  • 做房产网站赚钱吗营销软文范例
  • 在线销售型网站产品seo优化seo外包
  • 温州网站设计只找亿企邦电商详情页模板免费下载
  • 平面设计软件网站百度热度榜搜索趋势
  • 织梦建站教程全集互联网运营推广
  • 做网站在后台如何添加链接站长资源平台
  • 成都外贸网站建设费用现在最火的发帖平台
  • 苏州知名高端网站建设网络公司自媒体平台注册入口官网
  • 虚拟机建设网站网络推广公司简介模板
  • 网站如何建设流程图做个公司网站多少钱