クラスター マネージャー: 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.jsonc、clusterManager.parameters.jsonc
Note
正しい書式を取得するには、未加工のコード ファイルをコピーします。 clusterManager.parameters.jsonc ファイル内の値は顧客固有であり、完全なリストではない可能性があります。 使用している特定の環境に合わせて値フィールドを更新してください。
- Web ブラウザーで、Azure portal に移動してサインインします。
- Azure portal の検索バーで 'カスタム テンプレートのデプロイ' を検索し、使用できるサービスからそれを選びます。
- [エディターで独自のテンプレートを作成する] をクリックします。
- [ファイルの読み込み] をクリックします。 clusterManager.jsonc テンプレート ファイルを見つけてアップロードします。
- [保存] をクリックします。
- [パラメーターの編集] をクリックします。
- [ファイルの読み込み] をクリックします。 clusterManager.parameters.jsonc パラメーター ファイルを見つけてアップロードします。
- [保存] をクリックします。
- 適切なサブスクリプションを選択します。
- リソース グループが既に存在する場合は検索し、そうでない場合は新規作成します。
- すべてのインスタンス詳細が正しいことを確認します。
- [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 の両方が追加された場合は、
type
をSystemAssigned
に更新することで、ユーザー割り当て 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 の両方が追加された場合は、
type
をUserAssigned
に更新することで、システム割り当て 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
を使用して、既定のサブスクリプションを構成できます。
次のステップ
ネットワーク ファブリック コントローラーとクラスター マネージャーを正常に作成したら、次のステップはネットワーク ファブリックの作成です。