7.18.2.3. 使用 hostpath 置备程序启用本地存储


要部署 hostpath 置备程序并使虚拟机能够使用本地存储,请首先创建一个 HostPathProvisioner 自定义资源。

先决条件

  • 在每个节点上为 hostpath 置备程序创建的持久性卷(PV)创建后端目录。

    重要

    后备目录不得位于文件系统的根目录中,因为 / 分区在 Red Hat Enterprise Linux CoreOS(RHCOS)中是只读的。例如,您可以使用 /var/<directory_name> 而不是 /<directory_name>

  • 将 SELinux 上下文 container_file_t 应用到每个节点上的 PV 后备目录。例如:

    $ sudo chcon -t container_file_t -R <backing_directory_path>
    注意

    如果使用 Red Hat Enterprise Linux CoreOS(RHCOS)8 worker,则必须使用 MachineConfig 清单配置 SELinux。

流程

  1. 创建 HostPathProvisioner 自定义资源文件。例如:

    $ touch hostpathprovisioner_cr.yaml
  2. 编辑该文件,确保 spec.pathConfig.path 值是您希望 hostpath 置备程序在其中创建 PV 的目录。例如:

    apiVersion: hostpathprovisioner.kubevirt.io/v1beta1
    kind: HostPathProvisioner
    metadata:
      name: hostpath-provisioner
    spec:
      imagePullPolicy: IfNotPresent
      pathConfig:
        path: "<backing_directory_path>" 1
        useNamingPrefix: false 2
    1
    指定希望置备程序在其中创建 PV 的后备目录。该目录不能位于文件系统的根目录(/)中。
    2
    如果要使用绑定到所创建的 PV 的持久性卷声明(PVC)名称作为目录名的前缀,请将该值更改为 true
    注意

    如果您没有创建后备目录,则置备程序会尝试为您创建该目录。如果您没有应用 container_file_t SELinux 上下文,这会导致 Permission denied

  3. openshift-cnv 命名空间中创建自定义资源:

    $ oc create -f hostpathprovisioner_cr.yaml -n openshift-cnv
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.