7.4. カスタム nova サービスの作成
コンピュートノードセットに必要なカスタムサービスを作成するには、次のタスクを実行します。
-
ノードを設定するために、
ConfigMapカスタムリソース (CR) を作成します。 - サービスの Playbook を実行するノードセット用のカスタムサービスを作成します。
-
カスタムサービスに
ConfigMapCR を含めます。
アベイラビリティーゾーン (AZ) ごとに一意の ConfigMap とカスタム Compute サービスを作成する必要があります。
AZ ごとに次の手順を繰り返します。
手順
-
ワークステーションに、名前が
nova-extra-config-az1.yamlのファイルを作成し、AZ のコンピュートノードセットのConfigMapCR を定義します。 ローカル AZ の Image サービス (glance) エンドポイントを追加し、
cross_az_attachフィールドをfalseに設定する、AZ のノードセット内のコンピュートノードに適用する新しい設定ファイルを定義します。Red Hat Ceph Storage を使用している場合は、RBD オプションを含めます。
例:
apiVersion: v1 kind: ConfigMap metadata: name: nova-extra-config-az1 data: 03-ceph-nova.conf: [libvirt] images_type = rbd images_rbd_pool = vms images_rbd_ceph_conf = /etc/ceph/az1.conf images_rbd_glance_store_name = az1 images_rbd_glance_copy_poll_interval = 15 images_rbd_glance_copy_timeout = 600 rbd_user = openstack rbd_secret_uuid=$FSID hw_disk_discard = unmap [glance] endpoint_override = https://glance-az1-internal.openstack.svc:9292 valid_interfaces = internal [cinder] cross_az_attach = False catalog_info = volumev3:cinderv3:internalURLサードパーティーのストレージデバイスをマルチパスで使用している場合は、
volume_use_multipathを True に設定します。例:
apiVersion: v1 kind: ConfigMap metadata: name: nova-extra-config-az1 data: 25-nova-extra.conf: | [libvirt] volume_use_multipath = True [glance] endpoint_override = https://glance-az1-internal.openstack.svc:9292 valid_interfaces = internal [cinder] cross_az_attach = False catalog_info = volumev3:cinderv3:internalURL-
data.<filename>: ファイル名は、##-<name>-nova.confの命名規則に従う必要があります。ファイルは、Compute サービスによってアルファベット順に評価されます。01で始まるファイル名は、02で始まるファイル名よりも先に Compute サービスによって評価されます。複数のファイルに同じ設定オプションが存在する場合、設定オプションは最後に読み取られた値に設定されます。 -
rbd_secret_uuid:$FSID値には 永続ストレージの設定 の Red Hat Ceph Storage ファイルシステム識別子の取得 で説明されている実際のFSIDが含まれている必要があります。FSIDをシークレットとみなす必要はありません。
サービスがデプロイされると、サービスコンテナーの
etc/<service>/<service>.conf.d/ディレクトリーに設定が追加されます。たとえば、Compute 機能の場合、設定ファイルはnova_computeコンテナーのetc/nova/nova.conf.d/に追加されます。+
ConfigMapオブジェクトの作成の詳細は、RHOCP ノード ガイドの config map の作成と使用 を参照してください。ConfigMapCR を作成します。$ oc create -f nova-extra-config-az1.yamlワークステーションに
nova-custom-az1.yamlという名前のファイルを作成し、その AZ のコンピュートノードセットのOpenStackDataPlaneServiceCR を定義します。apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneService metadata: name: nova-custom-az1 spec: addCertMounts: false caCerts: combined-ca-bundle edpmServiceType: nova playbook: osp.edpm.nova tlsCerts: default: contents: - dnsnames - ips edpmRoleServiceName: nova issuer: osp-rootca-issuer-internal networks: - ctlplaneConfigMapCR をカスタムサービスに追加します。dataSources: - configMapRef: name: ceph-nova-az1 - secretRef: name: nova-migration-ssh-keyこのサービスを実行するノードセットの接続先セルの
SecretCR を指定します。apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneService metadata: name: <nodeset>-service spec: ... dataSources: - configMapRef: name: feature-configmap - secretRef: name: nova-migration-ssh-key - secretRef: name: nova-cell1-compute-configカスタムサービスを作成します。
$ oc create -f nova-custom-az1.yaml