Distribuera en Windows Server-container i ett AKS-kluster (Azure Kubernetes Service) med hjälp av Azure Portal
Azure Kubernetes Service (AKS) är en hanterad Kubernetes-tjänst som gör att du snabbt kan distribuera och hantera kluster. I den här artikeln distribuerar du ett AKS-kluster som kör Windows Server-containrar med hjälp av Azure Portal. Du distribuerar också ett ASP.NET exempelprogram i en Windows Server-container till klustret.
Kommentar
För att komma igång med att snabbt etablera ett AKS-kluster innehåller den här artikeln steg för att distribuera ett kluster med standardinställningar endast i utvärderingssyfte. Innan du distribuerar ett produktionsklart kluster rekommenderar vi att du bekantar dig med vår referensarkitektur för baslinje för att överväga hur det överensstämmer med dina affärskrav.
Innan du börjar
Den här snabbstarten förutsätter grundläggande kunskaper om Kubernetes-begrepp. Mer information finns i Viktiga koncept för Azure Kubernetes Service (AKS).
- Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.
- Om du inte känner till Azure Cloud Shell kan du läsa Översikt över Azure Cloud Shell.
- Kontrollera att den identitet som du använder för att skapa klustret har lämpliga minimibehörigheter. Mer information om åtkomst och identitet för AKS finns i Åtkomst- och identitetsalternativ för Azure Kubernetes Service (AKS).
Skapa ett AKS-kluster
Logga in på Azure-portalen.
På startsidan Azure Portal väljer du Skapa en resurs.
I avsnittet Kategorier väljer du Containrar>Azure Kubernetes Service (AKS).
På fliken Grundläggande konfigurerar du följande inställningar:
- Under Projektinformation:
- Prenumeration: Välj den Azure-prenumeration som du vill använda för det här AKS-klustret.
- Resursgrupp: Välj Skapa ny, ange ett resursgruppnamn, till exempel myResourceGroup, och välj sedan Ok. Även om du kan välja en befintlig resursgrupp rekommenderar vi att du skapar en resursgrupp för att tillfälligt vara värd för dessa resurser och undvika att påverka dina produktions- eller utvecklingsarbetsbelastningar.
- Under Klusterinformation:
Konfiguration av klustrets förinställning: Välj Dev/Test. Mer information om förinställda konfigurationer finns i Förinställningar för klusterkonfiguration i Azure Portal.
Kubernetes-klusternamn: Ange ett klusternamn, till exempel myAKSCluster.
Region: Välj en region, till exempel USA, östra 2.
Tillgänglighetszoner: Välj Ingen.
AKS-prisnivå: Välj Kostnadsfri.
Lämna standardvärdena för de återstående inställningarna och välj Nästa.
- Under Projektinformation:
På fliken Nodpooler konfigurerar du följande inställningar:
Välj Lägg till nodpool och ange ett nodpoolnamn, till exempel npwin. För en Windows-nodpool måste namnet vara sex tecken eller färre.
Läge: Välj Användare.
OS SKU: Välj Windows 2022.
Tillgänglighetszoner: Välj Ingen.
Låt kryssrutan Aktivera Azure Spot-instanser vara avmarkerad.
Nodstorlek: Välj Välj en storlek. På sidan Välj en VM-storlek väljer du D2s_v3 och väljer sedan Välj.
Lämna standardvärdena för de återstående inställningarna och välj Lägg till.
Välj Granska + skapa för att köra valideringen i klusterkonfigurationen. När valideringen är klar väljer du Skapa.
Det tar några minuter att skapa AKS-klustret. När distributionen är klar går du till resursen genom att välja Gå till resurs eller genom att bläddra till AKS-klusterresursgruppen och välja AKS-resursen.
Anslut till klustret
Du använder kubectl, Kubernetes-kommandoradsklienten, för att hantera dina Kubernetes-kluster. kubectl
är redan installerat om du använder Azure Cloud Shell. Om du inte känner till Cloud Shell kan du läsa Översikt över Azure Cloud Shell.
Öppna Cloud Shell genom att
>_
välja knappen överst på sidan Azure Portal.Konfigurera
kubectl
för att ansluta till kubernetes-klustret med hjälp avaz aks get-credentials
kommandot . Följande kommando laddar ned autentiseringsuppgifter och konfigurerar Kubernetes CLI för att använda dem.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Kontrollera anslutningen till klustret med kommandot
kubectl get nodes
som returnerar en lista över klusternoderna.kubectl get nodes
Följande exempelutdata visar alla noder i klustret. Kontrollera att statusen för alla noder är Klar:
NAME STATUS ROLES AGE VERSION aks-agentpool-11741175-vmss000000 Ready agent 8m17s v1.29.9 aks-agentpool-11741175-vmss000001 Ready agent 8m17s v1.29.9 aksnpwin000000 Ready agent 8m17s v1.29.9 aks-userpool-11741175-vmss000000 Ready agent 8m17s v1.29.9 aks-userpool-11741175-vmss000001 Ready agent 8m17s v1.29.9
Distribuera programmet
En Kubernetes-manifestfil definierar ett önskat tillstånd för klustret, till exempel vilka containeravbildningar som ska köras. I den här snabbstarten använder du en manifestfil för att skapa alla objekt som behövs för att köra ASP.NET exempelprogrammet i en Windows Server-container. Den här manifestfilen innehåller en Kubernetes-distribution för ASP.NET exempelprogram och en extern Kubernetes-tjänst för åtkomst till programmet från Internet.
Det ASP.NET exempelprogrammet tillhandahålls som en del av .NET Framework-exempel och körs i en Windows Server-container. Kubernetes-manifestfilen måste definiera en nodväljare för att instruera AKS-klustret att köra ASP.NET exempelprogrammets podd på en nod som kan köra Windows Server-containrar.
Skapa en fil med namnet
sample.yaml
och klistra in följande YAML-definition.apiVersion: apps/v1 kind: Deployment metadata: name: sample labels: app: sample spec: replicas: 1 template: metadata: name: sample labels: app: sample spec: nodeSelector: "kubernetes.io/os": windows containers: - name: sample image: mcr.microsoft.com/dotnet/framework/samples:aspnetapp resources: limits: cpu: 1 memory: 800M ports: - containerPort: 80 selector: matchLabels: app: sample --- apiVersion: v1 kind: Service metadata: name: sample spec: type: LoadBalancer ports: - protocol: TCP port: 80 selector: app: sample
En uppdelning av YAML-manifestfiler finns i Distributioner och YAML-manifest.
Om du skapar och sparar YAML-filen lokalt kan du ladda upp manifestfilen till standardkatalogen i CloudShell genom att välja knappen Ladda upp/ladda ned filer och välja filen från det lokala filsystemet.
Distribuera programmet med kommandot
kubectl apply
och ange namnet på ditt YAML-manifest.kubectl apply -f sample.yaml
Följande exempelutdata visar distributionen och tjänsten som har skapats:
deployment.apps/sample created service/sample created
Testa programmet
När programmet körs så exponerar en Kubernetes-tjänst programmets klientdel mot Internet. Den här processen kan ta ett par minuter att slutföra. Ibland kan det ta längre tid än några minuter att etablera tjänsten. Tillåt upp till 10 minuter för etablering.
Kontrollera statusen för de distribuerade poddarna med kommandot
kubectl get pods
. Gör så att alla poddar ärRunning
innan du fortsätter.kubectl get pods
Övervaka förloppet med kommandot
kubectl get service
med--watch
argumentet .kubectl get service sample --watch
Initialt visar utdata EXTERNAL-IP för exempeltjänsten som väntande:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE sample LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6s
När EXTERNAL-IP-adressen ändras från väntande till en faktisk offentlig IP-adress använder du
CTRL-C
för att stoppakubectl
-övervakningsprocessen.Se exempelappen i praktiken genom att öppna en webbläsare till tjänstens externa IP-adress.
Ta bort resurser
Om du inte planerar att gå igenom AKS-självstudien bör du ta bort klustret för att undvika azure-avgifter.
I Azure Portal går du till resursgruppen.
Välj Ta bort resursgrupp.
Ange namnet på resursgruppen för att bekräfta borttagningen och välj Ta bort.
I dialogrutan Ta bort bekräftelse väljer du Ta bort.
Kommentar
AKS-klustret skapades med systemtilldelad hanterad identitet (standardidentitetsalternativet som används i den här snabbstarten), identiteten hanteras av plattformen och kräver inte borttagning.
Nästa steg
I den här snabbstarten distribuerade du ett Kubernetes-kluster och distribuerade sedan ett ASP.NET exempelprogram i en Windows Server-container till det. Det här exempelprogrammet är endast i demosyfte och representerar inte alla metodtips för Kubernetes-program. Vägledning om hur du skapar fullständiga lösningar med AKS för produktion finns i AKS-lösningsvägledning.
Om du vill veta mer om AKS och gå igenom ett komplett exempel på kod-till-distribution fortsätter du till självstudiekursen för Kubernetes-klustret.
Azure Kubernetes Service