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
Logga in på Azure: öppna terminalen eller kommandotolken och logga in på ditt Azure-konto med hjälp av Azure CLI:
az login
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
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>"
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 |