Azure Operator Service Manager (AOSM) CLI 拡張機能を使用したパラメーター公開について

このドキュメントでは、Azure Operator Service Manager (AOSM) Azure CLI 拡張機能によって、ARM テンプレートの helm 値とパラメーターを、オペレーターに公開されている構成モデルに変換する方法について説明します。

背景

AOSM を使用すると、ネットワーク機能定義バージョン (NFDV) の発行元が、ネットワーク機能 (NF) のデプロイ時に構成可能なパラメーターを選択できます。 また、AOSM により、ネットワーク サービス設計バージョン (NSDV) のデザイナーが、サイト ネットワーク サービス (SNS) のデプロイ時に構成可能なパラメーターを選択することもできます。

公開されるパラメーターの選択は、1 つ以上のスキーマでエンコードされます。 発行元は、NFDV のプロパティ (deployParameters プロパティ) でスキーマを定義し、デザイナーは、別の Azure リソースでスキーマ (構成グループ スキーマ (CGS)) を定義します。 CGS と NSDV は、NFDV のスキーマに一致するパラメーターと値のセットを NFDV に渡す必要があります。

Azure CLI AOSM 拡張機能には、NFDV deployParameters プロパティ、CGS、およびすべてのパラメーターがデプロイ時に確実かつ正しく NF に渡されるようにするマッピングの自動生成のサポートが含まれています。

入力ファイルの構成

Azure CLI AOSM 拡張機能 az aosm nfd generate-config コマンドによって入力ファイルが生成されます。 入力ファイルは、--definition-type パラメーターによって異なります。 すべてのバリアントに、次のパラメーターが含まれています。

  // If set to true, all NFD configuration parameters are made available to the designer, including optional parameters and those with defaults.
  // If not set or set to false, only required parameters without defaults will be exposed.
  "expose_all_parameters": false,

このパラメーターは、AOSM CLI 拡張機能でのパラメーターの公開動作を制御します。

警告

すべてのパラメーターを公開することで、すべての既定値を公開していることになります。 既定値に機密情報が含まれていないことを確認してください。

既定の動作

expose_all_parameters は既定で常に false に設定されています。 AOSM CLI により以下が行われます。

  • コンテナー化されたネットワーク機能 (CNF) helm 値または仮想化されたネットワーク機能 (VNF) Azure Resource Manager (ARM) テンプレート パラメーターが解析されます
  • 既定値のない必須パラメーターを含む deployParameters スキーマが NFDV で生成されます

たとえば、この VNF ARM テンプレートの抜粋では 2 つのパラメーターが定義されています。 1 つは必須で、1 つは省略可能です。

  "parameters": {
    "required": {
      "type": "string",
      "metadata": {
        "description": "A required parameter."
      }
    },
    "optional": {
      "type": "string",
      "defaultValue": "optional"
      "metadata": {
        "description": "An optional parameter."
      }
    },
  }

AOSM CLI は、deployParameters プロパティで required パラメーターを公開する NFDV を構築します。 optional パラメーターは公開されていません。 デプロイ時、VNF は、optional を既定値の optional に設定した状態でデプロイします。 デプロイをトリガーするユーザーは、required の値を指定する必要があります。

CNF についても動作は似ています。 AOSM CLI を使用すると、ユーザーは、helm グラフの既定の values.yaml ファイルをオーバーライドする values.yaml ファイルを提供できます。 このオーバーライド values.yaml ファイルには、パラメーターをその値の有無に関係なく含めることができます。 values.yaml オーバーライド ファイルの次の抜粋は、値を持つパラメーターと、値を持たないパラメーターを示しています。

optional: "optional"
required:

AOSM CLI は、deployParameters プロパティで required パラメーターを公開する NFDV を構築します。 optional パラメーターは公開されていません。 デプロイ時、CNF は、optional を既定値の optional に設定した状態でデプロイします。 デプロイをトリガーするユーザーは、required の値を指定する必要があります。

重要

AOSM CLI は、helm template を実行することで、helm グラフの既定の values.yaml ファイルが、そのグラフと整合性があることを検証します。 この helm template コマンドが失敗すると、CLI によってエラーが発生します。

すべてのパラメーターを公開する

Azure AOSM CLI 拡張機能では、すべてのパラメーターを構成可能にできます。 az aosm nfd generate-config によって生成される入力ファイルで必要な構成は次のとおりです。

  // If set to true, all NFD configuration parameters are made available to the designer, including optional parameters and those with defaults.
  // If not set or set to false, only required parameters without defaults will be exposed.
  "expose_all_parameters": true,

expose_all_parameterstrue に設定されている場合、AOSM CLI 拡張機能により以下が行われます。

  • コンテナー化されたネットワーク機能 (CNF) helm 値または仮想化されたネットワーク機能 (VNF) Azure Resource Manager (ARM) テンプレート パラメーターが解析されます
  • 解析されたすべてのパラメーターを含む deployParameters スキーマが NFDV で生成されます
  • ARM テンプレートの既定値、または helm 値で構成された値は、NFDV deployParameters スキーマで既定値として構成されます。

CGS の構築

いずれの場合も、az aosm nfd build コマンドによって公開されるすべてのパラメーターが、az aosm nsd build コマンド中に CGS に追加されます。 AOSM CLI 拡張機能では、ARM テンプレートや helm 値から解析されない、追加パラメーターもいくつか CGS に追加されます (customLocationIdmanagedIdentityId など)。 これらのパラメーターは、ターゲット環境にサイト ネットワーク サービスをデプロイするために必要です。

次のステップ