0

我想定义 pvc 并创建卷,以便从外部容器中获取一些内部文件(我正在使用 helm 图表定义)。我想知道有什么方法可以在我在 deployment.yaml 中定义的 mountPath 中使用 POD IP。

最后,我想在我的节点 /dockerdata-nfs//path 中获取文件夹结构

volumeMounts:
     - name: volumeName
       mountPath: /abc/path

volumes:
    - name: volumeName
      hostPath:
        path: /dockerdata-nfs/podID/
4

2 回答 2

1

您可以使用subPathExpr. Yaml 下面: apiVersion: v1 kind: Pod metadata: name: pod1 spec: containers: - name: container1 env: - name: UID valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.uid image: busybox volumeMounts: - name: workdir1 mountPath: /logs subPathExpr: $(UID) volumes: - name: workdir1 hostPath: path: /var/log/pods 这个功能是在 Kubernetes 1.14+ 版本中引入的。

于 2020-02-11T14:27:21.827 回答
1

娱乐的 POD 将获得一个新的 UID,所以你为什么要尝试硬编码这个值!

Pod被认为是相对短暂(而不是持久)的实体。正如 pod 生命周期中所讨论的,Pod 被创建,分配一个唯一 ID (UID),并被调度到它们一直保留的节点,直到终止(根据重启策略)或删除。如果一个节点死亡,则计划到该节点的 Pod 将在超时后被计划删除。给定的 Pod(由 UID 定义)不会“重新调度”到新节点;相反,它可以替换为相同的 Pod,如果需要,甚至可以使用相同的名称,但使用新的 UID(有关更多详细信息,请参阅复制控制器)。

于 2020-02-11T08:30:49.750 回答