Dela via


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

Gäller för: AKS på Azure Local

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 lokalt Azure-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

Skapa ett SSH-nyckelpar i Azure och lagra den privata nyckelfilen för felsökning och logginsamling. Detaljerade anvisningar finns i Skapa och lagra SSH-nycklar med Azure CLI eller i Azure-portalen.

  1. Öppna en Cloud Shell-session i webbläsaren eller starta en terminal på den lokala datorn.

  2. Skapa ett SSH-nyckelpar med kommandot az sshkey create :

    az sshkey create --name "mySSHKey" --resource-group $<resource_group_name>
    

    eller använder du ssh-keygen kommandot:

    ssh-keygen -t rsa -b 4096 
    
  3. Hämta värdet för din offentliga nyckel från Azure eller från din lokala dator under /.ssh/id_rsa.pub.

Om du vill ha fler alternativ kan du antingen följa Konfigurera SSH-nycklar för ett AKS-kluster för att skapa SSH-nycklar eller använda Begränsa SSH-åtkomst när klustret skapas. Mer information om hur du kommer åt noder efteråt finns i Ansluta till Windows- eller Linux-arbetsnoder med SSH.

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.

Steg 8: Distribuera mallen och verifiera distributionen (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

anslutna kluster

Name Beskrivning Värde
type Resurstypen. Microsoft.Kubernetes/ConnectedClusters
apiVersion API-versionen för resursen. 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 Resursetiketter. Ordlista med taggnamn och värden. Se även 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.

Provisionerade Klusterinstanser

Name Beskrivning Värde
type Resurstypen microsoft.hybridcontainerservice/provisionedclusterinstances
apiVersion API-versionen för resursen 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

UtökadPlats

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