Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: AKS na Windows Serveru
Tento kurz popisuje, jak nasadit ukázkovou aplikaci ASP.NET v kontejneru Windows Serveru do clusteru Azure Kubernetes Service (AKS) v AKS na Windows Serveru a pak otestovat a škálovat aplikaci. Dozvíte se také, jak připojit uzel Windows k doméně služby Active Directory.
V tomto kurzu se předpokládá základní znalost konceptů Kubernetes. Další informace najdete v tématu Základní koncepty Kubernetes pro AKS na Windows Serveru.
Než začnete
Ujistěte se, že splňujete následující požadavky:
- Cluster Azure Kubernetes Service s alespoň jedním pracovním uzlem Windows, který je spuštěný.
- Soubor kubeconfig pro přístup ke clusteru.
- Nainstaluje se modul AksHci PowerShellu.
Když budete postupovat podle pokynů:
- Příkazy spusťte v okně správce PowerShellu.
- Ujistěte se, že úlohy specifické pro operační systém přistanou na příslušném hostiteli kontejneru. Pokud má váš cluster Kubernetes kombinaci linuxových a pracovních uzlů s Windows, můžete použít selektory uzlů nebo tainty a tolerance. Další informace najdete v části věnované použití uzlových selektorů, taintů a tolerancí.
Nasazení aplikace
Soubor manifestu Kubernetes definuje požadovaný stav clusteru, například které image kontejneru se mají spustit. V těchto postupech se manifest používá k vytvoření všech objektů potřebných ke spuštění ukázkové aplikace ASP.NET v kontejneru Windows Serveru. Tento manifest zahrnuje nasazení Kubernetes pro ukázkovou aplikaci ASP.NET a externí službu Kubernetes pro přístup k aplikaci z internetu.
Ukázková aplikace ASP.NET je poskytována jako součást ukázek rozhraní .NET Framework a běží v kontejneru Windows Serveru. AKS Arc vyžaduje, aby kontejnery Windows Serveru byly postaveny na obrazech Windows Serveru 2019.
Soubor manifestu Kubernetes musí také definovat selektor uzlu, který vašemu clusteru oznámí spuštění podu ukázkové aplikace ASP.NET na uzlu, který může spouštět kontejnery Windows Serveru.
Vytvořte soubor s názvem sample.yamla zkopírujte nebo vložte následující definici 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
Nasaďte aplikaci pomocí kubectl apply příkazu a zadejte název manifestu YAML:
kubectl apply -f sample.yaml
Následující příklad výstupu ukazuje, že nasazení a služba byly úspěšně vytvořeny:
deployment.apps/sample created
service/sample created
Testování aplikace
Když se aplikace spustí, služba Kubernetes zveřejní front-end aplikace na internetu. Dokončení tohoto procesu může trvat několik minut. Občas může zřízení služby trvat déle než několik minut. V těchto případech počítejte až s 10 minutami.
Pokud chcete monitorovat průběh, použijte kubectl get service příkaz s argumentem --watch :
kubectl get service sample --watch
Zpočátku je EXTERNAL-IP pro službu ukázka uvedena jako čekající:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
sample LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6s
Když se externí IP adresa změní z čekání na skutečnou CTRL-C veřejnou IP adresu, použijte kubectl k zastavení procesu sledování. Následující příklad výstupu ukazuje platnou veřejnou IP adresu přiřazenou službě:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
sample LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2m
Pokud chcete zobrazit ukázkovou aplikaci v akci, otevřete webový prohlížeč na externí IP adresu vaší služby.
Pokud při pokusu o načtení stránky vyprší časový limit připojení, spuštěním příkazu ověřte, jestli je ukázková aplikace připravená kubectl get pods --watch . Někdy je externí IP adresa k dispozici před spuštěním kontejneru Windows.
Škálování aplikačních podů
Vytvořili jsme jednu repliku front-endu aplikace. Pokud chcete zobrazit počet a stav podů v clusteru, použijte kubectl get následující příkaz:
kubectl get pods -n default
Pokud chcete změnit počet podů v ukázkovém nasazení, použijte kubectl scale příkaz. Následující příklad zvýší počet front-endových podů na 3:
kubectl scale --replicas=3 deployment/sample
Spusťte kubectl get pods znovu, abyste ověřili, že se pody vytvořily. Asi za minutu budou další pody dostupné ve vašem clusteru:
kubectl get pods -n default