14.3. 複数のルーティングされたネットワークを使用したオーバークラウドのデプロイ
複数のルーテッドネットワークセットを使用してオーバークラウドをデプロイするには、スパインリーフネットワークのコントロールプレーンと Compute ノードを作成し、Ansible Playbook をレンダリングして適用します。コントロールプレーンを作成するには、Controller ノードのリソースを指定します。ベアメタルマシンからリーフの Compute ノードを作成するには、OpenStackBaremetalSet
カスタムリソースにリソース仕様を含めます。
手順
ワークステーションに
openstack-controller.yaml
という名前のファイルを作成します。コントローラーノードのリソース仕様を含めます。次の例は、3 つのコントローラーノードで構成されるコントロールプレーンの仕様を示しています。apiVersion: osp-director.openstack.org/v1beta2 kind: OpenStackControlPlane metadata: name: overcloud namespace: openstack spec: gitSecret: git-secret openStackClientImageURL: registry.redhat.io/rhosp-rhel9/openstack-tripleoclient:17.1 openStackClientNetworks: - ctlplane - external - internal_api - internal_api_leaf1 # optionally the openstackclient can also be connected to subnets openStackClientStorageClass: host-nfs-storageclass passwordSecret: userpassword domainName: ostest.test.metalkube.org virtualMachineRoles: Controller: roleName: Controller roleCount: 1 networks: - ctlplane - internal_api - external - tenant - storage - storage_mgmt cores: 6 memory: 20 rootDisk: diskSize: 500 baseImageVolumeName: openstack-base-img storageClass: host-nfs-storageclass storageAccessMode: ReadWriteMany storageVolumeMode: Filesystem enableFencing: False
コントロールプレーンを作成します。
$ oc create -f openstack-controller.yaml -n openstack
-
Red Hat OpenShift Container Platform (RHOCP) が
OpenStackControlPlane
リソースに関連するリソースを作成するまで待ちます。 Compute リーフごとにワークステーション上にファイル (例:
openstack-computeleaf1.yaml
) を作成します。リーフの Compute ノードのリソース仕様を含めます。次の例は、1 つの Compute ノードを含む 1 つの計算リーフの仕様を示しています。apiVersion: osp-director.openstack.org/v1beta1 kind: OpenStackBaremetalSet metadata: name: computeleaf1 namespace: openstack spec: # How many nodes to provision count: 1 # The image to install on the provisioned nodes baseImageUrl: http://<source_host>/rhel-9.2-x86_64-kvm.qcow2 # The secret containing the SSH pub key to place on the provisioned nodes deploymentSSHSecret: osp-controlplane-ssh-keys # The interface on the nodes that will be assigned an IP from the mgmtCidr ctlplaneInterface: enp7s0 # Networks to associate with this host networks: - ctlplane - internal_api_leaf1 - external - tenant_leaf1 - storage_leaf1 roleName: ComputeLeaf1 passwordSecret: userpassword
各リーフの Compute ノードを作成します。
$ oc create -f openstack-computeleaf1.yaml -n openstack
-
OpenStackConfigGenerator
を使用して Ansible Playbook を生成し、オーバークラウド設定を適用します。詳細は、director Operator を使用したオーバークラウドの設定とデプロイ を参照してください。
検証
コントロールプレーンのリソースを表示します。
$ oc get openstackcontrolplane/overcloud -n openstack
OpenStackVMSet
リソースを表示して、コントロールプレーンの仮想マシン (VM) セットの作成を確認します。$ oc get openstackvmsets -n openstack
VM リソースを表示して、OpenShift Virtualization でのコントロールプレーン VM の作成を確認します。
$ oc get virtualmachines -n openstack
openstackclient
Pod リモートシェルへのアクセスをテストします。$ oc rsh -n openstack openstackclient
各 Compute リーフのリソースを表示します。
$ oc get openstackbaremetalset/computeleaf1 -n openstack
RHOCP によって管理されるベアメタルマシンを表示して、Compute ノードの作成を確認します。
$ oc get baremetalhosts -n openshift-machine-api