Wdrażanie aplikacji systemu Windows
Dotyczy: usługa AKS w usłudze Azure Stack HCI 22H2, AKS w systemie Windows Server
W tym samouczku opisano sposób wdrażania przykładowej aplikacji ASP.NET w kontenerze systemu Windows Server w klastrze Azure Kubernetes Service (AKS) w usłudze AKS z obsługą usługi Arc, a następnie testowanie i skalowanie aplikacji. Dowiesz się również, jak dołączyć węzeł systemu Windows do domeny usługi Active Directory.
W tym samouczku przyjęto założenie, że podstawowa wiedza na temat pojęć związanych z platformą Kubernetes. Aby uzyskać więcej informacji, zobacz Podstawowe pojęcia dotyczące usługi Kubernetes dla usługi AKS włączonej przez usługę Azure Arc.
Zanim rozpoczniesz
Upewnij się, że zostały spełnione następujące wymagania:
- Klaster Azure Kubernetes Service z co najmniej jednym węzłem roboczym systemu Windows.
- Plik kubeconfig w celu uzyskania dostępu do klastra.
- Zainstalowano moduł AksHci programu PowerShell .
Podczas wykonywania procedur:
- Uruchom polecenia w oknie administracyjnym programu PowerShell.
- Upewnij się, że obciążenia specyficzne dla systemu operacyjnego są wykonywane na odpowiednim hoście kontenera. Jeśli klaster Kubernetes ma kombinację węzłów roboczych systemu Linux i Windows, możesz użyć selektorów węzłów lub defektów i tolerancji. Aby uzyskać więcej informacji, zobacz using node selectors and taints and tolerations (Używanie selektorów węzłów i defektów oraz tolerancji).
Wdrażanie aplikacji
Plik manifestu kubernetes definiuje żądany stan klastra, taki jak obrazy kontenerów do uruchomienia. W tych procedurach manifest służy do tworzenia wszystkich obiektów wymaganych do uruchomienia przykładowej aplikacji ASP.NET w kontenerze systemu Windows Server. Ten manifest obejmuje 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 w ramach przykładów .NET Framework i działa w kontenerze systemu Windows Server. Usługa AKS Arc wymaga, aby kontenery systemu Windows Server opierały się na obrazach systemu Windows Server 2019.
Plik manifestu kubernetes musi również zdefiniować selektor węzła, aby poinformować klaster o uruchomieniu zasobnika ASP.NET przykładowej aplikacji w węźle, który może uruchamiać kontenery systemu Windows Server.
Twórca pliku o nazwie sample.yaml
i skopiuj/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:
"beta.kubernetes.io/os": windows
containers:
- name: sample
image: mcr.microsoft.com/dotnet/framework/samples:aspnetapp
resources:
limits:
cpu: 1
memory: 800M
requests:
cpu: .1
memory: 300M
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
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ą, że wdrożenie i usługa zostały utworzone pomyślnie:
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. W takich przypadkach poczekaj do 10 minut.
Aby monitorować postęp, użyj kubectl get service
polecenia z argumentem --watch
:
kubectl get service sample --watch
Początkowo adres EXTERNAL-IP dla przykładowej usługi jest wyświetlany jako oczekujący.
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ędzia kubectl
. Następujące przykładowe dane wyjściowe przedstawiają prawidłowy publiczny adres IP przypisany do usługi:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
sample LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2m
Aby wyświetlić przykładową aplikację w działaniu, otwórz przeglądarkę internetową pod zewnętrznym adresem IP usługi.
Jeśli podczas próby załadowania strony upłynął limit czasu połączenia, sprawdź, czy przykładowa aplikacja jest gotowa, uruchamiając kubectl get pods --watch
polecenie . Czasami zewnętrzny adres IP jest dostępny przed uruchomieniem kontenera systemu Windows.
Skalowanie zasobników aplikacji
Utworzyliśmy pojedynczą replikę frontonu aplikacji. Aby wyświetlić liczbę i stan zasobników w klastrze, użyj kubectl get
polecenia w następujący sposób:
kubectl get pods -n default
Aby zmienić liczbę zasobników w przykładowym wdrożeniu kubectl scale
, użyj polecenia . Poniższy przykład zwiększa liczbę zasobników frontonu do 3:
kubectl scale --replicas=3 deployment/sample
Uruchom ponownie polecenie kubectl get pods
, aby sprawdzić, czy zasobniki zostały utworzone. Po upływie około minuty dodatkowe zasobniki będą dostępne w Twoim klastrze:
kubectl get pods -n default
Następne kroki
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla