5.3. 配置 DCN 数据平面
在 data plane 节点可以使用前,必须将 Red Hat Ceph Storage 配置为存储解决方案。
先决条件
- 完成 集成 Red Hat Ceph Storage 中的步骤。
流程
-
编辑
OpenStackDataPlaneNodeSetCR。 要使
cephx密钥和配置文件可用于计算服务(nova),请使用extraMounts参数。以下是为此目的使用
extraMounts参数的示例:apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneNodeSet spec: ... nodeTemplate: extraMounts: - extraVolType: Ceph volumes: - name: ceph secret: secretName: ceph-conf-files mounts: - name: ceph mountPath: "/etc/ceph" readOnly: true创建
ConfigMap,将所需的配置详情添加到计算服务(nova)。创建名为ceph-nova-az0.yaml的文件,并添加类似以下内容的内容:您必须为本地可用区添加 Image 服务(glance)端点,并将cross_az_attach参数设置为 false :apiVersion: v1 kind: ConfigMap metadata: name: ceph-nova-az0 namespace: openstack data: 03-ceph-nova.conf: [libvirt] images_type = rbd images_rbd_pool = vms images_rbd_ceph_conf = /etc/ceph/az0.conf images_rbd_glance_store_name = az0 images_rbd_glance_copy_poll_interval = 15 images_rbd_glance_copy_timeout = 600 rbd_user = openstack rbd_secret_uuid = 9cfb3a03-3f91-516a-881e-a675f67c30ea hw_disk_discard = unmap volume_use_multipath = False [glance] endpoint_override = http://glance-az0-internal.openstack.svc:9292 valid_interfaces = internal [cinder] cross_az_attach = False catalog_info = volumev3:cinderv3:internalURL创建
ConfigMap:oc create -f ceph-nova-az0.yaml创建自定义 Compute (nova)服务以使用 ConfigMap。创建名为
nova-custom-az0.yaml的文件,并添加类似以下内容的内容:您必须在dataSources字段中添加您刚才创建的ConfigMap的名称:apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneService metadata: name: nova-custom-ceph-az0 spec: addCertMounts: false caCerts: combined-ca-bundle dataSources: - configMapRef: name: ceph-nova-az0 - secretRef: name: nova-cell1-compute-config - secretRef: name: nova-migration-ssh-key edpmServiceType: nova playbook: osp.edpm.nova tlsCerts: default: contents: - dnsnames - ips edpmRoleServiceName: nova issuer: osp-rootca-issuer-internal networks: - ctlplane创建自定义服务:
oc create -f nova-custom-ceph-az0.yaml注意您必须为每个可用区创建一个唯一的
ConfigMap和自定义 Compute 服务。如前面的步骤所示,将可用区附加到这些文件名的末尾。-
在 CR 中找到
服务列表。 编辑
服务列表,以恢复 配置 data plane 节点网络 中描述的所有服务。恢复完整服务列表可让剩余的作业完成 HCI 环境的配置。以下是一个完整
服务列表的示例,其额外服务以粗体显示:apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneNodeSet spec: ... services: - bootstrap - configure-network - validate-network - install-os - ceph-hci-pre - configure-os - ssh-known-hosts - run-os - reboot-os - install-certs - ceph-client - ovn - neutron-metadata - libvirt - nova-custom-ceph-az0注意除了恢复默认服务列表外,
ceph-client服务也会在run-os服务后添加。ceph-client服务将 EDPM 节点配置为 Red Hat Ceph Storage 服务器的客户端。此服务分发客户端连接到 Red Hat Ceph Storage 服务器所需的文件。只有在部署 HCI 时,才需要ceph-hci-pre服务。可选: 您可以将计算节点分配给 Compute 服务(nova)单元,与在任何其他环境中相同的单元。将
OpenStackDataPlaneNodeSetCR 中的nova服务替换为您的自定义nova服务:apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneNodeSet metadata: name: openstack-cell2 spec: services: - download-cache - bootstrap - configure-network - validate-network - install-os - configure-os - ssh-known-hosts - run-os - ovn - libvirt - *nova-cell-custom*如需更多信息,请参阅 将 OpenStackDataPlaneNodeSetSR 连接到计算单元。
注意如果您使用单元,则
neutron-metadata服务为每个单元是唯一的,并单独定义。例如,neutron-metadata-cell1:apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneService metadata: labels: app.kubernetes.io/instance: neutron-metadata-cell1 app.kubernetes.io/name: openstackdataplaneservice app.kubernetes.io/part-of: openstack-operator name: neutron-metadata-cell1 ...nova-custom-ceph服务对于每个可用区是唯一的,并单独定义。例如,nova-custom-ceph-az0:apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneService metadata: labels: app.kubernetes.io/instance: nova-custom-ceph-az0 app.kubernetes.io/name: openstackdataplaneservice app.kubernetes.io/part-of: openstack-operator name: nova-custom-ceph-az0 namespace: openstack可选: 如果您要将 Red Hat Ceph Storage (RHCS)部署为超融合解决方案,请完成以下步骤:
创建一个
ConfigMap,将reserved_host_memory_mb参数设置为适合您配置的值:以下是用于此目的的 ConfigMap 示例:
apiVersion: v1 kind: ConfigMap metadata: name: reserved-memory-nova data: 04-reserved-memory-nova.conf: | [DEFAULT] reserved_host_memory_mb=75000注意可以设置
reserved_host_memory_mb参数的值,以便计算服务调度程序不会将内存提供给同一服务器上的 Ceph OSD 所需的虚拟机。除了虚拟机监控程序的默认保留内存外,示例还为每个主机保留 5 GB 的 OSD 为 10 个 OSD。在 IOPS 优化的集群中,您可以通过为每个 OSD 保留更多内存来提高性能。5 GB 数字作为起点提供,必要时可以进一步调整。编辑
OpenStackDataPlaneService/nova-custom-ceph-az文件。将reserved-memory-nova添加到之前创建的OpenStackDataPlaneServiceCR 中的configMaps列表中,名为ceph-nova-az0:kind: OpenStackDataPlaneService <...> spec: configMaps: - ceph-nova - reserved-memory-nova
应用 CR 更改。
$ oc apply -f <dataplane_cr_file>将
<dataplane_cr_file> 替换为您的文件的名称。注意Ansible 在创建
OpenStackDataPlaneDeploymentCRD 之前,不会配置或验证网络。
-
创建
OpenStackDataPlaneDeploymentCRD,如在 OpenShift 上部署 Red Hat OpenStack Services on OpenShift 指南中的创建 data plane 所述,它定义了OpenStackDataPlaneNodeSetCRD 文件,以便 Ansible 配置 data plane 节点上的服务。
example-node-set-resource