【问题标题】:Kubernetes `local` PV and directory creationKubernetes `local` PV 和目录创建
【发布时间】:2021-04-13 09:07:40
【问题描述】:

在配置local PV 时,我注意到没有选项可以在底层节点上显式创建 PV 目录(如果它不存在),这与提供 DirectoryOrCreate 选项的hostPath PV 不同(如图所示doc here),local PV 要求您首先手动创建目录并为其提供正确的所有权和权限。

我正在尝试使用带有目录的local PV 作为已挂载的本地存储设备,代码如下:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: jenkins-pv-volume
  namespace: jenkins
spec:
  capacity:
    storage: 4Gi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Delete
  storageClassName: local-storage
  local:
    path: "/var/jenkins_home"
  nodeAffinity:
    required:
      nodeSelectorTerms:
        - matchExpressions:
            - key: kubernetes.io/hostname
              operator: In
              values:
                - worker-1

但是,为了正确配置 PV,我首先需要 ssh 到 worker-1 节点并运行以下命令:

sudo mkdir -p /var/jenkins_home
sudo chown -R 1000:1000 /var/jenkins_home
sudo chmod -R 755 /var/jenkins_home

当应用 PV 配置时,是否可以创建目录并为其赋予正确的所有权和权限?

【问题讨论】:

    标签: kubernetes docker-volume persistent-volumes


    【解决方案1】:

    不,您不能跳过此步骤。

    但是,您可以编写将在后台运行的脚本并执行将为本地卷创建目录并为其分配权限的命令。请记住为您的脚本授予执行权限。 例如,使用正确的命令创建脚本,然后创建 ConfigMap,它将在 ConfigMap 中运行创建的脚本并配置 PV。

    参见示例:configmap-volumeconfigmap-scripts

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-27
      • 1970-01-01
      • 2019-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-04
      • 2022-09-28
      相关资源
      最近更新 更多