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)).
- Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.
- Jeśli nie znasz usługi Azure Cloud Shell, zapoznaj się z artykułem Omówienie usługi Azure Cloud Shell.
- Upewnij się, że tożsamość używana do utworzenia klastra ma odpowiednie minimalne uprawnienia. Aby uzyskać więcej informacji na temat dostępu i tożsamości dla usługi AKS, zobacz Opcje dostępu i tożsamości dla usługi Azure Kubernetes Service (AKS).
Tworzenie klastra AKS
Zaloguj się w witrynie Azure Portal.
Na stronie głównej witryny Azure Portal wybierz pozycję Utwórz zasób.
W sekcji Kategorie wybierz pozycję Kontenery>usługi Azure Kubernetes Service (AKS).
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.
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.
- W obszarze Szczegóły projektu:
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.
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.
Otwórz usługę
>_
Cloud Shell, wybierając przycisk w górnej części strony witryny Azure Portal.Skonfiguruj
kubectl
, aby nawiązać połączenie z klastremaz 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
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.
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.
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.
Sprawdź stan wdrożonych zasobników przy użyciu
kubectl get pods
polecenia . Przed kontynuowaniem wykonaj wszystkie zasobnikiRunning
.kubectl get pods
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
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ędziakubectl
.Zobacz przykładową aplikację w działaniu, otwierając przeglądarkę internetową na zewnętrzny adres IP usługi.
Usuwanie zasobów
Jeśli nie planujesz przechodzenia przez samouczek usługi AKS, usuń klaster, aby uniknąć naliczania opłat za platformę Azure.
W witrynie Azure Portal przejdź do grupy zasobów.
Wybierz pozycję Usuń grupę zasobów.
Wprowadź nazwę grupy zasobów, aby potwierdzić usunięcie, a następnie wybierz pozycję Usuń.
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.
Azure Kubernetes Service