4.7.2. 为 etcd 本地存储准备管理集群
在 Red Hat OpenStack Platform (RHOSP)上部署托管 Control Plane (HCP)部署中,您可以使用带有 TopoLVM CSI 驱动程序置备的本地临时存储来提高 etcd 性能,而不依赖于默认的基于 Cinder 的持久性卷声明(PVC)。
先决条件
- 您可以访问安装了 HyperShift 的管理集群。
- 您可以创建和管理 RHOSP 类别和机器集。
-
已安装并配置了
oc和openstackCLI 工具。 - 您熟悉 TopoLVM 和逻辑卷管理器(LVM)存储概念。
- 在受管集群中安装了 LVM Storage Operator。如需更多信息,请参阅 OpenShift Container Platform 文档中的存储部分中的"使用 CLI 安装 LVM 存储"。
流程
使用
openstackCLI,创建具有额外临时磁盘的 Nova 类别。例如:$ openstack flavor create \ --id auto \ --ram 8192 \ --disk 0 \ --ephemeral 100 \ --vcpus 4 \ --public \ hcp-etcd-ephemeral注意当服务器使用该类别创建时,Nova 会自动将临时磁盘附加到实例,并将它格式化为
vfat。- 创建使用新类别的计算机器集。如需更多信息,请参阅 OpenShift Container Platform 文档中的"在 OpenStack 上创建计算机器集"。
- 扩展机器集以满足您的要求。如果集群为高可用性部署,则必须至少部署 3 个 worker,以便相应地分发 pod。
标记新的 worker 节点,以标识它们以供 etcd 使用。例如:
$ oc label node <node_name> hypershift-capable=true该标签是任意的;稍后您可以更新它。
在名为
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 格式化。
-
临时磁盘位置为
运行以下命令来应用
LVMCluster资源:oc apply -f lvmcluster.yaml运行以下命令验证
LVMCluster资源:$ oc get lvmcluster -A输出示例
NAMESPACE NAME STATUS openshift-storage etcd-hcp Ready运行以下命令验证
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 上创建托管集群"中进行了描述。