Azure Operator Service Manager (AOSM) のコンテナー化されたネットワーク機能 (CNF) のデプロイ中に Helm インストールが失敗するトラブルシューティングの手法
CNF は、少数の構成パラメーターを含む単一の Helm パッケージのように単純なものから、数千の構成パラメーターを含む数十の Helm パッケージのように複雑なものまであります。 この記事では、Helm インストールの失敗をデバッグするための一連の一般的なトラブルシューティング手順について説明します。
直接 Helm コマンドを使用して Helm パッケージが正しくインストールされていることを確認する
AOSM は、不適切な Helm チャートまたは正しく構成されていない values.yaml
ファイルから構築された CNF をインストールできません。 次の 2 つの基本的な前提条件があります。
- CNF に含まれるすべての Helm チャートは、チャートのデプロイに使用される値のセットが提供された場合に
helm template
を渡す必要がある helm install
は、Azure Arc に接続された Kubernetes クラスターで直接実行する場合に成功する必要がある
Helm チャートがこれらの前提条件を満たしていることをテストします。 AOSM を介してデプロイするときに使用する予定のものと同じ Helm 値を使用してテストするようにしてください。
- クラスター接続を使用して Azure Operator Nexus Kubernetes クラスターに接続し、helm install 使用して Helm チャートをインストールできます。
ネットワーク機能 (NF) ARM テンプレートの --atomic
が false に設定されていることを確認する
既定では、リソースの使用量を減らすために、クラスターから失敗したインストールが AOSM によって削除されます。 これにより、障害シナリオでの詳細なデバッグが妨げられます。 NF ARM テンプレートでは、この動作のオーバーライドがサポートされています。 このハウツー ガイドを使用して、失敗したインストールをそのまま残すように AOSM を構成します。
ネットワーク機能 (NF) Azure Resource Manager (ARM) テンプレートで成果物ストア インジェクションが使用されていることを確認する
AOSM では、Helm チャートのゼロタッチ オンボードがサポートされています。 この機能は NF ARM テンプレートで構成されており、Az CLI AOSM 拡張機能を使用して CNF をオンボードした場合に自動的に有効になります。
- 成果物ストアから NF ARM テンプレートをダウンロードします。
Microsoft.HybridNetwork/networkFunctions
のroleOverrideValues
プロパティに次のスニペットが含まれていることを確認します。 このスニペットでは、3 つの独立した Helm チャートから構築された架空の Contoso CNF を使用します。 これらの Helm チャートは、ネットワーク機能定義バージョン (NFDV) の 3 つのネットワーク機能アプリケーションとしてモデル化されています。 ARM テンプレートには、NFDV 内の各ネットワーク機能アプリケーションのroleOverrideValues
配列に 1 つの要素が必要です。
roleOverrideValues: ["{\"name\": \"Contoso-one\", \"deployParametersMappingRuleProfile\": {\"applicationEnablement\": \"Enabled\", \"helmMappingRuleProfile\": {\"options\": {\"installOptions\": {\"injectArtifactStoreDetails\":\"true\"}},{\"upgradeOptions\": {\"injectArtifactStoreDetails\":\"true\"}}}}},{\"name\": \"Contoso-two\", \"deployParametersMappingRuleProfile\": {\"applicationEnablement\": \"Enabled\", \"helmMappingRuleProfile\": {\"options\": {\"installOptions\": {\"injectArtifactStoreDetails\":\"true\"}},{\"upgradeOptions\": {\"injectArtifactStoreDetails\":\"true\"}}}}},{\"name\": \"Contoso-three\", \"deployParametersMappingRuleProfile\": {\"applicationEnablement\": \"Enabled\", \"helmMappingRuleProfile\": {\"options\": {\"installOptions\": {\"injectArtifactStoreDetails\":\"true\"}},{\"upgradeOptions\": {\"injectArtifactStoreDetails\":\"true\"}}}}}"]
ARM テンプレートに各ネットワーク機能アプリケーションの \"injectArtifactStoreDetails\":\"true\"
設定が含まれていない場合は、ARM テンプレートを編集して NFDV に各ネットワーク機能アプリケーションの設定を含め、ARM テンプレートを成果物ストアにアップロードします。
AOSM Azure portal を使用して SNS デプロイ エラーを表示する
- Azure portal にアクセスし、サイト ネットワーク サービス (SNS) をデプロイしたリソース グループを開きます
- [リソース グループ] メニューから [デプロイ] ページを選択します
- 失敗した SNS デプロイに対応するデプロイの [デプロイ] ページを開き、 [エラーの詳細] ボタンを選択します
AOSM Azure portal を使用して NF デプロイ エラーを表示する
- Azure portal にアクセスし、SNS をデプロイしたリソース グループを開きます
- SNS の概要を開き、リソース プロパティへのリンクをクリックします
- [リソース グループ] メニューから [デプロイ] ページを選択します。
- 失敗した NF デプロイに対応するデプロイの [エラーの詳細] ボタンを選択します
AOSM Azure portal を使用してネットワーク機能のデプロイ パラメーターを表示する
- Azure portal にアクセスし、SNS をデプロイしたリソース グループを開きます
- SNS の概要を開き、リソース プロパティへのリンクをクリックします
- NF の概要を開き、デプロイ値プロパティの [JSON としてビューを開く] ボタンをクリックします
このビューには、NF デプロイ操作に渡された値が表示されます。 これらの値は、NF のデプロイに使用する helm install
コマンドに含まれています。 正しく構成されていない、予期しない、欠落している、または不正な形式の値を指定すると、helm install
コマンドが失敗する可能性があります。
AOSM Azure portal を使用してネットワーク機能コンポーネントのデプロイ パラメーターを表示する
- Azure portal にアクセスし、SNS をデプロイしたリソース グループを開きます
- SNS の概要を開き、リソース プロパティへのリンクをクリックします
- NF の概要を開き、リソース メニューから [コンポーネント] ページに移動します。
- 目的のコンポーネントの [JSON としてビューを開く] を押します。
このビューには、helm install
コマンドで Helm チャートに渡される値が表示されます。 各値は、--set
を使用して helm install
コマンドに渡されます。 正しく構成されていない、予期しない、欠落している、または不正な形式の値を指定すると、helm install
コマンドが失敗する可能性があります。