Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: usługa AKS w systemie Windows Server
W tym samouczku opisano sposób wdrażania przykładowej aplikacji ASP.NET w kontenerze Windows Server w klastrze usługi Azure Kubernetes Service (AKS) na Windows Server, a następnie przetestowania i skalowania aplikacji. Dowiesz się również, jak dołączyć węzeł systemu Windows do domeny usługi Active Directory.
W tym samouczku założono podstawową wiedzę na temat pojęć związanych z platformą Kubernetes. Aby uzyskać więcej informacji, zobacz Kubernetes core concepts for AKS on Windows Server.
Zanim rozpoczniesz
Upewnij się, że zostały spełnione następujące wymagania:
- Klaster usługi Azure Kubernetes Service z co najmniej jednym węzłem roboczym systemu Windows uruchomionym.
- Plik kubeconfig, aby uzyskać dostęp do klastra.
- Zainstalowano moduł AksHci programu PowerShell.
Podczas wykonywania procedur:
- Uruchom polecenia w oknie administratora programu PowerShell.
- Upewnij się, że obciążenia specyficzne dla systemu operacyjnego lądowały na właściwym 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 i tolerancji).
Wdrażanie aplikacji
Plik manifestu platformy Kubernetes definiuje oczekiwany stan klastra, taki jak obrazy kontenerów, które mają być uruchomione. 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 jako część przykładów programu .NET Framework i działa w kontenerze systemu Windows Server. Usługa AKS wymaga, aby kontenery Windows Server zostały oparte na obrazach Windows Server 2019.
Plik manifestu platformy Kubernetes musi również zdefiniować selektor węzła, aby poinformować klaster 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.yamli 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 pomyślnie utworzone:
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 wdrożenie usługi może zająć więcej 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ładowejusł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 adres EXTERNAL-IP zmieni się z w trakcie oczekiwania na rzeczywisty publiczny adres IP, użyj CTRL-C do zatrzymania procesu monitorowania 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 akcji, otwórz przeglądarkę internetową pod zewnętrznym adresem IP usługi.
Jeśli podczas próby załadowania strony przekroczono limit czasu połączenia, uruchom polecenie kubectl get pods --watch, aby sprawdzić, czy przykładowa aplikacja jest gotowa. Czasami zewnętrzny adres IP jest dostępny przed uruchomieniem kontenera systemu Windows.
Skalowanie podów aplikacji
Utworzyliśmy pojedynczą replikę frontonu aplikacji. Aby wyświetlić liczbę i stan zasobników w klastrze, użyj polecenia kubectl get w następujący sposób:
kubectl get pods -n default
Aby zmienić liczbę podów w przykładowym wdrożeniu, użyj polecenia kubectl scale. Poniższy przykład zwiększa liczbę podów front-endu do 3.
kubectl scale --replicas=3 deployment/sample
Uruchom ponownie kubectl get pods, aby sprawdzić, czy zasobniki zostały utworzone. Po upływie około minuty dodatkowe pody będą dostępne w twoim klastrze.
kubectl get pods -n default