叢集管理員:如何在運算子連接點中管理叢集管理員
叢集管理員會部署在運算子的 Azure 訂用帳戶中,以管理運算子連接點基礎結構叢集的生命週期。
開始之前
請確定您有下列資訊:
- Azure 訂用帳戶識別碼 - 需要建立叢集管理員的 Azure 訂用帳戶識別碼 (應該是網路網狀架構控制器的相同訂用帳戶識別碼)。
- 網路網狀架構控制器識別碼 - 網路網狀架構控制器與叢集管理員有 1:1 關聯。 您需要網路網狀架構控制器的資源標識碼,才能與叢集管理員相關聯。
- Log Analytics 工作區識別碼 - 用於記錄收集的 Log Analytics 工作區的資源識別碼。
-
Azure 區域 - 叢集管理員應與網路網狀架構控制器建立在相同的 Azure 區域中。
此 Azure 區域應該用於叢集管理員的
Location
欄位,以及所有相關聯的運算子連接點執行個體。
限制
- 命名 - 可以在此處找到命名規則。
叢集管理員屬性
屬性名稱 | 描述 |
---|---|
名稱、識別碼、位置、標籤、類型 | 名稱:用戶易記名稱 標識碼:資源標識碼 位置:建立叢集管理員的 Azure 區域。 值的來源: az account list -locations 。卷標:資源標籤 類型:Microsoft.NetworkCloud/clusterManagers |
managerExtendedLocation | 與叢集管理員相關聯的 ExtendedLocation |
managedResourceGroupConfiguration | 為叢集管理員建立的受控資源群組詳細數據,可裝載其內部使用的資源。 |
fabricControllerId | 此叢集管理員為 1:1 的網路網狀架構控制器參考 |
analyticsWorkspaceId | 您可以在 Log Analytics 工作區中找到與客戶相關的記錄。 |
clusterVersions[] | 叢集管理員支援的叢集版本清單。 它會作為叢集 clusterVersion 屬性中的輸入。 |
provisioningState | 叢集管理員上最新作業的布建狀態。 其中一個:成功、失敗、已取消、布建、已接受、更新 |
detailedStatus | 提供叢集管理員狀態的其他資訊的詳細狀態。 |
detailedStatusMessage | 目前詳細狀態的描述性訊息。 |
叢集管理員身分識別
客戶可以將受控識別指派給叢集管理員。 從 API 版本開始 2024-07-01
,支援系統指派和使用者指派的受控識別。
如果使用使用者指派的受控識別建立叢集管理員,客戶必須布建 Nexus 平臺該身分識別的存取權。
具體來說, Microsoft.ManagedIdentity/userAssignedIdentities/assign/action
許可權必須新增至使用者指派的身分識別,才能 AFOI-NC-MGMT-PME-PROD
Microsoft Entra ID。 這是未來將解決之平臺的已知限制。
角色指派可以透過 Azure 入口網站 來完成:
- 開啟 Azure 入口網站 並找出有問題的使用者指派身分識別。
- 如果您預期已布建多個受控識別,則可以改為在資源群組或訂用帳戶層級新增角色。
- 在 底下
Access control (IAM)
,按兩下 [新增角色指派] - 選取 [角色]:
Managed Identity Operator
。 請參閱角色提供的許可權。 - 存取權指派對象為:使用者、群組或服務主體
- 選取成員:
AFOI-NC-MGMT-PME-PROD
應用程式 - 檢閱並指派
建立叢集管理員
使用下列命令來建立叢集管理員。
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
[必要] - 叢集管理員的名稱。 -
--resource-group
或-g
[必要] - 資源組名。 您可以使用az configure --defaults group=<name>
設定預設資源群組。 -
--fabric-controller-id
[必要] - 與叢集管理員相關聯的網路網狀架構控制器資源標識符。 -
--analytics-workspace-id
- 用於記錄收集之 Log Analytics 工作區的資源識別碼 -
--location
或-l
- 建立叢集管理員的 Azure 區域。 值的來源:az account list -locations
。 您可以使用az configure --defaults location="$LOCATION"
設定預設位置。 -
--managed-resource-group-configuration
- 與資源相關聯的受控資源群組設定。- 使用方式:
--managed-resource-group-configuration location=XX name=XX
- 位置:受控資源群組的區域。 如果未指定,則會選擇父資源的區域。
- 名稱:受控資源群組的名稱。 如果未指定,會自動產生唯一名稱。
- 使用方式:
-
wait
/--no-wait
- 等候命令完成,或不要等候長時間執行的作業完成。 -
--tags
- 空格分隔標記:key[=value] [key[=value]...]。使用'' 清除現有的標記 -
--subscription
- 訂用帳戶的名稱或識別碼。 您可以使用az account set -s NAME_OR_ID
設定預設訂用帳戶。 -
--mi-system-assigned
- 啟用系統指派的受控識別。 -
--mi-user-assigned
- 要新增之使用者指派受控識別的空間分隔資源標識符。 -
--if-match
/if-none-match
- 指定最後看到的 ETag 值,以防止意外覆寫並行變更。 建立資源之後,ETag 會以資源屬性的形式傳回,而且可用於更新作業。
每個 Azure CLI 命令可用的常見自變數:
-
--debug
- 列印用於偵錯之 CLI 執行的詳細資訊。 如果您發現錯誤,可在提交錯誤報告時提供使用--debug
旗標產生的輸出。 -
--output
或-o
-指定輸出格式。 可用的輸出格式為 Json、Jsonc (以色彩標示的 JSON)、tsv (定位字元分隔值)、table (人類看得懂的 ASCII 資料表) 和 yaml。 根據預設,CLI 會輸出 Json。 -
--query
- 使用 JMESPath 查詢語言來篩選從 Azure 服務傳回的輸出。
列出/顯示叢集管理員
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"
更新叢集管理員
此命令用來修補所提供叢集管理員的屬性,或更新指派給叢集管理員的標籤。 屬性和標籤更新可以獨立完成。
此命令會更新指定資源群組中的叢集管理員。
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"
您可以使用子命令透過 az networkcloud clustermanager identity
CLI 管理叢集管理員身分識別。
此命令會顯示目前指派的身分識別。
az networkcloud clustermanager identity show \
--name "$CLUSTER_MANAGER_NAME" \
--resource-group "$CLUSTER_MANAGER_RG" \
--subscription "$SUB_ID"
此命令會新增使用者指派的身分識別。
az networkcloud clustermanager identity assign \
--name "$CLUSTER_MANAGER_NAME" \
--resource-group "$CLUSTER_MANAGER_RG" \
--subscription "$SUB_ID"
--mi-user-assigned "$UAI_RESOURCE_ID"
此命令會新增系統指派的身分識別。
az networkcloud clustermanager identity assign \
--name "$CLUSTER_MANAGER_NAME" \
--resource-group "$CLUSTER_MANAGER_RG" \
--subscription "$SUB_ID"
--mi-system-assigned
此命令會移除現有的使用者指派身分識別。
az networkcloud clustermanager identity remove \
--name "$CLUSTER_MANAGER_NAME" \
--resource-group "$CLUSTER_MANAGER_RG" \
--subscription "$SUB_ID"
--mi-user-assigned "$UAI_RESOURCE_ID"
此命令會移除現有的系統指派身分識別。
az networkcloud clustermanager identity remove \
--name "$CLUSTER_MANAGER_NAME" \
--resource-group "$CLUSTER_MANAGER_RG" \
--subscription "$SUB_ID"
--mi-system-assigned
刪除叢集管理員
此命令用來刪除提供的叢集管理員。
警告
具有現有相關聯網路網狀架構控制器的叢集管理員,或任何參考此叢集管理員的叢集可能無法加以刪除。
az networkcloud clustermanager delete \
--name "$CLUSTER_MANAGER_NAME" \
--resource-group "$CLUSTER_MANAGER_RG" \
--subscription "$SUB_ID"
注意
建議您在刪除 clustermanager 之後等候 20 分鐘,再嘗試建立具有相同名稱的新 clustermanager。
下一步
成功建立網路網狀架構控制器和叢集管理員之後,下一個步驟是建立 網路網狀架構。