Megosztás a következőn keresztül:


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:

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.yamlfá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.

Képernyőkép az AKS-fürtön üzembe helyezett Windows ASP.NET mintaalkalmazás kezdőlapjáról.

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

Következő lépések