Skapa och konfigurera namnområden för hanterad flotta (förhandsversion)

Gäller för: ✔️ Fleet Manager med hubbkluster

Den här artikeln visar hur du använder Fleet Manager för att skapa och konfigurera ett namnområde för hanterad flotta som definierar resurskvoter, nätverksprinciper och delegerad användaråtkomst för namnrymderna i flera kluster.

Om du vill visa eller komma åt befintliga namnområden för hanterad flotta som du har åtkomst till kan du läsa visa och komma åt Namnområden för hanterad flotta.

Viktigt!

Förhandsversionsfunktionerna i Azure Kubernetes Fleet Manager är tillgängliga via självbetjäning och opt-in. Förhandsversioner tillhandahålls "i befintligt skick" och "i mån av tillgång," och de är undantagna från servicenivåavtal och begränsad garanti. Förhandsversioner av Azure Kubernetes Fleet Manager omfattas delvis av kundsupport på bästa sätt. Därför är dessa funktioner inte avsedda för produktionsanvändning.

Kända begränsningar

  • När ett namnområde för en hanterad flotta antar ett enda kluster hanterat Kubernetes-namnområde eller vice versa kan det leda till att ägarskapet är i konflikt. Undvik genom att använda en borttagningsprincip keep för både den hanterade flottan och Kubernetes-namnrymderna.
  • Kluster som du specificerar måste vara medlemmar i den klusterflotta som hanteras av samma Fleet Manager som styr den hanterade klusterflottans namnrymd.
  • Kluster måste ha en Kubernetes-version på minst 1.30.0. Kluster under den här versionen blockerar inte användare i klustret från att ändra de placerade Kubernetes-resurserna.
  • RBAC-roller som tilldelats ett namnområdesomfång för hanterad flotta ger motsvarande åtkomst till ohanterade Kubernetes-namnområden i medlemskluster med samma namn.

Innan du börjar

  • Du behöver ett Azure-konto med en aktiv prenumeration. Skapa ett konto kostnadsfritt.

  • Du behöver en Fleet Manager med ett hubbkluster. Om du inte har ett kan du se skapa och ansluta minst ett AKS-kluster (Azure Kubernetes Service) till flottan.

  • Förstå konceptet Managed Fleet Namespace genom att läsa översikten.

  • Du behöver Azure CLI version 2.78.0 eller senare installerad för att slutföra den här artikeln. Information om hur du installerar eller uppgraderar finns i Installera Azure CLI.

  • Du behöver fleet Azure CLI-tillägget version 1.8.0 eller senare. Du kan installera den och uppdatera till den senaste versionen med hjälp av kommandona [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
    
  • Bekräfta att versionen av flottetillägget är minst 1.8.0 med kommandot az extension show.

    az extension show --name fleet
    
  • Ange följande miljövariabler för ditt prenumerations-ID, resursgrupp, Fleet och Fleet Member:

    export SUBSCRIPTION_ID=<subscription-id>
    export GROUP=<resource-group-name>
    export FLEET=<fleet-name>
    export FLEET_ID=<fleet-id>
    
  • Ange standardprenumerationen för Azure med kommandot az account set .

    az account set --subscription ${SUBSCRIPTION_ID}
    

Skapa ett nytt namnområde för hanterad flotta

Skapa ett nytt hanterat namnområde för flera kluster med kommandot 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

Delegera åtkomst till ett namnområde för hanterad flotta

Nu kan du bevilja åtkomst till en användare för namnområdet för den hanterade flottan i medlemskluster med hjälp av en av de inbyggda rollerna.

Skapa en rolltilldelning med kommandot az role assignment create .

I följande exempel tilldelas en användare rollen Azure Kubernetes Fleet Manager RBAC Writer för medlemskluster i alla kluster som tar emot namnområdet för hanterad my-managed-namespace flotta:

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"

Lägg till kluster i ett namespace för hanterad flotta

Du kan styra vilka medlemskluster som det hanterade namnområdet ska distribueras till genom att ange önskad lista över medlemsklusternamn. Alla ohanterade namnområden med samma namn i medlemskluster som inte finns i den angivna listan förblir orörda.

Ange den fullständiga listan över medlemskluster som du vill distribuera det hanterade namnområdet till med hjälp av az fleet namespace create kommandot med parametern --member-cluster-names . Det hanterade namnområdet sprids till alla kluster i listan.

I det här exemplet distribueras det hanterade namnområdet till clusterA, clusterBoch clusterC.

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

Ta bort medlemskluster från ett namnområde för hanterad flotta

Du kan ta bort medlemskluster från ett namnområde för hanterad flotta genom att undanta dem från listan över medlemskluster som du vill att namnområdet ska vara på.

Ange listan över medlemskluster som du vill att det hanterade namnområdet ska vara kvar på med kommandot az fleet namespace create med parametern --member-cluster-names . Det hanterade namnområdet tas bort från alla kluster som undantas från listan.

I det här exemplet tas det hanterade namnområdet bort från clusterC.

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

Visa konfigurationen för ett namnområde för en hanterad flotta

Visa information om ett specifikt hanterat namnområde för flera kluster med hjälp az fleet namespace show av kommandot .

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

Dina utdata bör likna följande exempelutdata:

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

Ta bort ett namnområde för hanterad flotta

Ta bort ett hanterat namnområde för flera kluster med kommandot az fleet namespace delete .

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

Viktigt!

RBAC-roller som placeras i det hanterade namnområdet tas bort när det hanterade namnområdet tas bort, oavsett borttagningsprincipkonfigurationen.

Nästa steg