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

网站如何做熊掌号并绑定温州建网站公司哪家好

网站如何做熊掌号并绑定,温州建网站公司哪家好,手机网站电话漂浮代码,wordpress心情文章目录 前言一、什么是subPath二、subPath使用场景三、场景一示例1.资源准备2.使用subPath字段 四、场景二示例1.资源准备2.测试 前言 在Kubernetes中,挂载存储卷是容器化应用的常见需求。然而当我们将整个卷挂载到容器中的某个目录时,可能会覆盖目标…

文章目录

  • 前言
  • 一、什么是subPath
  • 二、subPath使用场景
  • 三、场景一示例
    • 1.资源准备
    • 2.使用subPath字段
  • 四、场景二示例
    • 1.资源准备
    • 2.测试


前言

在Kubernetes中,挂载存储卷是容器化应用的常见需求。然而当我们将整个卷挂载到容器中的某个目录时,可能会覆盖目标目录中已有的文件,尤其是在共享目录或有多个应用访问同一卷的场景下。为了避免这种情况,subPath字段应运而生,它允许精确指定要挂载的子目录或文件,从而避免覆盖目录中其他重要数据。

在这篇文章中,我们将深入探讨subPath字段的使用方法,展示如何通过这一功能实现精准挂载,确保不干扰或覆盖目录中的其他文件。通过合理利用subPath,你可以在K8s中灵活管理存储,避免数据冲突,提升系统的可维护性和安全性。


一、什么是subPath

subPath是kubernetes中Pod资源volumeMounts字段的挂载选项。
subPath所定义的路径,指的是卷(Volume)内的子路径,用于将卷内subPath所对应的目录或文件,挂载到容器的挂载点,卷内subPath不存在时自动创建。
不指定此参数时,默认是将卷的根路径进行挂载

在这里插入图片描述

二、subPath使用场景

避免覆盖:如果挂载路径是一个已存在的目录,则目录下的内容不会被覆盖。直接将configMap/Secret挂载在容器的路径,会覆盖掉容器路径下原有的文件,使用subpath选定configMap/Secret的指定的key-value挂载在容器中,则不会覆盖掉原目录下的其他文件
文件隔离:pod中含有多个容器共用用一个volume,不同容器日志路径挂载的到不同的子目录,而不是根路径(Subpath目录会在底层存储自动创建且权限为777,无需手动创建)

三、场景一示例

避免目录下的内容被覆盖
在这里插入图片描述

1.资源准备

configMap资源

[root@k8s-master YamlTest]# cat test_cfg.yml
username: "ops"
password: "123"

deployment资源

apiVersion: apps/v1
kind: Deployment
metadata:labels:app: test5-nginxname: test5-nginxnamespace: middleware
spec:replicas: 1selector:matchLabels:app: test5-nginxtemplate:metadata:labels:app: test5-nginxspec:containers:- image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:stablename: nginxvolumeMounts:- name: test5subPath: usernamemountPath: /etc/nginx/usernamevolumes:- name: test5configMap:items:- key: usernamepath: usernamename: test-cfg

默认情况下,该nginx镜像的/etc/nginx目录下存在以下文件
在这里插入图片描述

2.使用subPath字段

[root@k8s-master YamlTest]# kubectl create -f test_nginx.yml

在这里插入图片描述
由此可见,当使用subPath字段后,挂载到nginx目录下的configMap字段以文件的形式存在,并且未影响原目录下的文件及目录。切记以subpath方式挂载文件,文件内容不会随着configMap的更新而自动更新

注意事项(如下所示)
特别注意mountPath和subPath的写法, 最后的path要保持一致.
如mountPath是: /etc/nginx/username; subPath是: username.
mountPath不要漏写为: /etc/nginx

四、场景二示例

pod中含有多个容器共用用一个volume,即不同容器的路径挂载在存储卷volume的子路径

1.资源准备

apiVersion: v1
kind: Pod
metadata:name: pod-subpath-test
spec:containers:- name: subpath-container-1image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:stablevolumeMounts:- mountPath: /tmp/nginx            # 容器1的挂载目录name: subpath-volsubPath: nginxtest1                   # 宿主机volume的子目录1- name: subpath-container-2image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:stable-alpinevolumeMounts:- mountPath: /etc/nginx/nginxtest2             # 容器2的挂载目录name: subpath-volsubPath: nginxtest2                   # 宿主机volume的子目录2 volumes:- name: subpath-volpersistentVolumeClaim:claimName: test-subpath

2.测试

[root@k8s-master default-test-subpath-pvc-6bf62280-0cb5-4df9-a5c1-d5aa0e061725]# pwd
/export/nfs/default-test-subpath-pvc-6bf62280-0cb5-4df9-a5c1-d5aa0e061725
[root@k8s-master default-test-subpath-pvc-6bf62280-0cb5-4df9-a5c1-d5aa0e061725]# ls -l
total 0
drwxrwxrwx 2 root root 15 Mar 10 23:09 nginxtest1
drwxrwxrwx 4 root root 29 Mar 10 23:18 nginxtest2[root@k8s-master default-test-subpath-pvc-6bf62280-0cb5-4df9-a5c1-d5aa0e061725]# cd nginxtest1/
[root@k8s-master nginxtest1]# ll
total 0
-rw-r--r-- 1 root root 0 Mar 10 23:09 1[root@k8s-master nginxtest2]# ll
total 0
drwxr-xr-x 2 root root 6 Mar 10 23:18 ops1[root@k8s-master nginxtest2]# kubectl exec -it pod-subpath-test  bash
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
Defaulted container "subpath-container-1" out of: subpath-container-1, subpath-container-2
root@pod-subpath-test:/# ls -l /tmp/nginx/
total 0
-rw-r--r-- 1 root root 0 Mar 10 15:09 1        ###在volume目录下创建该文件,容器中也看到了
root@pod-subpath-test:/# ls -l /etc/nginx/
total 24
drwxr-xr-x 1 root root   26 Mar 10 15:14 conf.d
-rw-r--r-- 1 root root 1007 May 28  2024 fastcgi_params
-rw-r--r-- 1 root root 5349 May 28  2024 mime.types
lrwxrwxrwx 1 root root   22 May 29  2024 modules -> /usr/lib/nginx/modules
-rw-r--r-- 1 root root  648 May 29  2024 nginx.conf
drwxr-xr-x 2 root root    6 Mar 10 15:17 ops1               ###在volume目录下创建该目录,容器中也看到了
-rw-r--r-- 1 root root  636 May 28  2024 scgi_params
-rw-r--r-- 1 root root  664 May 28  2024 uwsgi_params

http://www.dtcms.com/wzjs/842168.html

相关文章:

  • 素材网站会员哈尔滨短视频运营
  • 医院做网站需要多少钱校园门户网站
  • 淘宝联盟网站建设源码如何设计网站以网络为中心的企业文化
  • 北京网站建设推广服务网站备案授权书范本
  • 做网站搜索排名的公司工作怎么样哪个设计培训机构好
  • 点蜜免费空间上传网站闲鱼怎么推广自己的产品
  • 云优化网站建设做水果网站首页的图片素材
  • 自己做网站的图片杭州中小企业网站建设
  • 网站怎么做用密码网站开发需要的人员
  • 网站制作答辩ppt怎么做学生个人作品集制作
  • 专业网站建设比较好房地产销售基础知识大全
  • 东北建站短视频seo询盘系统
  • 网站搜索排名工厂办公室装修设计
  • 中为网站建设wordpress控制弹窗次数代码
  • 网站建设基础策划书好上手的做海报网站
  • 建立网站需要什么硬件南宁网站建设公司哪家好
  • 济南小型网站建设网站域名 如何选择
  • 许昌市住房建设局网站备案查询站长工具
  • 网站设置页面指什么2022中国企业500强
  • 织梦做的网站在手机上显示摄影网站哪个最好
  • 潍坊网站制作人才招聘响应式网页设计与实现论文
  • 专业外贸制作网站青岛网站优化快速排名
  • 红河州建设局门户网站响应式网页设计针对的终端有哪些
  • 可以上传数据的网站开发html5布局wordpress
  • 武陟县住房和城乡建设局网站沈阳建设电商网站
  • 怎么做挖矿网站网站开发缓存
  • 建站市场行业门户网站 建站
  • 万维网的代表网站行业门户网站开发
  • 襄阳建设网站网站实名认证需要什么资料
  • 一下成都网站建设公司排名wordpress 文件存储