共用方式為


建立與設定管理車隊命名空間(預覽)

適用於: ✔️ 使用中樞叢集的車隊管理器

本文將教你如何使用 Fleet Manager 建立並配置一個受管理的 Fleet 命名空間,該命名空間定義資源配額、網路政策,以及多個叢集上指定的使用者權限。

如果您想查看或存取您已能存取的現有管理車隊 命名空間,請參閱「檢視並存取管理車隊命名空間」。

這很重要

Azure Kubernetes Fleet Manager 預覽功能可在自助服務、選擇加入的基礎上使用。 預覽是「依現況」及「可用時」提供的,並不包括在服務等級協定和有限保固之內。 客戶支援部門會竭盡全力支援一部分的 Azure Kubernetes 機群管理員預覽功能。 因此,這些功能不適合實際執行用途。

已知的限制

  • 受控機群命名空間採用單一叢集的受控 Kubernetes 命名空間或反之亦然時,可能導致所有權發生衝突。 為避免這個狀況,請同時對受控機群和 Kubernetes 命名空間使用 keep 的刪除原則。
  • 你指定的叢集必須是由同一艦隊管理者管理的艦隊成員,該管理者同時控制該管理艦隊命名空間。
  • 叢集必須至少有 1.30.0 的 Kubernetes 版本。 低於此版本的叢集 不會 阻止叢集用戶修改已放置的 Kubernetes 資源。
  • 分配給受管艦隊命名空間範圍的 RBAC 角色,將對同名成員叢集上任何未管理的 Kubernetes 命名空間給予等效存取權。

開始之前

  • 您需要具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶

  • 你需要一個擁有樞紐叢集的艦隊經理。 如果您沒有,請參閱 建立並將至少一個 Azure Kubernetes Service (AKS) 叢集加入艦隊

  • 透過 閱讀概述來了解管理艦隊命名空間的概念。

  • 你需要安裝 Azure CLI 2.78.0 或更新版本才能完成本文。 若要安裝或升級,請參閱安裝 Azure CLI

  • 你需要 fleet Azure CLI 擴充套件 1.8.0 或更新版本。 你可以用 [az extension add][az-extension-add] 和 az extension update 指令安裝並更新到最新版本。

    # Install the extension
    az extension add --name fleet
    
    # Update the extension
    az extension update --name fleet
    
  • 請用指令 az extension show 確認艦隊擴充版本至少是 1.8.0。

    az extension show --name fleet
    
  • 為您的訂用帳戶識別碼、資源群組、叢集和叢集成員設定下列環境變數:

    export SUBSCRIPTION_ID=<subscription-id>
    export GROUP=<resource-group-name>
    export FLEET=<fleet-name>
    export FLEET_ID=<fleet-id>
    
  • 使用命令 az account set 設定預設 Azure 訂用帳戶。

    az account set --subscription ${SUBSCRIPTION_ID}
    

建立新的管理艦隊命名空間

使用命令 az fleet namespace create 建立新的多叢集受管命名空間。

    az fleet namespace create \
        --resource-group $GROUP \
        --fleet-name $FLEET \
        --name my-managed-namespace \ 
        --annotations annotation1=value1 annotation2=value2 \
        --labels team=myTeam label2=value2 \
        --cpu-requests 1m \
        --cpu-limits 4m \
        --memory-requests 1Mi \
        --memory-limits 4Mi \
        --ingress-policy allowAll \
        --egress-policy allowAll \
        --delete-policy keep \
        --adoption-policy never

授權管理車隊命名空間的存取權

你現在可以透過 內建角色之一,授權使用者跨成員叢集存取受管艦隊命名空間的權限。

使用命令 az role assignment create 建立角色指派。

以下範例指派使用者在任何收到 my-managed-namespace 受控機群命名空間的叢集上,擔任成員叢集的 Azure Kubernetes 機群管理員 RBAC Writer 角色

az role assignment create \
    --role "Azure Kubernetes Fleet Manager RBAC Writer for Member Clusters" \
    --assignee <USER-ENTRA-ID> \
    --scope "$FLEET_ID/managedNamespaces/my-managed-namespace"

將成員叢集加入管理車隊命名空間

您可以指定所需的成員叢集名稱清單,以控制要將受管理命名空間部署至哪些成員叢集。 不在指定清單中的成員叢集上具有相同名稱的任何非受管理名稱空間都會保持不變。

使用az fleet namespace create命令與--member-cluster-names參數,指定要部署受管理命名空間的成員叢集完整清單。 管理命名空間會傳播到列表中的所有叢集。

在此範例中,管理命名空間部署於 clusterAclusterBclusterC及 。

az fleet namespace create \
    --resource-group $GROUP \
    --fleet-name $FLEET \
    --name my-managed-namespace \
    --member-cluster-names clusterA clusterB clusterC

從管理車隊命名空間中移除成員叢集

您可以將成員叢集從想放置的命名空間清單上排除,藉此移除受控機群命名空間中的成員叢集。

使用 az fleet namespace create 指令並搭配 --member-cluster-names 參數,以指定要讓受管理命名空間保留的成員叢集列表。 管理命名空間會從任何被排除在列表中的叢集中移除。

在此範例中,管理命名空間從 clusterC 中移除。

az fleet namespace create \
    --resource-group $GROUP \
    --fleet-name $FLEET \
    --name my-managed-namespace \
    --member-cluster-names clusterA clusterB

查看管理車隊命名空間的配置

可透過以下 az fleet namespace show 指令查看特定多叢集管理命名空間的詳細資訊。

az fleet namespace show \ 
    --resource-group $GROUP \ 
    --fleet-name $FLEET \ 
    --name my-managed-namespace \ 
    -o table 

您的輸出應該與下列範例輸出類似:

AdoptionPolicy  DeletePolicy   ETag                                    Location   Name                  ProvisioningState   ResourceGroup
--------------  ------------   -------------------------------------   --------   --------------------  -----------------   -------------
Always          Delete         "aaaaaaaa-0b0b-1c1c-2d2d-333333333333   westus2    my-managed-namespace  Succeeded           test-rg

刪除受管理的車隊命名空間

使用命令 az fleet namespace delete 刪除多叢集受管命名空間。

az fleet namespace delete \
    --resource-group $GROUP \
    --fleet-name $FLEET \
    --name my-managed-namespace 

這很重要

放置在受管理命名空間上的 RBAC 角色,當被管理命名空間被刪除時,無論刪除策略的設定如何,都會被刪除。

後續步驟