OpenStack での仮想ネットワーク機能のオンボーディング
OpenStack で VNF をオンボーディングする前に、次の前提条件を満たす必要があります。
-
VNF イメージ形式は、OpenStack と互換性がある必要があります(例:qcow2 形式)。イメージは、OpenStack Glance クライアント、あるいは NETCONF API または REST API を使用した ESC によって、OpenStack にオンボードできます。
-
VM に渡されるデイゼロ設定ファイルは、OpenStack の設定ドライブまたはユーザデータのいずれかと互換性があるため、VM はデイゼロ設定の詳細をブートストラップメカニズムに使用できます。
-
デイゼロ変数はプレーンテキスト形式で、事前定義された Day-0 変数を使用する必要があります。これにより、VM はデイゼロファイルで使用可能な静的 IP 情報を使用できます。
展開データモデルの準備
VNF オンボーディングの一環として、展開データモデルを準備する必要があります。展開データモデルとは、リソース要件、ネットワーキング、KPI のモニタリング、配置ポリシー、ライフサイクルステージ(LCS)、スケーリングルールなどの運用上の動作を記述する XML ファイル(テンプレート)です。
OpenStack 展開のためのデータモデルの準備
VNF 展開データモデルは、リソース要件、ネットワーキング、デイゼロ設定、および KPI のモニタリング、配置ポリシー、ライフサイクルステージ、スケーリングルールなど、他のサービスの運用動作を記述する XML ファイルまたはテンプレートです。
VNF をオンボードし、展開データモデルで VNF サービスを定義するには、次の手順を実行する必要があります。
-
VM リソースの準備
-
VNF ネットワーキングの説明
-
デイゼロ設定の準備
-
展開データモデルでのメトリックや KPI などの運用動作の定義
VM リソースの準備
展開データモデルは、VNF を展開するためにテナント、イメージ、フレーバー、ボリュームなどのリソースを参照します。ESC を使用してこれらのリソースを作成するか、OpenStack ですでに使用可能な既存のリソースを使用できます。詳細については、リソース管理の概要を参照してください。
リソースを含むサンプルデータモデルは次のとおりです。
<?xml version="1.0" encoding="ASCII"?>
<esc_datamodel xmlns="http://www.cisco.com/esc/esc">
<tenants>
<tenant>
<name>vnf_tenant</name>
<deployments>
<deployment>
...
<name>vnf-dep</name>
<vm_group>
<name>Grp1</name>
<flavor>vnf_flavor</flavor>
<image>vnf_image</image>
...
</vm_group>
</deployment>
</deployments>
</tenant>
</tenants>
</esc_datamodel>
VNF ネットワークの説明
VNF に展開された VM は、さまざまな目的のために特定のネットワークに接続する必要があります。それらのネットワークは、管理ネットワーク、VM 内の内部ネットワークなどです。各ネットワークが OpenStack で使用可能であるか、または ESC によって作成されていることを確認します。ネットワークは、展開データモデルで定義して、展開時に作成する必要があります。詳細については、ネットワークの管理を参照してください。
ネットワークとサブネットワークを作成し、VM インターフェイスのネットワーク接続を指定する方法を示すサンプルの展開データモデルは次のとおりです。
<deployment>
<name>vnf-dep</name>
...
<networks>
<network>
<name>vnf_net</name>
<shared>false</shared>
<admin_state>true</admin_state>
<subnet>
<name>vnf_subnet</name>
<ipversion>ipv4</ipversion>
<dhcp>true</dhcp>
<address>172.16.0.0</address>
<netmask>255.255.255.0</netmask>
<gateway>172.16.0.1</gateway>
</subnet>
</network>
</networks>
...
</deployment>
</deployments>
<vm_group>
<name>Grp1</name>
...
<interfaces>
<interface>
<nicid>0</nicid>
<network>vnf_management</network>
</interface>
<interface>
<nicid>1</nicid>
<network>vnf_net</network>
</interface>
</interfaces>
...
</vm_group>
デイゼロ設定の準備
デイゼロ設定の一環として、ブートストラップのため、インストール時にデイゼロファイルが VNF に渡されます。デイゼロファイルは、展開データモデルに記述されています。詳細については、デイゼロ設定を参照してください。
デイゼロファイルをコンフィグドライブおよびユーザデータとして記述するサンプルは次のとおりです。
<config_data>
<configuration>
<dst>--user-data</dst>
<file>file://var/test/test-script.sh</file>
</configuration>
<configuration>
<dst>/etc/configure-networking.sh</dst>
<file>file://var/test/configure-networking.sh</file>
</configuration>
</config_data>
運用動作の定義
複合 VNF をオンボードするには、ネットワーク接続、KPI のモニタリング、配置ポリシー、ライフサイクルステージ、スケーリングルールなど、いくつかの運用動作を設定する必要があります。これらの動作は、展開データモデルで記述できます。詳細については、導入パラメータを参照してください。
これらの詳細を使用して展開データモデルを準備すると、VNF をオンボーディングし、OpenStack で VNF サービスをインスタンス化したことになります。これで、VNF を展開できます。VNF が展開されると、ESC が新しいサービスのデイゼロ設定を適用します。詳細については、OpenStack での仮想ネットワーク機能の展開を参照してください。
VMware vCenter における VNF の準備の詳細については、VMware vCenter 展開のためのデータモデルの準備を参照してください。