【问题标题】:mountPath property in the Volume KubernetesVolume Kubernetes 中的 mountPath 属性
【发布时间】:2021-11-01 07:09:37
【问题描述】:

我正在Kubernetes 中了解卷。
我理解了音量的概念和音量的类型。
但是,我对 mouthPath 属性感到困惑。关注我的YAML 文件:

apiVersion: v1 
kind: Pod 
metadata:
  name: nginx-alpine-volume
spec:   

containers: 
  - name: nginx 
    image: nginx:alpine 
    volumeMounts: 
      - name: html 
        mountPath: /usr/share/nginx/html
        readOnly: true 
    resources:
  - name: html-updater 
    image: alpine 
    command: ["/bin/sh", "-c"] 
    args: 
      - while true; do date >> /mohit/index.html;sleep 10; done 
    resources:
    volumeMounts: 
      - name: html 
        mountPath: /mohit
  volumes: 
  - name: html 
    emptyDir: {}

问题:mountPath 属性有什么用。在这里,我使用一个带有两个容器的 pod。两个容器都有不同的mounPath 值。

更新:

【问题讨论】:

    标签: docker kubernetes volume


    【解决方案1】:

    将挂载路径视为附加或挂载文件或系统的目录

    虽然您的实际音量为 emptyDir

    两个容器有不同的挂载路径的基本想法是什么

    因为两个容器需要使用不同的文件夹

    虽然您的卷是单一名称的 html,所以从卷本地指向容器或使用不同的文件夹

    两个容器在它们的挂载点(或文件夹)管理不同的文件

    所以挂载路径是容器管理文件的一个点或直接位置。

    空目录:https://kubernetes.io/docs/concepts/storage/volumes/#emptydir

    阅读更多:https://kubernetes.io/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume/

    如果你看到这个例子:https://github.com/harsh4870/Kubernetes-wordpress-php-fpm-nginx/blob/master/wordpress-deployment.yaml

    它有两个相同的容器,挂载路径和 emptydir

    我正在做的是将 Nginx 配置文件附加到容器,因此 Nginx 将使用我从外部安装到容器的配置文件。

    我的配置文件存储在 configmapsecret 中。

    【讨论】:

    • 谢谢你。因此,mountPath 是一个文件目录或访问emptyDir(卷)的方式。例如:如果我需要访问我的 Windows 笔记本电脑上的一个网络位置,以便我可以挂载这个位置,并且每当我想访问这个网络位置时,我都可以通过挂载来使用它。
    • 另外,我添加了我理解的图像。这是正确的吗?
    • 我还问了一个与您提供的链接相关的不同问题。请查收:stackoverflow.com/questions/69797029/…
    • 是的,你是对的,当你运行工作节点或调度它时,空目录基本上在 Node 上创建目录。
    • 谢谢你。最后一件事:如果我在 /mohit (html-updater) 中创建一个新文件,我可以在另一个容器 nginx 中访问它(反之亦然)。这是正确的吗?
    猜你喜欢
    • 1970-01-01
    • 2017-07-13
    • 2021-03-31
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    • 2021-05-08
    • 2020-05-31
    • 1970-01-01
    相关资源
    最近更新 更多