Windows-alkalmazások üzembe helyezése
A következőkre vonatkozik: AKS az Azure Local 22H2-n, AKS Windows Serveren
Ez az oktatóanyag bemutatja, hogyan helyezhet üzembe ASP.NET mintaalkalmazást egy Windows Server-tárolóban az Arc által engedélyezett AKS-ben lévő Azure Kubernetes Service -fürtön, majd tesztelheti és skálázhatja az alkalmazást. Azt is megtudhatja, hogyan csatlakoztathat Windows-csomópontot egy Active Directory-tartományhoz.
Ez az oktatóanyag feltételezi a Kubernetes-fogalmak alapszintű megértését. További információ: Kubernetes alapfogalmak az Azure Arc által engedélyezett AKS-hez.
Mielőtt elkezdené
Győződjön meg arról, hogy megfelelt a következő követelményeknek:
- Egy Azure Kubernetes Service-fürt , amelyen legalább egy Windows-feldolgozó csomópont működik.
- Kubeconfig-fájl a fürt eléréséhez.
- Az AksHci PowerShell modul telepítve van.
Ha követi az eljárásokat:
- Futtassa a parancsokat egy PowerShell-rendszergazdai ablakban.
- Győződjön meg arról, hogy az operációsrendszer-specifikus számítási feladatok a megfelelő tároló gazdagépre szállnak. Ha a Kubernetes-fürt linuxos és Windowsos feldolgozó csomópontok keverékével rendelkezik, akkor használhat csomópontválasztókat, illetve aint és toleranciákat. További információkért tekintse meg a csomópontválasztók, a fertőzöttség és a toleranciák használatát.
Az alkalmazás üzembe helyezése
A Kubernetes-jegyzékfájl meghatározza a fürt kívánt állapotát, például hogy mely tárolólemezképek fussanak. Ezekben az eljárásokban a rendszer egy jegyzékfájlt használ a ASP.NET mintaalkalmazás Windows Server-tárolóban való futtatásához szükséges összes objektum létrehozásához. Ez a jegyzék tartalmazza a ASP.NET mintaalkalmazás Kubernetes-üzembe helyezését és egy külső Kubernetes-szolgáltatást, amely az internetről éri el az alkalmazást.
A ASP.NET mintaalkalmazás a .NET-keretrendszer-minták részeként érhető el, és Windows Server-tárolóban fut. Az AKS Arc megköveteli, hogy a Windows Server-tárolók a Windows Server 2019 rendszerképén alapulnak.
A Kubernetes-jegyzékfájlnak egy csomópontválasztót is meg kell adnia, amely tájékoztatja a fürtöt, hogy futtassa a ASP.NET mintaalkalmazás podját egy Olyan csomóponton, amely Windows Server-tárolókat futtathat.
Hozzon létre egy nevű sample.yaml
fájlt, és másolja/illessze be a következő YAML-definíciót:
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
Telepítse az alkalmazást a kubectl apply
paranccsal, és adja meg a YAML-jegyzék nevét:
kubectl apply -f sample.yaml
Az alábbi példakimenet azt mutatja, hogy az üzembe helyezés és a szolgáltatás sikeresen létrejött:
deployment.apps/sample created
service/sample created
Az alkalmazás tesztelése
Az alkalmazás futtatásakor egy Kubernetes-szolgáltatás elérhetővé teszi az alkalmazás előtérét az interneten. A folyamat eltarthat pár percig. Időnként a szolgáltatás kiépítése néhány percnél hosszabb időt is igénybe vehet. Ezekben az esetekben legfeljebb 10 percet hagyhat.
A folyamat figyeléséhez használja a kubectl get service
parancsot az --watch
alábbi argumentummal:
kubectl get service sample --watch
A mintaszolgáltatás KÜLSŐ IP-címekezdetben függőben van:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
sample LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6s
Ha a külső IP-cím függőben lévőrőltényleges nyilvános IP-címre változik, állítsa CTRL-C
le a kubectl
figyelés folyamatát. Az alábbi példakimenet a szolgáltatáshoz rendelt érvényes nyilvános IP-címet jeleníti meg:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
sample LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2m
A mintaalkalmazás működés közbeni megtekintéséhez nyisson meg egy webböngészőt a szolgáltatás külső IP-címére.
Ha a kapcsolat időtúllépést okoz a lap betöltésekor, ellenőrizze, hogy a mintaalkalmazás készen áll-e a kubectl get pods --watch
parancs futtatásával. Előfordulhat, hogy a külső IP-cím a Windows-tároló elindítása előtt érhető el.
Alkalmazás podok méretezése
Az alkalmazás előtérének egyetlen replikáját hoztuk létre. A fürtön lévő podok számának és állapotának megtekintéséhez használja a kubectl get
következő parancsot:
kubectl get pods -n default
A mintatelepítésben lévő podok számának módosításához használja a kubectl scale
parancsot. Az alábbi példa 3-ra növeli az előtérbeli podok számát:
kubectl scale --replicas=3 deployment/sample
Futtassa kubectl get pods
újra a podok létrehozásának ellenőrzéséhez. Hozzávetőleg egy perc elteltével az újabb podok elérhetők a fürtön:
kubectl get pods -n default