Dela via


Snabbstart: Distribuera ett Kubernetes-kluster med hjälp av en Azure Resource Manager-mall

Gäller för: Azure Local, version 23H2

Den här snabbstarten visar hur du distribuerar ett Kubernetes-kluster i AKS Arc med hjälp av en ARM-mall (Azure Resource Manager). Azure Arc utökar Azure-hanteringsfunktionerna till Kubernetes-kluster var som helst, vilket ger en enhetlig metod för att hantera olika miljöer.

Innan du börjar

Den här artikeln förutsätter en grundläggande förståelse av Kubernetes-begrepp.

För att distribuera en ARM-mall behöver du skrivåtkomst till de resurser som du distribuerar och åtkomst till alla åtgärder på Microsoft.Resources/deployments resurstyp. Om du till exempel vill distribuera en virtuell dator behöver du behörigheterna Microsoft.Compute/virtualMachines/write och Microsoft.Resources/deployments/* . Det finns en lista med roller och behörigheter i Inbyggda roller i Azure.

Förutsättningar

  • Ett Azure-konto med en aktiv prenumeration.
  • Ett Azure Local- version 23H2-kluster.
  • Den senaste Azure CLI-versionen.

Steg 1: Förbereda ditt Azure-konto

  1. Logga in på Azure: öppna terminalen eller kommandotolken och logga in på ditt Azure-konto med hjälp av Azure CLI:

    az login
    
  2. Ange din prenumeration: ersätt <your-subscription-id> med ditt prenumerations-ID:

    az account set --subscription "<your-subscription-id>"
    

Steg 2: Skapa ett SSH-nyckelpar med Hjälp av Azure CLI

az sshkey create --name "mySSHKey" --resource-group "myResourceGroup"

eller skapar du ett SSH-nyckelpar med hjälp av ssh-keygen:

ssh-keygen -t rsa -b 4096

Om du vill distribuera mallen måste du ange den offentliga nyckeln från SSH-paret. Använd kommandot för att hämta den offentliga nyckeln az sshkey show :

az sshkey show --name "mySSHKey" --resource-group "myResourceGroup" --query "publicKey"

Som standard skapas SSH-nyckelfilerna i katalogen ~/.ssh . az sshkey create Kör kommandot eller ssh-keygen för att skriva över ett befintligt SSH-nyckelpar med samma namn.

Mer information om hur du skapar SSH-nycklar finns i Skapa och hantera SSH-nycklar för autentisering i Azure.

Steg 3: Granska mallen

Ladda ned mall- och parameterfilerna från AKSArc-lagringsplatsen till den lokala datorn. Granska alla standardvärden och se till att de är korrekta.

Steg 4: Distribuera mallen

Kör följande kommando för att distribuera Kubernetes-klustret:

az deployment group create \
--name "<deployment-name>" \
--resource-group "<resource-group-name>" \
--template-file "azuredeploy.json" \
--parameters "azuredeploy.parameters.json"

Det tar några minuter att skapa klustret. Vänta tills klustret har distribuerats innan du går vidare till nästa steg.

Steg 5: Verifiera distributionen

När distributionen är klar använder du följande kommando för att kontrollera att kubernetes-klustret är igång:

az aksarc show --resource-group "<resource-group-name>" --name "<cluster-name>" --output table

Steg 6: Anslut till klustret

  1. Kör kommandot för att ansluta till klustret az connectedk8s proxy . Kommandot laddar ned och kör en proxybinär på klientdatorn och hämtar en kubeconfig-fil som är associerad med klustret:

    az connectedk8s proxy --name <cluster name> -g <resource group>
    

    Du kan också använda Kubernetes kommandoradsklient kubectl. Om du använder Azure Cloud Shell är kubectl redan installerat. Kör kommandot för att installera och köra kubectl lokalt az aksarc install-cli .

    Konfigurera kubectl för att ansluta till ditt Kubernetes-kluster med hjälp av az aksarc get-credentials kommandot . Det här kommandot laddar ned autentiseringsuppgifter och konfigurerar Kubernetes CLI för att använda dem:

    az aksarc get-credentials --resource-group "<resource-group-name>" --name "<cluster-name>"
    
  2. Kontrollera anslutningen till klustret med hjälp av kubectl get kommandot . Det här kommandot returnerar en lista över klusternoderna:

    kubectl get nodes -A --kubeconfig .\<path to kubecofig> 
    

    Följande exempelutdata visar de tre noder som skapades i föregående steg. Kontrollera att nodstatusen är Klar:

    NAME                                STATUS   ROLES   AGE   VERSION
    aks-agentpool-27442051-vmss000000   Ready    agent   10m   v1.27.7
    aks-agentpool-27442051-vmss000001   Ready    agent   10m   v1.27.7
    aks-agentpool-27442051-vmss000002   Ready    agent   11m   v1.27.7
    

Steg 7: Distribuera nodpool med hjälp av en Azure Resource Manager-mall (valfritt)

Similiar till steg 3, ladda ned mallen och parametrarna för nodpoolen från AKSArc-lagringsplatsen och granska standardvärdena.

Distribuera mallen och verifiera resultaten med hjälp av Azure CLI (valfritt)

Granska och tillämpa mallen. Den här processen tar några minuter att slutföra. Du kan använda Azure CLI för att verifiera att nodpoolen har skapats:

az deployment group create \
--name "<deployment-name>" \
--resource-group "<resource-group-name>" \
--template-file "azuredeploy.json" \
--parameters "azuredeploy.parameters.json"
az aksarc nodepool show --cluster-name "<cluster-name>" --resource-group "<resource-group-name>" --name "<nodepool-name>"

Mallresurser

connectedClusters

Name Beskrivning Värde
type Resurstypen. Microsoft.Kubernetes/ConnectedClusters
apiVersion Resurs-API-versionen. 2024-01-01
name Resursnamnet. Sträng (krävs)
Teckengräns: 1–63
Giltiga tecken: Alfanumeriska tecken, understreck och bindestreck.
Börja och avsluta med alfanumeriskt.
location Den geo-plats där resursen finns. Sträng (krävs).
tags Resurstaggar. Ordlista med taggnamn och värden. Se Taggar i mallar.
extendedLocation Den utökade platsen för den virtuella datorn. ExtendedLocation
identity Identiteten för det anslutna klustret, om det är konfigurerat.
properties Egenskaper för ett anslutet kluster.

ProvisionedClusterInstances

Name Beskrivning Värde
type Resurstypen microsoft.hybridcontainerservice/provisionedclusterinstances
apiVersion Resurs-API-versionen 2024-01-01
name Resursnamnet Sträng (krävs). Ändra inte detta från standard.
properties Egenskaper för ett anslutet kluster.
extendedLocation Den utökade platsen för klustret. ExtendedLocation

ExtendedLocation

Name Beskrivning Värde
name ID för den utökade platsen. sträng
type Typ av utökad plats. CustomLocation

Nästa steg

Översikt över AKS Arc