6.6. 验证分布式 control plane
验证分布式 control plane 的创建。
流程
根据 worker 节点,验证服务 pod 是否在正确的 AZ 中运行:
oc get pods -o wide -l service=<service_name>
$ oc get pods -o wide -l service=<service_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<service_name> 替换为cinder、glance或manila,以验证特定服务的服务 pod。例如,如果
worker-6节点位于 AZ3 中,则以下命令的输出确认cinder-dc29b-volume-volume-az3-0pod 在 AZ3 中正确运行:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
打开到
openstackclientpod 的远程 shell 连接:oc rsh -n openstack openstackclient
$ oc rsh -n openstack openstackclientCopy to Clipboard Copied! Toggle word wrap Toggle overflow 确认内部服务端点已注册到每个服务:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您将块存储服务(cinder)与 Red Hat Ceph Storage 搭配使用,请确认
cinder-volume服务在每个可用区(AZ)中运行:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您将块存储服务与第三方存储搭配使用,请验证以下内容:
确认您可以通过 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
$ 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_az3Copy to Clipboard Copied! Toggle word wrap Toggle overflow 作为管理员,通过只传递类型,确认您可以在特定的 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
$ 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_typeCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
确认可以使用每个
glance类型的卷,然后删除它们。
如果您使用带有第三方存储的镜像服务(glance),请验证以下内容以测试每个 AZ 镜像创建的镜像。
观察可用的存储:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在不传递任何与存储相关的参数的情况下创建镜像,以检查结果:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 该镜像在
az1中创建,因为它是默认的 AZ:openstack image show 10fcfc90-e178-4776-ac76-853a7082844b | grep stores
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 Copied! Toggle word wrap Toggle overflow
创建镜像并传递参数,使其直接进入存储 az1 中:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将镜像导入到 az2:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 观察镜像处于 az1 和 az2 的存储中:
openstack image show 5073f3f0-e4ac-4cca-9883-fecade29a1f3 | grep stores
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 Copied! Toggle word wrap Toggle overflow 观察 az1 和 az2 中的块存储服务卷,用于存储上一步中的镜像 ID:
openstack volume list --all | grep 5073f3f0-e4ac-4cca-9883-fecade29a1f3
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 Copied! Toggle word wrap Toggle overflow 确认支持镜像的每个卷的 AZ、类型和主机:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果您将共享文件系统服务(manila)与 Red Hat Ceph Storage 搭配使用,请确认
manila-share服务在每个 AZ 中运行:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您使用带有第三方存储的共享文件系统服务,并且禁用 DHSS,请确认以下内容:
作为管理员,创建一个共享类型:
openstack share type create nfs-multiaz False --extra-specs share_backend_name=nfs_az
$ openstack share type create nfs-multiaz False --extra-specs share_backend_name=nfs_azCopy to Clipboard Copied! Toggle word wrap Toggle overflow 观察共享类型:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以以非 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
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 az3Copy to Clipboard Copied! Toggle word wrap Toggle overflow openstack share create命令不需要 pass-share-type nfs-multiaz,因为OpenStackControlPlaneCR 中的manila模板中存在以下配置:manilaAPI: customServiceConfig: | [DEFAULT] storage_availability_zone = az1,az2,az3 default_share_type = nfs-multiazmanilaAPI: customServiceConfig: | [DEFAULT] storage_availability_zone = az1,az2,az3 default_share_type = nfs-multiazCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果没有设置
default_share_type字段,则使用openstack选项。share create命令传递--share-type nfs-multiaz
观察共享及其 AZ:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取共享的 NFS 路径:
示例:
openstack share show nfsaz1 | grep path
$ openstack share show nfsaz1 | grep path | | path = 10.0.0.42:/share_9afcc8c4_2a09_4d05_8cdc_f28eb58a3dffCopy to Clipboard Copied! Toggle word wrap Toggle overflow 根据 Compute 服务(nova)实例授予对适当的 IP 范围的访问权限,以访问共享:
openstack share access create nfsaz1 ip 10.0.0.0/24 --access-level rw
$ openstack share access create nfsaz1 ip 10.0.0.0/24 --access-level rwCopy to Clipboard Copied! Toggle word wrap Toggle overflow 部署 Compute 服务时,您可以使用类似如下的命令挂载共享:
示例:
mount -t nfs 10.0.0.42:/share_<UUID> /mnt/share
$ mount -t nfs 10.0.0.42:/share_<UUID> /mnt/shareCopy to Clipboard Copied! Toggle word wrap Toggle overflow
如果您使用带有第三方存储的共享文件系统服务,并且启用了 DHSS,请确认以下内容:
以 OpenStack 管理员身份,创建一个共享类型:
openstack share type create nfs-multiaz true --extra-specs share_backend_name='nfs_az'
$ openstack share type create nfs-multiaz true --extra-specs share_backend_name='nfs_az'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 作为项目管理员,为共享文件系统服务创建一个网络和子网:
openstack network create --project rhoso --provider-network-type vlan manila_net
$ openstack network create --project rhoso --provider-network-type vlan manila_net openstack subnet create --network manila_net --subnet-range <subnet> --dns-nameserver <dns> manila-subnetaz1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 作为项目用户,使用上一步中的值创建共享网络,并为每个 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
$ 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 az3Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 在本例中,共享网络没有 AZ 设置。它是跨越所有 AZ 的默认共享网络。
- 您可以为每个 AZ 创建网络服务(neutron)网络和子网,并将 AZ 中的共享创建限制到对应的网络和子网。要隔离共享创建,请在共享文件系统服务中创建多个共享网络子网,每个子网都有自己的网络服务网络、子网和 AZ。
openstack share create命令不需要 pass-share-type nfs-multiaz,因为OpenStackControlPlaneCR 中的manila模板中存在以下配置:manilaAPI: customServiceConfig: | [DEFAULT] storage_availability_zone = az1,az2,az3 default_share_type = nfs-multiazmanilaAPI: customServiceConfig: | [DEFAULT] storage_availability_zone = az1,az2,az3 default_share_type = nfs-multiazCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果没有设置
default_share_type字段,则使用openstack选项。share create命令传递--share-type nfs-multiaz
根据 Compute 服务实例授予对适当 IP 范围的访问权限,以访问共享:
openstack share access create nfsaz1 ip 10.0.0.0/24 --access-level rw
$ openstack share access create nfsaz1 ip 10.0.0.0/24 --access-level rwCopy to Clipboard Copied! Toggle word wrap Toggle overflow 部署 Compute 服务时,您可以使用类似如下的命令挂载共享:
示例:
mount -t nfs 10.0.0.42:/share_<UUID> /mnt/share
$ mount -t nfs 10.0.0.42:/share_<UUID> /mnt/shareCopy to Clipboard Copied! Toggle word wrap Toggle overflow
退出
OpenStackClientpod:exit
$ exitCopy to Clipboard Copied! Toggle word wrap Toggle overflow