次の方法で共有


クラスター マネージャー: Operator Nexus でクラスター マネージャーを管理する方法

Operator Nexus インフラストラクチャ クラスターのライフサイクルを管理するため、クラスター マネージャーはオペレーターの Azure サブスクリプションにデプロイされます。

開始する前に

次の情報があることを確認します。

  • Azure サブスクリプション ID - クラスター マネージャーを作成する必要がある Azure サブスクリプション ID (ネットワーク ファブリック コントローラーと同じサブスクリプション ID である必要があります)。
  • ネットワーク ファブリック コントローラー ID - ネットワーク ファブリック コントローラーとクラスター マネージャーには、1 対 1 の関連付けがあります。 クラスター マネージャーに関連付けられているネットワーク ファブリック コントローラーのリソース ID が必要です。
  • Log Analytics ワークスペース ID - ログ収集に使われる Log Analytics ワークスペースのリソース ID。
  • Azure リージョン - クラスター マネージャーは、ネットワーク ファブリック コントローラーと同じ Azure リージョンに作成する必要があります。 この Azure リージョンを、クラスター マネージャーおよび関連するすべての Operator Nexus インスタンスの Location フィールドで使う必要があります。

制限事項

  • 名前付け - 名前付けルールについては、こちらを参照してください。

グローバル引数

すべての Azure CLI コマンドで使用できるいくつかの引数

  • --debug - デバッグのために使われる、CLI 操作に関する詳細情報を出力します。 バグを見つけた場合は、バグ レポートを送信するときに、--debug フラグをオンにして生成した出力を提供してください。
  • --help -h - コマンドとその引数に関する CLI 参照情報を出力し、利用できるサブグループとコマンドの一覧を表示します。
  • --only-show-errors - エラーのみを表示し、警告は抑制します。
  • --output -o - 出力形式を指定します。 使用できる出力形式は、Json、Jsonc (色付けされた JSON)、tsv (タブ区切り値)、table (人間が判読できる ASCII テーブル)、yaml です。 既定では、CLI は Json を出力します。
  • --query - JMESPath クエリ言語を使って、Azure サービスから返された出力をフィルター処理します。
  • --verbose - 操作中に Azure で作成されたリソースに関する情報と、その他の有用な情報を出力します

クラスター マネージャーのプロパティ

プロパティ名 説明
名前、ID、場所、タグ、種類 名前: ユーザー フレンドリ名
ID: < リソース ID >
場所: クラスター マネージャーが作成される Azure リージョン。 値のソース: az account list -locations
タグ: リソース タグ
種類: Microsoft.NetworkCloud/clusterManagers
managerExtendedLocation クラスター マネージャーに関連付けられている ExtendedLocation
managedResourceGroupConfiguration 管理対象リソース グループに関する情報
fabricControllerId このクラスター マネージャーと 1 対 1 の関係があるネットワーク ファブリック コントローラーへの参照
analyticsWorkspaceId 顧客に関連するログが中継される Log Analytics ワークスペース。
clusterVersions[] クラスター マネージャーがサポートするクラスター バージョンの一覧。 クラスターの clusterVersion プロパティへの入力として使用されます。
provisioningState クラスター マネージャーでの最新の操作のプロビジョニング状態。 成功、失敗、取り消し、プロビジョニング、承認済み、更新のいずれか
detailedStatus クラスター マネージャーの状態に関する追加情報を提供する詳細な状態。
detailedStatusMessage 現在の詳細な状態に関する説明メッセージ。

クラスター マネージャー ID

2024-07-01 API バージョンから、顧客がクラスター マネージャーにマネージド ID を割り当てることができます。 システム割り当てとユーザー割り当ての両方のマネージド ID がサポートされています。

ユーザー割り当てマネージド ID を使用してクラスター マネージャーを作成する場合、顧客はその ID へのアクセスを Nexus プラットフォーム用にプロビジョニングする必要があります。 具体的には、Microsoft.ManagedIdentity/userAssignedIdentities/assign/action アクセス許可を AFOI-NC-MGMT-PME-PROD Microsoft Entra ID のユーザー割り当て ID に追加する必要があります。 これは、今後対処されるプラットフォームの既知の制限事項です。

ロールの割り当ては、Azure portal から実行できます。

  • Azure portal を開き、対象のユーザー割り当て ID を見つけます。
    • 複数のマネージド ID がプロビジョニングされることが予想される場合は、代わりにリソース グループまたはサブスクリプション レベルでロールを追加できます。
  • Access control (IAM) で [新しいロールの割り当てを追加する] をクリック
  • ロールの選択: Managed Identity Operator。 ロールが提供するアクセス許可を確認します。
  • アクセス権の割り当て先: ユーザー、グループ、サービス プリンシパル
  • メンバーの選択: AFOI-NC-MGMT-PME-PROD アプリケーション
  • 確認して割り当てる

クラスター マネージャーを作成する

Azure CLI を使用してクラスター マネージャーを作成します。

クラスター マネージャーを作成するには、az networkcloud clustermanager create コマンドを使います。 このコマンドは、新しいクラスター マネージャーを作成するか、クラスター マネージャーが存在する場合はそのプロパティを更新します。 Azure サブスクリプションが複数ある場合は、az account set コマンドを使って適切なサブスクリプション ID を選びます。

az networkcloud clustermanager create \
    --name "$CLUSTER_MANAGER_NAME" \
    --location "$LOCATION" \
    --analytics-workspace-id "$LAW_NAME" \
    --fabric-controller-id "$NFC_ID" \
    --managed-resource-group-configuration name="$MRG_NAME" location="$MRG_LOCATION" \
    --tags $TAG_KEY1="$TAG_VALUE1" $TAG_KEY2="$TAG_VALUE2"
    --resource-group "$CLUSTER_MANAGER_RG"
    --subscription "$SUB_ID"
  • 引数
    • --name -n [必須] - クラスター マネージャーの名前。
    • --fabric-controller-id [必須] - クラスター マネージャーに関連付けられているネットワーク ファブリック コントローラーのリソース ID。
    • --resource-group -g [必須] - リソース グループの名前。 az configure --defaults group=<name> を使って、既定のリソース グループを構成できます。
    • --analytics-workspace-id - ログ収集に使われる Log Analytics ワークスペースのリソース ID
    • --location -l - 場所。 クラスター マネージャーが作成される Azure リージョン。 値のソース: az account list -locations az configure --defaults location="$LOCATION" を使用して、既定の場所を構成できます。
    • --managed-resource-group-configuration - リソースに関連付けられている管理対象リソース グループの構成。
      • 使い方: --managed-resource-group-configuration location=XX name=XX
      • location: 管理対象リソース グループのリージョン。 指定しないと、親リソースのリージョンが選ばれます。
      • name: 管理対象リソース グループの名前。 指定しないと、一意の名前が自動的に生成されます。
    • wait/--no-wait - コマンドが完了するまで待つか、実行時間の長い操作が完了するまで待ちません。
    • --tags - スペース区切りのタグ: key[=value] [key[=value]...]。既存のタグをクリアするには '' を使います
    • --subscription - サブスクリプションの名前または ID。 az account set -s NAME_OR_ID を使用して、既定のサブスクリプションを構成できます。
    • --mi-system-assigned - システム割り当てマネージド ID を有効にします。 追加した ID は、現時点では API 呼び出しによってのみ削除できます。
    • --mi-user-assigned - 追加するユーザー割り当てマネージド ID のスペース区切りのリソース ID。 追加した ID は、現時点では API 呼び出しによってのみ削除できます。

Azure Resource Manager テンプレート エディターを使用してクラスター マネージャーを作成します。

クラスター マネージャーを作成する別の方法は、ARM テンプレート エディターを使用することです。

この方法でクラスターを作成するには、テンプレート ファイル (clusterManager.jsonc) とパラメーター ファイル (clusterManager.parameters.jsonc) を指定する必要があります。

次の 2 つのファイルの例を次に示します。

clusterManager.jsoncclusterManager.parameters.jsonc

Note

正しい書式を取得するには、未加工のコード ファイルをコピーします。 clusterManager.parameters.jsonc ファイル内の値は顧客固有であり、完全なリストではない可能性があります。 使用している特定の環境に合わせて値フィールドを更新してください。

  1. Web ブラウザーで、Azure portal に移動してサインインします。
  2. Azure portal の検索バーで 'カスタム テンプレートのデプロイ' を検索し、使用できるサービスからそれを選びます。
  3. [エディターで独自のテンプレートを作成する] をクリックします。
  4. [ファイルの読み込み] をクリックします。 clusterManager.jsonc テンプレート ファイルを見つけてアップロードします。
  5. [保存] をクリックします。
  6. [パラメーターの編集] をクリックします。
  7. [ファイルの読み込み] をクリックします。 clusterManager.parameters.jsonc パラメーター ファイルを見つけてアップロードします。
  8. [保存] をクリックします。
  9. 適切なサブスクリプションを選択します。
  10. リソース グループが既に存在する場合は検索し、そうでない場合は新規作成します。
  11. すべてのインスタンス詳細が正しいことを確認します。
  12. [Review + create](レビュー + 作成) をクリックします。

クラスター マネージャーを一覧表示または表示する

list と show コマンドは、既存のクラスター マネージャーの一覧または特定のクラスター マネージャーのプロパティを取得するために使われます。

リソース グループ内のクラスター マネージャーの一覧を表示する

このコマンドは、指定したリソース グループ内のクラスター マネージャーの一覧を表示します。

az networkcloud clustermanager list --resource-group "$CLUSTER_MANAGER_RG"

サブスクリプション内のクラスター マネージャーの一覧を表示する

このコマンドは、指定したサブスクリプション内のクラスター マネージャーの一覧を表示します。

az networkcloud clustermanager list  --subscription "$SUB_ID"

クラスター マネージャーのプロパティを表示する

このコマンドは、指定したクラスター マネージャーのプロパティの一覧を表示します。

az networkcloud clustermanager show \
    --name "$CLUSTER_MANAGER_NAME" \
    --resource-group "$CLUSTER_MANAGER_RG" \
    --subscription "$SUB_ID"

list/show コマンドの引数

  • --name -n - クラスター マネージャーの名前。
  • --IDs - 1 つ以上のリソース ID (スペース区切り)。 "リソース ID" 引数のすべての情報を含む完全なリソース ID を指定する必要があります。
  • --resource-group -g - リソース グループの名前。 az configure --defaults group=<name> を使用して、既定のグループを構成できます。
  • --subscription - サブスクリプションの名前または ID。 az account set -s NAME_OR_ID を使用して、既定のサブスクリプションを構成できます。

クラスター マネージャーを更新する

このコマンドは、指定したクラスター マネージャーのプロパティにパッチを適用したり、クラスター マネージャーに割り当てられたタグを更新したりするために使います。 プロパティとタグの更新を、個別に実行できます。

az networkcloud clustermanager update \
    --name "$CLUSTER_MANAGER_NAME" \
    --tags $TAG_KEY1="$TAG_VALUE1" $TAG_KEY2="$TAG_VALUE2" \
    --resource-group "$CLUSTER_MANAGER_RG" \
    --subscription "$SUB_ID"
  • 引数
    • --tags - スペース区切りのタグ: key[=value] [key[=value] ...]。既存のタグをクリアするには '' を使用します。
    • --name -n - クラスター マネージャーの名前。
    • --IDs - 1 つ以上のリソース ID (スペース区切り)。 "リソース ID" 引数のすべての情報を含む完全なリソース ID を指定する必要があります。
    • --resource-group -g - リソース グループの名前。 az configure --defaults group=<name> を使用して、既定のグループを構成できます。
    • --subscription - サブスクリプションの名前または ID。 az account set -s NAME_OR_ID を使用して、既定のサブスクリプションを構成できます。
    • --mi-system-assigned - システム割り当てマネージド ID を有効にします。 追加した ID は、現時点では API 呼び出しによってのみ削除できます。
    • --mi-user-assigned - 追加するユーザー割り当てマネージド ID のスペース区切りのリソース ID。 追加した ID は、現時点では API 呼び出しによってのみ削除できます。

API を使用してクラスター マネージャー ID を更新する

クラスター マネージャーのマネージド ID は、CLI を介して割り当てることができます。 ID の割り当ての解除は、API 呼び出しを介して行います。 <APIVersion> は API バージョン 2024-07-01 以降であることに注意してください。

  • すべてのマネージド ID を削除するには、次を実行します。

    az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_MANAGER_RG/providers/Microsoft.NetworkCloud/clusterManagers/$CLUSTER_MANAGER_NAME?api-version=<APIVersion> --body "{\"identity\":{\"type\":\"None\"}}"
    
  • ユーザー割り当てマネージド ID とシステム割り当てマネージド ID の両方が追加された場合は、typeSystemAssigned に更新することで、ユーザー割り当て ID を削除できます。

    az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_MANAGER_RG/providers/Microsoft.NetworkCloud/clusterManagers/$CLUSTER_MANAGER_NAME?api-version=<APIVersion> --body @~/uai-body.json
    

    要求本文 (uai-body.json) の例:

    {
      "identity": {
          "type": "SystemAssigned"
      }
    }
    
  • ユーザー割り当てマネージド ID とシステム割り当てマネージド ID の両方が追加された場合は、typeUserAssigned に更新することで、システム割り当て ID を削除できます。

    az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_MANAGER_RG/providers/Microsoft.NetworkCloud/clusterManagers/$CLUSTER_MANAGER_NAME?api-version=<APIVersion> --body @~/uai-body.json
    

    要求本文 (uai-body.json) の例:

    {
      "identity": {
          "type": "UserAssigned",
      	"userAssignedIdentities": {
      		"/subscriptions/$SUB_ID/resourceGroups/$UAI_RESOURCE_GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$UAI_NAME": {}
      	}
      }
    }
    
  • 複数のユーザー割り当てマネージド ID が追加された場合は、次を実行してそのうちの 1 つを削除できます。

    az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_MANAGER_RG/providers/Microsoft.NetworkCloud/clusterManagers/$CLUSTER_MANAGER_NAME?api-version=<APIVersion> --body @~/uai-body.json
    

    要求本文 (uai-body.json) の例:

    {
      "identity": {
          "type": "UserAssigned",
      	"userAssignedIdentities": {
      		"/subscriptions/$SUB_ID/resourceGroups/$UAI_RESOURCE_GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$UAI_NAME": null
      	}
      }
    }
    

クラスター マネージャーを削除する

このコマンドは、指定したクラスター マネージャーを削除するために使います。

警告

既存のネットワーク ファブリック コントローラーが関連付けられているクラスター マネージャー、またはこのクラスター マネージャーを参照しているクラスターは削除できません。

az networkcloud clustermanager delete \
    --name "$CLUSTER_MANAGER_NAME" \
    --resource-group "$CLUSTER_MANAGER_RG" \
    --subscription "$SUB_ID"
  • 引数
    • --no-wait - 実行時間の長い操作が完了するまで待ちません。
    • --yes -y - 確認メッセージを表示しません。
    • --name -n - クラスター マネージャーの名前。
    • --IDs - 1 つ以上のリソース ID (スペース区切り)。 "リソース ID" 引数のすべての情報を含む完全なリソース ID を指定する必要があります。
    • --resource-group -g - リソース グループの名前。 az configure --defaults group=<name> を使用して、既定のグループを構成できます。
    • --subscription - サブスクリプションの名前または ID。 az account set -s NAME_OR_ID を使用して、既定のサブスクリプションを構成できます。

次のステップ

ネットワーク ファブリック コントローラーとクラスター マネージャーを正常に作成したら、次のステップはネットワーク ファブリックの作成です。