6.6. 验证分布式 control plane


验证分布式 control plane 的创建。

流程

  1. 根据 worker 节点,验证服务 pod 是否在正确的 AZ 中运行:

    $ oc get pods -o wide -l service=<service_name>
    Copy to Clipboard Toggle word wrap
    • <service_name > 替换为 cinderglancemanila,以验证特定服务的服务 pod。

      例如,如果 worker-6 节点位于 AZ3 中,则以下命令的输出确认 cinder-dc29b-volume-volume-az3-0 pod 在 AZ3 中正确运行:

      $ oc get pods -o wide -l service=cinder
      NAME                         	READY   STATUS  	RESTARTS    	AGE 	IP           	NODE   	NOMINATED NODE   READINESS GATES
      cinder-dc29b-api-0           	2/2 	Running 	0           	4m24s     192.172.41.120   worker-7   <none>       	<none>
      cinder-dc29b-api-1           	2/2 	Running 	0           	4m48s     192.172.28.60    worker-5   <none>       	<none>
      cinder-dc29b-api-2           	2/2 	Running 	0           	5m5s      192.172.24.237   worker-0   <none>       	<none>
      cinder-dc29b-backup-0        	2/2 	Running 	0           	5m9s      192.172.24.234   worker-0   <none>       	<none>
      cinder-dc29b-scheduler-0     	2/2 	Running 	0           	5m5s	192.172.41.118   worker-7   <none>       	<none>
      cinder-dc29b-volume-az1-0    	2/2 	Running 	0           	5m9s	192.172.32.150   worker-2   <none>       	<none>
      cinder-dc29b-volume-az2-0    	2/2 	Running 	0           	5m9s	192.172.16.33    worker-3   <none>       	<none>
      cinder-dc29b-volume-az3-0    	2/2 	Running 	0           	5m8s	192.172.21.170   worker-6   <none>       	<none>
      Copy to Clipboard Toggle word wrap
  2. 打开到 openstackclient pod 的远程 shell 连接:

    $ oc rsh -n openstack openstackclient
    Copy to Clipboard Toggle word wrap
  3. 确认内部服务端点已注册到每个服务:

    $ openstack endpoint list -c 'Service Name' -c Interface -c URL --service glance
    +--------------+-----------+---------------------------------------------------------------+
    | Service Name | Interface | URL                                                           |
    +--------------+-----------+---------------------------------------------------------------+
    | glance       | internal  | https://glance-internal.openstack.svc                     |
    | glance       | public    | https://glance-default-public-openstack.apps.ostest.test.metalkube.org |
    +--------------+-----------+---------------------------------------------------------------+
    Copy to Clipboard Toggle word wrap
  4. 如果您将块存储服务(cinder)与 Red Hat Ceph Storage 搭配使用,请确认 cinder-volume 服务在每个可用区(AZ)中运行:

    $ openstack volume service list
    +------------------+--------------------------------+------+---------+-------+----------------------------+
    | Binary       	| Host                       	| Zone | Status  | State | Updated At             	|
    +------------------+--------------------------------+------+---------+-------+----------------------------+
    | cinder-scheduler | cinder-dc29b-scheduler-0   	| az1  | enabled | up	| 2025-05-21T14:07:11.000000 |
    | cinder-backup	| cinder-dc29b-backup-0      	| az1  | enabled | up	| 2025-05-21T14:07:18.000000 |
    | cinder-volume	| cinder-dc29b-volume-az1-0@ceph | az1  | enabled | up	| 2025-05-21T14:07:13.000000 |
    | cinder-volume	| cinder-dc29b-volume-az2-0@ceph | az2  | enabled | up	| 2025-05-21T14:07:16.000000 |
    | cinder-volume	| cinder-dc29b-volume-az3-0@ceph | az3  | enabled | up	| 2025-05-21T14:07:15.000000 |
    +------------------+--------------------------------+------+---------+-------+----------------------------+
    Copy to Clipboard Toggle word wrap
  5. 如果您将块存储服务与第三方存储搭配使用,请验证以下内容:

    1. 确认您可以通过 AZ 创建卷:

      $ openstack volume create --size 1 --availability-zone az1 vol_az1
      $ openstack volume create --size 1 --availability-zone az2 vol_az2
      $ openstack volume create --size 1 --availability-zone az3 vol_az3
      Copy to Clipboard Toggle word wrap
    2. 作为管理员,通过只传递类型,确认您可以在特定的 AZ 中创建卷:

      $ openstack volume create --size 1 --type glance-ontap-az1 vol_az1_by_type
      $ openstack volume create --size 1 --type glance-ontap-az2 vol_az2_by_type
      $ openstack volume create --size 1 --type glance-ontap-az3 vol_az3_by_type
      Copy to Clipboard Toggle word wrap
    3. 确认可以使用每个 glance 类型的卷,然后删除它们。
  6. 如果您使用带有第三方存储的镜像服务(glance),请验证以下内容以测试每个 AZ 镜像创建的镜像。

    1. 观察可用的存储:

      $ glance stores-info
      +----------+----------------------------------------------------------------------------------+
      | Property | Value                                                                            |
      +----------+----------------------------------------------------------------------------------+
      | stores   | [{"id": "az1", "description": "AZ1 NetApp iscsi cinder backend", "default":      |
      |          | "true"}, {"id": "az2", "description": "AZ2 NetApp iscsi cinder backend"}, {"id": |
      |          | "az3", "description": "AZ3 NetApp iscsi cinder backend"}]                        |
      +----------+----------------------------------------------------------------------------------+
      Copy to Clipboard Toggle word wrap
    2. 在不传递任何与存储相关的参数的情况下创建镜像,以检查结果:

      sh-5.1$ openstack image create --disk-format qcow2 --container-format bare --public --file ./cirros-0.5.2-x86_64-disk.img cirros-default
      +------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
      | Field            | Value                                                                                                                                              |
      +------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
      | container_format | bare                                                                                                                                               |
      | created_at       | 2025-06-18T22:55:21Z                                                                                                                               |
      | disk_format      | qcow2                                                                                                                                              |
      | file             | /v2/images/10fcfc90-e178-4776-ac76-853a7082844b/file                                                                                               |
      | id               | 10fcfc90-e178-4776-ac76-853a7082844b                                                                                                               |
      | min_disk         | 0                                                                                                                                                  |
      | min_ram          | 0                                                                                                                                                  |
      | name             | cirros-default                                                                                                                                     |
      | owner            | 439f0ee839144b4c8640b9153a596a30                                                                                                                   |
      | properties       | os_hidden='False', owner_specified.openstack.md5='', owner_specified.openstack.object='images/cirros-default', owner_specified.openstack.sha256='' |
      | protected        | False                                                                                                                                              |
      | schema           | /v2/schemas/image                                                                                                                                  |
      | status           | queued                                                                                                                                             |
      | tags             |                                                                                                                                                    |
      | updated_at       | 2025-06-18T22:55:21Z                                                                                                                               |
      | visibility       | public                                                                                                                                             |
      +------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
      sh-5.1$
      Copy to Clipboard Toggle word wrap
      • 该镜像在 az1 中创建,因为它是默认的 AZ:

        sh-5.1$ openstack image show 10fcfc90-e178-4776-ac76-853a7082844b | grep stores
        | properties       | os_hash_algo='sha512', os_hash_value='6b813aa46bb90b4da216a4d19376593fa3f4fc7e617f03a92b7fe11e9a3981cbe8f0959dbebe36225e5f53dc4492341a4863cac4ed1ee0909f3fc78ef9c3e869', os_hidden='False', owner_specified.openstack.md5='', owner_specified.openstack.object='images/cirros-default', owner_specified.openstack.sha256='', stores='az1' |
        sh-5.1$
        Copy to Clipboard Toggle word wrap
    3. 创建镜像并传递参数,使其直接进入存储 az1 中:

      $ glance image-create --disk-format raw --container-format bare --name cirros-test --file cirros-0.5.2-x86_64-disk.img --store az1
      +------------------+----------------------------------------------------------------------------------+
      | Property         | Value                                                                            |
      +------------------+----------------------------------------------------------------------------------+
      | checksum         | b874c39491a2377b8490f5f1e89761a4                                                 |
      | container_format | bare                                                                             |
      | created_at       | 2025-06-18T22:47:10Z                                                             |
      | disk_format      | raw                                                                              |
      | id               | 5073f3f0-e4ac-4cca-9883-fecade29a1f3                                             |
      | min_disk         | 0                                                                                |
      | min_ram          | 0                                                                                |
      | name             | cirros-test                                                                      |
      | os_hash_algo     | sha512                                                                           |
      | os_hash_value    | 6b813aa46bb90b4da216a4d19376593fa3f4fc7e617f03a92b7fe11e9a3981cbe8f0959dbebe3622 |
      |                  | 5e5f53dc4492341a4863cac4ed1ee0909f3fc78ef9c3e869                                 |
      | os_hidden        | False                                                                            |
      | owner            | 439f0ee839144b4c8640b9153a596a30                                                 |
      | protected        | False                                                                            |
      | size             | 16300544                                                                         |
      | status           | active                                                                           |
      | stores           | az1                                                                              |
      | tags             | []                                                                               |
      | updated_at       | 2025-06-18T22:48:00Z                                                             |
      | virtual_size     | 16300544                                                                         |
      | visibility       | shared                                                                           |
      +------------------+----------------------------------------------------------------------------------+
      Copy to Clipboard Toggle word wrap
    4. 将镜像导入到 az2:

      $ glance image-import 5073f3f0-e4ac-4cca-9883-fecade29a1f3 --stores az2 --import-method copy-image
      +-----------------------+----------------------------------------------------------------------------------+
      | Property              | Value                                                                            |
      +-----------------------+----------------------------------------------------------------------------------+
      | checksum              | b874c39491a2377b8490f5f1e89761a4                                                 |
      | container_format      | bare                                                                             |
      | created_at            | 2025-06-18T22:47:10Z                                                             |
      | disk_format           | raw                                                                              |
      | id                    | 5073f3f0-e4ac-4cca-9883-fecade29a1f3                                             |
      | min_disk              | 0                                                                                |
      | min_ram               | 0                                                                                |
      | name                  | cirros-test                                                                      |
      | os_glance_import_task | 7a141f7f-409a-4ea9-b66f-0658a83e907b                                             |
      | os_hash_algo          | sha512                                                                           |
      | os_hash_value         | 6b813aa46bb90b4da216a4d19376593fa3f4fc7e617f03a92b7fe11e9a3981cbe8f0959dbebe3622 |
      |                       | 5e5f53dc4492341a4863cac4ed1ee0909f3fc78ef9c3e869                                 |
      | os_hidden             | False                                                                            |
      | owner                 | 439f0ee839144b4c8640b9153a596a30                                                 |
      | protected             | False                                                                            |
      | size                  | 16300544                                                                         |
      | status                | active                                                                           |
      | stores                | az1                                                                              |
      | tags                  | []                                                                               |
      | updated_at            | 2025-06-18T22:48:00Z                                                             |
      | virtual_size          | 16300544                                                                         |
      | visibility            | shared                                                                           |
      +-----------------------+----------------------------------------------------------------------------------+
      Copy to Clipboard Toggle word wrap
    5. 观察镜像处于 az1 和 az2 的存储中:

      sh-5.1$ openstack image show 5073f3f0-e4ac-4cca-9883-fecade29a1f3 | grep stores
      | properties       | os_glance_failed_import='', os_glance_importing_to_stores='', os_hash_algo='sha512', os_hash_value='6b813aa46bb90b4da216a4d19376593fa3f4fc7e617f03a92b7fe11e9a3981cbe8f0959dbebe36225e5f53dc4492341a4863cac4ed1ee0909f3fc78ef9c3e869', os_hidden='False', stores='az1,az2' |
      sh-5.1$
      Copy to Clipboard Toggle word wrap
    6. 观察 az1 和 az2 中的块存储服务卷,用于存储上一步中的镜像 ID:

      sh-5.1$ openstack volume list --all | grep 5073f3f0-e4ac-4cca-9883-fecade29a1f3
      | 713f25b2-accc-4f4f-b5ba-8c71e2fac3aa | image-5073f3f0-e4ac-4cca-9883-fecade29a1f3 | available |    1 |                                 |
      | b1917ec2-2d8e-42cc-b58c-55db48f1e054 | image-5073f3f0-e4ac-4cca-9883-fecade29a1f3 | available |    1 |                                 |
      sh-5.1$
      Copy to Clipboard Toggle word wrap
    7. 确认支持镜像的每个卷的 AZ、类型和主机:

      sh-5.1$ openstack volume show b1917ec2-2d8e-42cc-b58c-55db48f1e054 -c type -c availability_zone -c os-vol-host-attr:host
      +-----------------------+---------------------------------------------------------------+
      | Field                 | Value                                                         |
      +-----------------------+---------------------------------------------------------------+
      | availability_zone     | az1                                                           |
      | os-vol-host-attr:host | cinder-cbca0-volume-ontap-iscsi-az1-0@ontap#cinder_iscsi_pool |
      | type                  | glance-ontap-az1                                              |
      +-----------------------+---------------------------------------------------------------+
      sh-5.1$ openstack volume show 713f25b2-accc-4f4f-b5ba-8c71e2fac3aa -c type -c availability_zone -c os-vol-host-attr:host
      +-----------------------+---------------------------------------------------------------+
      | Field                 | Value                                                         |
      +-----------------------+---------------------------------------------------------------+
      | availability_zone     | az2                                                           |
      | os-vol-host-attr:host | cinder-cbca0-volume-ontap-iscsi-az2-0@ontap#cinder_iscsi_pool |
      | type                  | glance-ontap-az2                                              |
      +-----------------------+---------------------------------------------------------------+
      sh-5.1$
      Copy to Clipboard Toggle word wrap
  7. 如果您将共享文件系统服务(manila)与 Red Hat Ceph Storage 搭配使用,请确认 manila-share 服务在每个 AZ 中运行:

    $ openstack share service list
    +----+------------------+----------------------+------+---------+-------+----------------------------+
    | ID | Binary       	| Host             	| Zone | Status  | State | Updated At             	|
    +----+------------------+----------------------+------+---------+-------+----------------------------+
    |  1 | manila-scheduler | hostgroup        	| nova | enabled | up	| 2025-05-21T14:10:08.498066 |
    |  4 | manila-share 	| hostgroup@cephfs_az3 | az3  | enabled | up	| 2025-05-21T14:10:04.973221 |
    |  7 | manila-share 	| hostgroup@cephfs_az1 | az1  | enabled | up	| 2025-05-21T14:10:05.228611 |
    | 10 | manila-share 	| hostgroup@cephfs_az2 | az2  | enabled | up	| 2025-05-21T14:10:04.724407 |
    +----+------------------+----------------------+------+---------+-------+----------------------------+
    Copy to Clipboard Toggle word wrap
  8. 如果您使用带有第三方存储的共享文件系统服务,并且禁用 DHSS,请确认以下内容:

    1. 作为管理员,创建一个共享类型:

      $ openstack share type create nfs-multiaz False --extra-specs share_backend_name=nfs_az
      Copy to Clipboard Toggle word wrap
    2. 观察共享类型:

      $ openstack share type list
      +--------------------------------------+--------------+------------+------------+--------------------------------------+-----------------------------+-------------+
      | ID                                   | Name         | Visibility | Is Default | Required Extra Specs                 | Optional Extra Specs        | Description |
      +--------------------------------------+--------------+------------+------------+--------------------------------------+-----------------------------+-------------+
      | a63ecc00-33f5-4bd8-9d93-a1fb31f2fe79 | nfs-multiaz  | public     | False      | driver_handles_share_servers : False | share_backend_name : nfs_az | None        |
      +--------------------------------------+--------------+------------+------------+--------------------------------------+-----------------------------+-------------+
      Copy to Clipboard Toggle word wrap
    3. 您可以以非 admin 用户身份运行以下命令。在每个 AZ 中创建共享:

      openstack share create nfs 1 --name nfsaz1 --availability-zone az1
      openstack share create nfs 1 --name nfsaz2 --availability-zone az2
      openstack share create nfs 1 --name nfsaz3 --availability-zone az3
      Copy to Clipboard Toggle word wrap
      • openstack share create 命令不需要 pass -share-type nfs-multiaz,因为 OpenStackControlPlane CR 中的 manila 模板中存在以下配置:

              manilaAPI:
                customServiceConfig: |
                  [DEFAULT]
                  storage_availability_zone = az1,az2,az3
                  default_share_type = nfs-multiaz
        Copy to Clipboard Toggle word wrap

        如果没有设置 default_share_type 字段,则使用 openstack share create 命令传递--share-type nfs-multiaz 选项。

    4. 观察共享及其 AZ:

      $ openstack share list
      +--------------------------------------+--------+------+-------------+-----------+-----------+-----------------+-------------------------------+-------------------+
      | ID                                   | Name   | Size | Share Proto | Status    | Is Public | Share Type Name | Host                          | Availability Zone |
      +--------------------------------------+--------+------+-------------+-----------+-----------+-----------------+-------------------------------+-------------------+
      | ef1fa319-4661-4d18-880b-a24b5e708234 | nfsaz1 |    1 | NFS         | available | False     | nfs-multiaz     | hostgroup@nfs_az1#n2_nvme_15T | az1               |
      | f91e1e59-e101-4e1f-8b92-fb49edd706cf | nfsaz2 |    1 | NFS         | available | False     | nfs-multiaz     | hostgroup@nfs_az2#n2_nvme_15T | az2               |
      | 09c9f709-1cf6-4279-ba39-8c80669b118a | nfsaz3 |    1 | NFS         | available | False     | nfs-multiaz     | hostgroup@nfs_az3#n2_nvme_15T | az3               |
      +--------------------------------------+--------+------+-------------+-----------+-----------+-----------------+-------------------------------+-------------------+
      Copy to Clipboard Toggle word wrap
    5. 获取共享的 NFS 路径:

      示例:

      $ openstack share show nfsaz1 | grep path
      |                                       | path = 10.0.0.42:/share_9afcc8c4_2a09_4d05_8cdc_f28eb58a3dff
      Copy to Clipboard Toggle word wrap
    6. 根据 Compute 服务(nova)实例授予对适当的 IP 范围的访问权限,以访问共享:

      $ openstack share access create nfsaz1 ip 10.0.0.0/24 --access-level rw
      Copy to Clipboard Toggle word wrap
    7. 部署 Compute 服务时,您可以使用类似如下的命令挂载共享:

      示例:

      $ mount -t nfs 10.0.0.42:/share_<UUID> /mnt/share
      Copy to Clipboard Toggle word wrap
  9. 如果您使用带有第三方存储的共享文件系统服务,并且启用了 DHSS,请确认以下内容:

    1. 以 OpenStack 管理员身份,创建一个共享类型:

      $ openstack share type create nfs-multiaz true --extra-specs share_backend_name='nfs_az'
      Copy to Clipboard Toggle word wrap
    2. 作为项目管理员,为共享文件系统服务创建一个网络和子网:

      $ openstack network create --project rhoso --provider-network-type vlan manila_net
      openstack subnet create --network manila_net --subnet-range <subnet> --dns-nameserver <dns> manila-subnetaz1
      Copy to Clipboard Toggle word wrap
    3. 作为项目用户,使用上一步中的值创建共享网络,并为每个 AZ 定义共享:

      $ openstack share network create --name share_net --neutron-net-id <net_id> --neutron-subnet-id <sub_net_id>
      $ openstack share create nfs 1 --name nfsaz1 --share-network share_net --availability-zone az1
      $ openstack share create nfs 1 --name nfsaz2 --share-network share_net --availability-zone az2
      $ openstack share create nfs 1 --name nfsaz3 --share-network share_net --availability-zone az3
      Copy to Clipboard Toggle word wrap
      • 在本例中,共享网络没有 AZ 设置。它是跨越所有 AZ 的默认共享网络。
      • 您可以为每个 AZ 创建网络服务(neutron)网络和子网,并将 AZ 中的共享创建限制到对应的网络和子网。要隔离共享创建,请在共享文件系统服务中创建多个共享网络子网,每个子网都有自己的网络服务网络、子网和 AZ。
      • openstack share create 命令不需要 pass -share-type nfs-multiaz,因为 OpenStackControlPlane CR 中的 manila 模板中存在以下配置:

              manilaAPI:
                customServiceConfig: |
                  [DEFAULT]
                  storage_availability_zone = az1,az2,az3
                  default_share_type = nfs-multiaz
        Copy to Clipboard Toggle word wrap

        如果没有设置 default_share_type 字段,则使用 openstack share create 命令传递--share-type nfs-multiaz 选项。

    4. 根据 Compute 服务实例授予对适当 IP 范围的访问权限,以访问共享:

      $ openstack share access create nfsaz1 ip 10.0.0.0/24 --access-level rw
      Copy to Clipboard Toggle word wrap
    5. 部署 Compute 服务时,您可以使用类似如下的命令挂载共享:

      示例:

      $ mount -t nfs 10.0.0.42:/share_<UUID> /mnt/share
      Copy to Clipboard Toggle word wrap
  10. 退出 OpenStackClient pod:

    $ exit
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat