Dela via


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).

Skapa ett AKS-kluster

  1. Logga in på Azure-portalen.

  2. På startsidan Azure Portal väljer du Skapa en resurs.

  3. I avsnittet Kategorier väljer du Containrar>Azure Kubernetes Service (AKS).

  4. 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.

        Kommentar

        Du kan ändra den förinställda konfigurationen när du skapar klustret genom att välja Jämför förinställningar och välja ett annat alternativ. Skärmbild av Skapa AKS-kluster – förinställda portalalternativ.

      • 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.

        Skärmbild som visar hur du konfigurerar ett AKS-kluster i Azure Portal.

  5. 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.

      Skärmbild som visar hur du skapar en nodpool som kör Windows Server 2022.

  6. 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.

  1. Öppna Cloud Shell genom att >_ välja knappen överst på sidan Azure Portal.

  2. Konfigurera kubectl för att ansluta till kubernetes-klustret med hjälp av az 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
    
  3. 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.

  1. 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.

  2. 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.

  1. Kontrollera statusen för de distribuerade poddarna med kommandot kubectl get pods . Gör så att alla poddar är Running innan du fortsätter.

    kubectl get pods
    
  2. Ö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
    
  3. När EXTERNAL-IP-adressen ändras från väntande till en faktisk offentlig IP-adress använder du CTRL-C för att stoppa kubectl-övervakningsprocessen.

  4. Se exempelappen i praktiken genom att öppna en webbläsare till tjänstens externa IP-adress.

    Skärmbild av att bläddra till ASP.NET exempelprogram.

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.

  1. I Azure Portal går du till resursgruppen.

  2. Välj Ta bort resursgrupp.

  3. Ange namnet på resursgruppen för att bekräfta borttagningen och välj Ta bort.

  4. 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.