Windows Server-tároló üzembe helyezése Azure Kubernetes Service-fürtön a PowerShell használatával
Az Azure Kubernetes Service (AKS) egy felügyelt Kubernetes-szolgáltatás, amely lehetővé teszi a fürtök gyors üzembe helyezését és kezelését. Ebben a cikkben az Azure PowerShell használatával helyez üzembe egy Windows Server-tárolókat futtató AKS-fürtöt. Egy ASP.NET-mintaalkalmazást is üzembe helyezhet egy Windows Server-tárolóban a fürtön.
Feljegyzés
Az AKS-fürtök gyors üzembe helyezésének megkezdéséhez ez a cikk a csak kiértékelési célokra alapértelmezett beállításokkal rendelkező fürtök üzembe helyezésének lépéseit tartalmazza. Az éles üzemre kész fürtök üzembe helyezése előtt javasoljuk, hogy ismerkedjen meg az alapszintű referenciaarchitektúrával, és gondolja át, hogyan igazodik az üzleti követelményekhez.
Mielőtt elkezdené
A rövid útmutató feltételezi, hogy rendelkezik a Kubernetes használatára vonatkozó alapvető ismeretekkel. További információkért tekintse meg az Azure Kubernetes Service (AKS) Kubernetes alapfogalmait.
-
Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.
A könnyű használat érdekében próbálja ki a PowerShell-környezetet az Azure Cloud Shellben. További információt az Azure Cloud Shell rövid útmutatójában talál.
Ha helyileg szeretné használni a PowerShellt, telepítse az Az PowerShell-modult, és csatlakozzon az Azure-fiókjához az Csatlakozás-AzAccount parancsmag használatával. Győződjön meg arról, hogy rendszergazdai jogosultságokkal futtatja a parancsokat. További információ: Az Azure PowerShell telepítése.
Győződjön meg arról, hogy a fürt létrehozásához használt identitás rendelkezik a megfelelő minimális engedélyekkel. Az AKS-hez való hozzáféréssel és identitással kapcsolatos további részletekért tekintse meg az Azure Kubernetes Service (AKS) hozzáféréssel és identitással kapcsolatos lehetőségeit.
Ha több Azure-előfizetéssel rendelkezik, állítsa be a rövid útmutatóhoz használni kívánt előfizetést a Set-AzContext parancsmag meghívásával. További információ: Azure-előfizetések kezelése az Azure PowerShell-lel.
Erőforráscsoport létrehozása
Az Azure-erőforráscsoportok olyan logikai csoportok, amelyekben az Azure-erőforrások üzembe helyezése és kezelése történik. Erőforráscsoport létrehozásakor meg kell adnia egy helyet. Ez a hely tárolja az erőforráscsoport metaadatait, és ahol az erőforrások az Azure-ban futnak, ha nem ad meg másik régiót az erőforrás létrehozása során.
Erőforráscsoport létrehozásához használja a New-AzResourceGroup parancsmagot. Az alábbi példa létrehoz egy myResourceGroup nevű erőforráscsoportot az eastus régióban.
New-AzResourceGroup -Name myResourceGroup -Location eastus
Az alábbi mintakimenet azt mutatja, hogy az erőforráscsoport sikeresen létrejött:
ResourceGroupName : myResourceGroup
Location : eastus
ProvisioningState : Succeeded
Tags :
ResourceId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup
AKS-fürt létrehozása
Ebben a szakaszban létrehozunk egy AKS-fürtöt a következő konfigurációval:
- A fürt két csomóponttal van konfigurálva, hogy megbízhatóan működjön. A csomópont egy Olyan Azure-beli virtuális gép (VM), amely a Kubernetes-csomópont összetevőit és a tároló futtatókörnyezetét futtatja.
- A
-WindowsProfileAdminUserName
paraméterek és-WindowsProfileAdminUserPassword
paraméterek a fürt bármely Windows Server-csomópontjához beállítják a rendszergazdai hitelesítő adatokat, és meg kell felelniük a Windows Server jelszó összetettségi követelményeinek. - A csomópontkészlet a következőt használja
VirtualMachineScaleSets
: .
Az AKS-fürt Azure PowerShell-lel való létrehozásához kövesse az alábbi lépéseket:
Az alábbi paranccsal hozza létre a Windows Server-tárolók rendszergazdai hitelesítő adatait. Ez a parancssor kéri, hogy adjon meg egy
WindowsProfileAdminUserName
ésWindowsProfileAdminUserPassword
. A jelszónak legalább 14 karakter hosszúságúnak kell lennie, és meg kell felelnie a Windows Server jelszó összetettségi követelményeinek.$AdminCreds = Get-Credential ` -Message 'Please create the administrator credentials for your Windows Server containers'
Hozza létre a fürtöt a New-AzAksCluster parancsmaggal, és adja meg a
WindowsProfileAdminUserName
paramétereket.WindowsProfileAdminUserPassword
New-AzAksCluster -ResourceGroupName myResourceGroup ` -Name myAKSCluster ` -NodeCount 2 ` -NetworkPlugin azure ` -NodeVmSetType VirtualMachineScaleSets ` -WindowsProfileAdminUserName $AdminCreds.UserName ` -WindowsProfileAdminUserPassword $secureString ` -GenerateSshKey
Néhány perc elteltével a parancs befejeződik, és JSON formátumú információkat ad vissza a fürtről. Esetenként a fürt 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.
Ha jelszó-érvényesítési hibát kap, és a megadott jelszó megfelel a hosszra és az összetettségre vonatkozó követelményeknek, próbálja meg létrehozni az erőforráscsoportot egy másik régióban. Ezután próbálja meg létrehozni a fürtöt az új erőforráscsoporttal.
Ha nem ad meg rendszergazdai felhasználónevet és jelszót a csomópontkészlet létrehozásakor, a felhasználónév azureuserre van állítva, és a jelszó véletlenszerű értékre van állítva. További információ: Hogyan a fürtön lévő Windows Server-csomópontok rendszergazdai jelszavának módosítása?.
A rendszergazdai felhasználónév nem módosítható, de módosíthatja azt a rendszergazdai jelszót, amelyet az AKS-fürt a Windows Server-csomópontokhoz használ
az aks update
. További információ: Windows Server-csomópontkészletek – gyakori kérdések.A Windows Server-tárolók csomópontkészleteit támogató AKS-fürt futtatásához a fürtnek egy [Azure CNI (speciális)][azure-cni] hálózati beépülő modult használó hálózati szabályzatot kell használnia. A
-NetworkPlugin azure
paraméter az Azure CNI-t adja meg.
Csomópontkészlet hozzáadása
Alapértelmezés szerint a rendszer létrehoz egy AKS-fürtöt egy linuxos tárolókat futtató csomópontkészlettel. Hozzá kell adnia egy másik csomópontkészletet, amely Windows Server-tárolókat futtathat a Linux-csomópontkészlet mellett.
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. Ha nem ad meg egy adott operációsrendszer-termékváltozatot, az Azure létrehozza az új csomópontkészletet a fürt által használt Kubernetes-verzió alapértelmezett termékváltozatával.
- Windows-csomópontkészlet (alapértelmezett termékváltozat)
- Windows Server 2022 csomópontkészlet
- Windows Server 2019 csomópontkészlet
Az alapértelmezett operációsrendszer-termékváltozat használatához hozza létre a csomópontkészletet operációsrendszer-termékváltozat megadása nélkül. A csomópontkészlet a fürt Kubernetes-verziója alapján van konfigurálva az alapértelmezett operációs rendszerhez.
Adjon hozzá egy Windows Server-csomópontkészletet a New-AzAksNodePool parancsmaggal. Az alábbi parancs létrehoz egy új npwin nevű csomópontkészletet, és hozzáadja a myAKSClusterhez. A parancs a futtatáskor New-AzAksCluster
létrehozott alapértelmezett virtuális hálózat alapértelmezett alhálózatát is használja:
New-AzAksNodePool -ResourceGroupName myResourceGroup `
-ClusterName myAKSCluster `
-VmSetType VirtualMachineScaleSets `
-OsType Windows `
-Name npwin
Csatlakozás a fürthöz
A Kubernetes-fürtök kezeléséhez a Kubectl, a Kubernetes parancssori ügyfelet kell használnia. Ha az Azure Cloud Shellt használja, kubectl
már telepítve van. Ha helyileg szeretné telepíteni kubectl
, használhatja a Install-AzAzAksCliTool
parancsmagot.
Konfigurálja
kubectl
a Kubernetes-fürthöz való csatlakozást az Import-AzAksCredential parancsmaggal. Ez a parancs letölti a hitelesítő adatokat, és konfigurálja a Kubernetes parancssori felületét a használatukhoz.Import-AzAksCredential -ResourceGroupName myResourceGroup -Name myAKSCluster
Ellenőrizze a fürthöz való kapcsolatot a kubectl get paranccsal, amely a fürtcsomópontok listáját adja vissza.
kubectl get nodes
Az alábbi mintakimenet a fürt összes csomópontjának megjelenítése. Győződjön meg arról, hogy az összes csomópont állapota készen áll:
NAME STATUS ROLES AGE VERSION aks-nodepool1-20786768-vmss000000 Ready agent 22h v1.27.7 aks-nodepool1-20786768-vmss000001 Ready agent 22h v1.27.7 aksnpwin000000 Ready agent 21h v1.27.7
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 milyen tárolólemezképeket kell futtatni. Ebben a cikkben egy jegyzék használatával hozza létre 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 , valamint egy külső 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 érhető el, és 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, amely tájékoztatja az AKS-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 elnevezett
sample.yaml
fájlt, és másolja a következő YAML-definícióban.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.
Ha helyileg hozza létre és menti a YAML-fájlt, feltöltheti a jegyzékfájlt az alapértelmezett könyvtárba a CloudShellben a Fájlok feltöltése/letöltése gombra kattintva, majd kiválasztva a fájlt a helyi fájlrendszerből.
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 mintakimenet a sikeresen létrehozott üzembe helyezést és szolgáltatást mutatja be:
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.
Ellenőrizze az üzembe helyezett podok állapotát a kubectl get pods paranccsal. Az összes podot a folytatás előtt készítse
Running
el.kubectl get pods
Figyelje a folyamatot a kubectl get service paranccsal az
--watch
argumentummal.kubectl get service sample --watch
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őltényleges nyilvános IP-címre változik, állítsa
CTRL-C
le akubectl
figyelés folyamatát. Az alábbi mintakimenet 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
A mintaalkalmazás működés közbeni megtekintéséhez nyissa meg a webböngészőt a szolgáltatás külső IP-címére.
Erőforrások törlése
Ha nem tervezi végigvezetni az AKS-oktatóanyagot, törölje a fürtöt, hogy elkerülje az Azure-díjakat. Hívja meg a Remove-AzResourceGroup parancsmagot az erőforráscsoport, a tárolószolgáltatás és az összes kapcsolódó erőforrás eltávolításához.
Remove-AzResourceGroup -Name myResourceGroup
Feljegyzés
Az AKS-fürt rendszer által hozzárendelt felügyelt identitással lett létrehozva (az ebben a rövid útmutatóban használt alapértelmezett identitásbeállítás). Az Azure platform kezeli ezt az identitást, ezért nem igényel eltávolítást.
Következő lépések
Ebben a rövid útmutatóban üzembe helyezett egy Kubernetes-fürtöt, majd üzembe helyezett egy ASP.NET mintaalkalmazást egy Windows Server-tárolóban. Ez a mintaalkalmazás csak bemutató célokra készült, és nem képviseli a Kubernetes-alkalmazások ajánlott eljárásait. Az éles AKS-sel való teljes megoldások létrehozásáról az AKS-megoldásokkal kapcsolatos útmutatást talál.
Ha többet szeretne megtudni az AKS-ről, és végig szeretne járni egy teljes kód–üzembe helyezési példán, folytassa a Kubernetes-fürt oktatóanyagával.