4.7.2. 为 etcd 本地存储准备管理集群


在 Red Hat OpenStack Platform (RHOSP)上部署托管 Control Plane (HCP)部署中,您可以使用带有 TopoLVM CSI 驱动程序置备的本地临时存储来提高 etcd 性能,而不依赖于默认的基于 Cinder 的持久性卷声明(PVC)。

先决条件

  • 您可以访问安装了 HyperShift 的管理集群。
  • 您可以创建和管理 RHOSP 类别和机器集。
  • 已安装并配置了 ocopenstack CLI 工具。
  • 您熟悉 TopoLVM 和逻辑卷管理器(LVM)存储概念。
  • 在受管集群中安装了 LVM Storage Operator。如需更多信息,请参阅 OpenShift Container Platform 文档中的存储部分中的"使用 CLI 安装 LVM 存储"。

流程

  1. 使用 openstack CLI,创建具有额外临时磁盘的 Nova 类别。例如:

    $ openstack flavor create \
      --id auto \
      --ram 8192 \
      --disk 0 \
      --ephemeral 100 \
      --vcpus 4 \
      --public \
      hcp-etcd-ephemeral
    注意

    当服务器使用该类别创建时,Nova 会自动将临时磁盘附加到实例,并将它格式化为 vfat

  2. 创建使用新类别的计算机器集。如需更多信息,请参阅 OpenShift Container Platform 文档中的"在 OpenStack 上创建计算机器集"。
  3. 扩展机器集以满足您的要求。如果集群为高可用性部署,则必须至少部署 3 个 worker,以便相应地分发 pod。
  4. 标记新的 worker 节点,以标识它们以供 etcd 使用。例如:

    $ oc label node <node_name> hypershift-capable=true

    该标签是任意的;稍后您可以更新它。

  5. 在名为 lvmcluster.yaml 的文件中,在 etcd 的本地存储配置中创建以下 LVMCluster 自定义资源:

    apiVersion: lvm.topolvm.io/v1alpha1
    kind: LVMCluster
    metadata:
      name: etcd-hcp
      namespace: openshift-storage
    spec:
      storage:
        deviceClasses:
        - name: etcd-class
          default: true
          nodeSelector:
             nodeSelectorTerms:
             - matchExpressions:
               - key: hypershift-capable
                operator: In
                values:
                - "true"
          deviceSelector:
            forceWipeDevicesAndDestroyAllData: true
            paths:
            - /dev/vdb

    在这个示例资源中:

    • 临时磁盘位置为 /dev/vdb,在大多数情况下都是如此。验证此位置是否适合您的情况,并请注意,符号链接不被支持。
    • 参数 forceWipeDevicesAndDestroyAllData 设置为 True 值,因为默认的 Nova 临时磁盘会以 VFAT 格式化。
  6. 运行以下命令来应用 LVMCluster 资源:

    oc apply -f lvmcluster.yaml
  7. 运行以下命令验证 LVMCluster 资源:

    $ oc get lvmcluster -A

    输出示例

    NAMESPACE           NAME    STATUS
    openshift-storage   etcd-hcp   Ready

  8. 运行以下命令验证 StorageClass 资源:

    $ oc get storageclass

    输出示例

    NAME                    PROVISIONER               RECLAIMPOLICY   VOLUMEBINDINGMODE     ALLOWVOLUMEEXPANSION   AGE
    lvms-etcd-class         topolvm.io                Delete          WaitForFirstConsumer  true                   23m
    standard-csi (default)  cinder.csi.openstack.org  Delete          WaitForFirstConsumer  true                   56m

现在,您可以使用高性能 etcd 配置部署托管集群。部署过程在"在 OpenStack 上创建托管集群"中进行了描述。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部