Udostępnij za pośrednictwem


Wdrażanie kontenera systemu Windows Server w klastrze usługi Azure Kubernetes Service (AKS) przy użyciu witryny Azure Portal

Azure Kubernetes Service (AKS) to zarządzana usługa platformy Kubernetes, która umożliwia szybkie wdrażanie klastrów i zarządzanie nimi. W tym artykule wdrożysz klaster usługi AKS, który uruchamia kontenery systemu Windows Server przy użyciu witryny Azure Portal. W klastrze wdrożysz również przykładową aplikację ASP.NET w kontenerze systemu Windows Server.

Uwaga

Aby rozpocząć szybkie aprowizowanie klastra usługi AKS, ten artykuł zawiera kroki wdrażania klastra z ustawieniami domyślnymi tylko do celów ewaluacyjnych. Przed wdrożeniem klastra gotowego do produkcji zalecamy zapoznanie się z naszą architekturą referencyjną punktu odniesienia, aby wziąć pod uwagę, jak jest ona zgodna z wymaganiami biznesowymi.

Zanim rozpoczniesz

W tym przewodniku Szybki start założono, że masz podstawową wiedzę na temat pojęć związanych z rozwiązaniem Kubernetes. Aby uzyskać więcej informacji, zobacz temat Kubernetes core concepts for Azure Kubernetes Service (AKS) (Kubernetes — podstawowe pojęcia dotyczące usługi Azure Kubernetes Service (AKS)).

Tworzenie klastra AKS

  1. Zaloguj się w witrynie Azure Portal.

  2. Na stronie głównej witryny Azure Portal wybierz pozycję Utwórz zasób.

  3. W sekcji Kategorie wybierz pozycję Kontenery>usługi Azure Kubernetes Service (AKS).

  4. Na karcie Podstawowe skonfiguruj następujące ustawienia:

    • W obszarze Szczegóły projektu:
      • Subskrypcja: wybierz subskrypcję platformy Azure, której chcesz użyć dla tego klastra usługi AKS.
      • Grupa zasobów: wybierz pozycję Utwórz nową, wprowadź nazwę grupy zasobów, taką jak myResourceGroup, a następnie wybierz przycisk OK. Chociaż możesz wybrać istniejącą grupę zasobów, na potrzeby testowania lub oceny, zalecamy utworzenie grupy zasobów w celu tymczasowego hostowania tych zasobów i uniknięcia wpływu na obciążenia produkcyjne lub programistyczne.
    • W obszarze Szczegóły klastra:
      • Konfiguracja ustawień wstępnych klastra: wybierz pozycję Tworzenie i testowanie. Aby uzyskać więcej informacji na temat wstępnych konfiguracji, zobacz Ustawienia wstępne konfiguracji klastra w witrynie Azure Portal.

        Uwaga

        Konfigurację ustawień wstępnych można zmienić podczas tworzenia klastra, wybierając pozycję Porównaj ustawienia wstępne i wybierając inną opcję. Zrzut ekranu przedstawiający opcje tworzenia klastra usługi AKS — ustawienia wstępne portalu.

      • Nazwa klastra Kubernetes: wprowadź nazwę klastra, taką jak myAKSCluster.

      • Region: wybierz region, taki jak Wschodnie stany USA 2.

      • Strefy dostępności: wybierz pozycję Brak.

      • Warstwa cenowa usługi AKS: wybierz pozycję Bezpłatna.

      • Pozostaw wartości domyślne pozostałych ustawień, a następnie wybierz pozycję Dalej.

        Zrzut ekranu przedstawiający sposób konfigurowania klastra usługi AKS w witrynie Azure Portal.

  5. Na karcie Pule węzłów skonfiguruj następujące ustawienia:

    • Wybierz pozycję Dodaj pulę węzłów i wprowadź nazwę puli węzłów, taką jak npwin. W przypadku puli węzłów systemu Windows nazwa musi zawierać sześć znaków lub mniej.

    • Tryb: wybierz pozycję Użytkownik.

    • Jednostka SKU systemu operacyjnego: wybierz pozycję Windows 2022.

    • Strefy dostępności: wybierz pozycję Brak.

    • Pozostaw pole wyboru Włącz wystąpienia usługi Azure Spot niezaznaczone.

    • Rozmiar węzła: wybierz pozycję Wybierz rozmiar. Na stronie Wybieranie rozmiaru maszyny wirtualnej wybierz pozycję D2s_v3, a następnie wybierz pozycję Wybierz.

    • Pozostaw wartości domyślne pozostałych ustawień, a następnie wybierz pozycję Dodaj.

      Zrzut ekranu przedstawiający sposób tworzenia puli węzłów z systemem Windows Server 2022.

  6. Wybierz pozycję Przejrzyj i utwórz , aby uruchomić walidację w konfiguracji klastra. Po zakończeniu walidacji wybierz pozycję Utwórz.

    Utworzenie klastra AKS może potrwać kilka minut. Po zakończeniu wdrażania przejdź do zasobu, wybierając pozycję Przejdź do zasobu lub przechodząc do grupy zasobów klastra usługi AKS i wybierając zasób usługi AKS.

Łączenie z klastrem

Do zarządzania klastrami Kubernetes używasz narzędzia kubectl, klienta wiersza polecenia Kubernetes. kubectl program jest już zainstalowany, jeśli używasz usługi Azure Cloud Shell. Jeśli nie znasz usługi Cloud Shell, zapoznaj się z omówieniem usługi Azure Cloud Shell.

  1. Otwórz usługę >_ Cloud Shell, wybierając przycisk w górnej części strony witryny Azure Portal.

  2. Skonfiguruj kubectl , aby nawiązać połączenie z klastrem az aks get-credentials Kubernetes przy użyciu polecenia . Następujące polecenie pobiera poświadczenia i konfiguruje interfejs wiersza polecenia platformy Kubernetes do ich używania.

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  3. Sprawdź połączenie z klastrem kubectl get nodes przy użyciu polecenia , które zwraca listę węzłów klastra.

    kubectl get nodes
    

    Poniższe przykładowe dane wyjściowe przedstawiają wszystkie węzły w klastrze. Upewnij się, że stan wszystkich węzłów to Gotowe:

    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
    

Wdrażanie aplikacji

Plik manifestu platformy Kubernetes definiuje żądany stan klastra, taki jak obrazy kontenerów do uruchomienia. W tym przewodniku Szybki start użyjesz pliku manifestu, aby utworzyć wszystkie obiekty potrzebne do uruchomienia przykładowej aplikacji ASP.NET w kontenerze systemu Windows Server. Ten plik manifestu zawiera wdrożenie platformy Kubernetes dla przykładowej aplikacji ASP.NET oraz zewnętrzną usługę Kubernetes w celu uzyskania dostępu do aplikacji z Internetu.

Przykładowa aplikacja ASP.NET jest udostępniana jako część przykładów programu .NET Framework i działa w kontenerze systemu Windows Server. Plik manifestu platformy Kubernetes musi zdefiniować selektor węzła, aby poinformować klaster usługi AKS o uruchomieniu zasobnika przykładowej aplikacji ASP.NET w węźle, który może uruchamiać kontenery systemu Windows Server.

  1. Utwórz plik o nazwie sample.yaml i wklej następującą definicję YAML.

    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
    

    Aby uzyskać podział plików manifestu YAML, zobacz Wdrożenia i manifesty YAML.

    Jeśli tworzysz i zapisujesz plik YAML lokalnie, możesz przekazać plik manifestu do katalogu domyślnego w programie CloudShell, wybierając przycisk Przekaż/Pobierz pliki i wybierając plik z lokalnego systemu plików.

  2. Wdróż aplikację przy użyciu kubectl apply polecenia i określ nazwę manifestu YAML.

    kubectl apply -f sample.yaml
    

    Następujące przykładowe dane wyjściowe pokazują pomyślne utworzenie wdrożenia i usługi:

    deployment.apps/sample created
    service/sample created
    

Testowanie aplikacji

Podczas uruchamiania aplikacji usługa Kubernetes uwidacznia fronton aplikacji w Internecie. Ten proces może potrwać kilka minut. Czasami aprowizacja usługi może potrwać dłużej niż kilka minut. Aprowizacja może potrwać do 10 minut.

  1. Sprawdź stan wdrożonych zasobników przy użyciu kubectl get pods polecenia . Przed kontynuowaniem wykonaj wszystkie zasobniki Running .

    kubectl get pods
    
  2. Monitoruj postęp za pomocą kubectl get service polecenia z argumentem --watch .

    kubectl get service sample --watch
    

    Początkowo dane wyjściowe przedstawiają adres EXTERNAL-IP dla przykładowej usługi jako oczekujące:

    NAME               TYPE           CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
    sample             LoadBalancer   10.0.37.27   <pending>     80:30572/TCP   6s
    
  3. Gdy dla adresu EXTERNAL-IP wartość oczekujący zmieni się na rzeczywisty publiczny adres IP, naciśnij klawisze CTRL-C, aby zatrzymać proces śledzenia narzędzia kubectl.

  4. Zobacz przykładową aplikację w działaniu, otwierając przeglądarkę internetową na zewnętrzny adres IP usługi.

    Zrzut ekranu przedstawiający przechodzenie do przykładowej aplikacji ASP.NET.

Usuwanie zasobów

Jeśli nie planujesz przechodzenia przez samouczek usługi AKS, usuń klaster, aby uniknąć naliczania opłat za platformę Azure.

  1. W witrynie Azure Portal przejdź do grupy zasobów.

  2. Wybierz pozycję Usuń grupę zasobów.

  3. Wprowadź nazwę grupy zasobów, aby potwierdzić usunięcie, a następnie wybierz pozycję Usuń.

  4. W oknie dialogowym Usuwanie potwierdzenia wybierz pozycję Usuń.

    Uwaga

    Klaster usługi AKS został utworzony przy użyciu tożsamości zarządzanej przypisanej przez system (domyślna opcja tożsamości używana w tym przewodniku Szybki start), tożsamość jest zarządzana przez platformę i nie wymaga usunięcia.

Następne kroki

W tym przewodniku Szybki start wdrożono klaster Kubernetes, a następnie wdrożono w nim przykładową aplikację ASP.NET w kontenerze systemu Windows Server. Ta przykładowa aplikacja służy tylko do celów demonstracyjnych i nie reprezentuje wszystkich najlepszych rozwiązań dla aplikacji Kubernetes. Aby uzyskać wskazówki dotyczące tworzenia pełnych rozwiązań za pomocą usługi AKS dla środowiska produkcyjnego, zobacz Wskazówki dotyczące rozwiązania AKS.

Aby dowiedzieć się więcej na temat usługi AKS i zapoznać się z kompletnym przykładem kodu do wdrożenia, przejdź do samouczka dotyczącego klastra Kubernetes.