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


Windows Server-tárolók létrehozása

A következőkre vonatkozik: Azure Stack HCI, 23H2-es verzió

Ez a cikk azt ismerteti, hogyan helyezhet üzembe csomópontkészletet egy Meglévő AKS-fürtben, amely Windows Server-tárolókat futtat az Azure CLI használatával. Azt is ismerteti, hogyan helyezhet üzembe ASP.NET mintaalkalmazást egy Windows Server-tárolóban a fürtön.

Előfeltételek

Az AKS-fürtök létrehozásának lépéseit követve hozzon létre egy AKS-fürtöt.

Csomópontkészlet hozzáadása

Alapértelmezés szerint egy Kubernetes-fürt olyan csomópontkészlettel jön létre, amely Linux-tárolókat futtathat. Hozzá kell adnia egy másik csomópontkészletet, amely Windows Server-tárolókat futtathat a Linux-csomópontkészlet mellett.

Adjon hozzá egy csomópontkészletet Windows-tároló gazdagépekkel a az aksarc nodepool add paraméterrel --os-type Windowsrendelkező paranccsal. Ha nincs megadva az operációs rendszer termékváltozata, a csomópontkészlet a fürt Kubernetes-verziója alapján az alapértelmezett operációs rendszerre van állítva. A Windows Server 2022 a Kubernetes 1.25.0-s és újabb verzióinak alapértelmezett operációs rendszere. A Windows Server 2019 a korábbi verziók alapértelmezett operációs rendszere.

  • A Windows Server 2019 használatához adja meg a következő paramétereket:
    • os-type értékre van Windowsállítva.
    • os-sku értékre van Windows2019állítva.
  • A Windows Server 2022 használatához adja meg a következő paramétereket:
    • os-type értékre van Windowsállítva.
    • os-sku beállítás ( Windows2022 nem kötelező).

A következő parancs létrehoz egy új csomópontkészletet, amelyet egy $mynodepool Windows Server 2022-csomóponttal ad hozzá $myAKSCluster :

az aksarc nodepool add --resource-group $myResourceGroup --cluster-name $myAKSCluster --name $mynodepool --node-count 1 --os-type Windows --os-sku Windows2022

Csatlakozás az AKS-fürthöz

Most már csatlakozhat a Kubernetes-fürthöz a az connectedk8s proxy helyi gépről futtatott parancs futtatásával. A parancs futtatása előtt győződjön meg arról, hogy bejelentkezik az Azure-ba. Ha több Azure-előfizetéssel rendelkezik, válassza ki a megfelelő előfizetés-azonosítót az az account set paranccsal.

Ez a parancs letölti a Kubernetes-fürt kubeconfigját a helyi gépre, és megnyitja a helyszíni Kubernetes-fürt proxykapcsolati csatornáját. A csatorna addig van nyitva, amíg ez a parancs fut. Addig futtassa ezt a parancsot, amíg hozzá szeretne férni a fürthöz. Ha a parancs túllépi az időkorlátot, zárja be a parancssori felület ablakát, nyisson meg egy újat, majd futtassa újra a parancsot.

Az alábbi parancs sikeres futtatásához közreműködői engedélyekkel kell rendelkeznie az AKS-fürtöt üzemeltető erőforráscsoporton:

az connectedk8s proxy --name $aksclustername --resource-group $resource_group --file .\aks-arc-kube-config

Várt kimenet:

Proxy is listening on port 47011
Merged "aks-workload" as current context in .\aks-arc-kube-config
Start sending kubectl requests on 'aks-workload' context using kubeconfig at .\aks-arc-kube-config
Press Ctrl+C to close proxy.

Futtassa ezt a munkamenetet, és csatlakozzon a Kubernetes-fürthöz egy másik terminálról vagy parancssorból. Ellenőrizze, hogy tud-e csatlakozni a Kubernetes-fürthöz a kubectl get parancs futtatásával. Ez a parancs a fürtcsomópontok listáját adja vissza:

kubectl get node -A --kubeconfig .\aks-arc-kube-config

Az alábbi példakimenet az előző lépésekben létrehozott csomópontot mutatja be. Győződjön meg arról, hogy a csomópont állapota kész:

NAME              STATUS   ROLES           AGE     VERSION
moc-lesdc78871d   Ready    control-plane   6d8h    v1.26.3
moc-lupeeyd0f8c   Ready    <none>          6d8h    v1.26.3
moc-ww2c8d5ranw   Ready    <none>          7m18s   v1.26.3

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épeket kell futtatni.

YAML-jegyzék használatával létrehozhatja a ASP.NET mintaalkalmazás Windows Server-tárolóban való futtatásához szükséges összes objektumot. Ez a jegyzék tartalmazza az ASP.NET mintaalkalmazás Kubernetes-üzembe helyezését és egy Kubernetes-szolgáltatást az alkalmazás internetről való eléréséhez.

A ASP.NET mintaalkalmazás a .NET-keretrendszer minták részeként van megadva, és egy Windows Server-tárolóban fut. Az AKS megköveteli, hogy a Windows Server-tárolók a Windows Server 2019 vagy újabb rendszerképeken alapuljanak. A Kubernetes-jegyzékfájlnak egy csomópontválasztót is meg kell adnia, hogy a ASP.NET mintaalkalmazás podjai ütemezve legyenek egy Windows Server-tárolókat futtató csomóponton.

  1. Hozzon létre egy sample.yaml nevű fájlt, és másolja a következő YAML-definícióba:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: sample
      labels:
        app: sample
    spec:
      replicas: 1
      template:
        metadata:
          name: sample
          labels:
            app: sample
        spec:
          nodeSelector:
            "kubernetes.io/os": windows
          containers:
          - name: sample
            image: mcr.microsoft.com/dotnet/framework/samples:aspnetapp
            resources:
              limits:
                cpu: 1
                memory: 800M
            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
    

    A YAML-jegyzékfájlok lebontásához tekintse meg az üzembe helyezéseket és a YAML-jegyzékeket.

  2. Telepítse az alkalmazást a kubectl apply paranccsal, és adja meg a YAML-jegyzék nevét:

    kubectl apply -f sample.yaml --kubeconfig .\\aks-arc-kube-config
    

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. A kiépítés legfeljebb 10 percet hagyhat.

  1. Figyelje a folyamatot a kubectl get service paranccsal az --watch argumentummal.

    kubectl get service sample --watch --kubeconfig .\aks-arc-kube-config
    

    A kimenet kezdetben függőben lévőként jeleníti meg a mintaszolgáltatás KÜLSŐ IP-címét:

    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ől IP-címre változik, a CTRL-C billentyűkombinációval állítsa le a kubectl watch folyamatot. Az alábbi példakimenet a szolgáltatáshoz rendelt érvényes nyilvános IP-címet jeleníti meg:

    sample LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2m
    
  2. A mintaalkalmazás működés közbeni megtekintéséhez nyissa meg a webböngészőt a mintaszolgáltatás külső IP-címére és portjára.

    Képernyőkép ASP.NET mintaalkalmazásról.

    Ha a lap betöltésekor kapcsolati időtúllépést kap, ellenőrizze, hogy a mintaalkalmazás készen áll-e a kubectl get pods --watch parancsra. Előfordulhat, hogy a Windows-tároló nem indul el a külső IP-cím elérhetővé tételekor.

Csomópontkészlet törlése

Törölje a csomópontkészletet a az akshybrid nodepool delete következő paranccsal:

az aksarc nodepool delete -g $myResourceGroup --cluster-name $myAKSCluster --name $mynodepool --no-wait

Következő lépések

Az Arc által engedélyezett AKS áttekintése