Windows Server-tároló üzembe helyezése Azure Kubernetes Service-fürtön az Azure CLI 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 CLI 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.
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: A Bash rövid útmutatója az Azure Cloud Shellben.
Ha inkább helyi cli-referenciaparancsokat szeretne futtatni, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Amikor a rendszer kéri, először telepítse az Azure CLI-bővítményt. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
- Ez a cikk az Azure CLI 2.0.64-es vagy újabb verzióját igényli. Az Azure Cloud Shell használata esetén a legújabb verzió már telepítve van.
- 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, válassza ki a megfelelő előfizetés-azonosítót, amelyben az erőforrásokat az az account set paranccsal kell számlázni. További információ: Azure-előfizetések kezelése – Azure CLI.
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.
Hozzon létre egy erőforráscsoportot az az group create paranccsal. A következő példában létrehozunk egy myResourceGroup nevű erőforráscsoportot az eastus helyen. Adja meg ezt a parancsot és a cikkben szereplő egyéb parancsokat egy BASH-rendszerhéjba:
az group create --name myResourceGroup --location eastus
Az alábbi mintakimenet a sikeresen létrehozott erőforráscsoportot mutatja:
{ "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup", "location": "eastus", "managedBy": null, "name": "myResourceGroup", "properties": { "provisioningState": "Succeeded" }, "tags": null, "type": null }
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
--windows-admin-password
paraméterek és--windows-admin-username
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ókövetelményeinek. - A csomópontkészlet a következőt használja
VirtualMachineScaleSets
: .
Az AKS-fürt Azure CLI-vel való létrehozásához kövesse az alábbi lépéseket:
Hozzon létre egy felhasználónevet rendszergazdai hitelesítő adatokként a fürt Windows Server-csomópontjaihoz. Az alábbi parancsok egy felhasználónevet kérnek, és beállítják WINDOWS_USERNAME egy későbbi parancsban való használatra.
echo "Please enter the username to use as administrator credentials for Windows Server nodes on your cluster: " && read WINDOWS_USERNAME
Hozzon létre egy jelszót az előző lépésben létrehozott rendszergazdai felhasználónévhez. 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.
echo "Please enter the password to use as administrator credentials for Windows Server nodes on your cluster: " && read WINDOWS_PASSWORD
Hozza létre a fürtöt az az aks create paranccsal, és adja meg a paramétereket és
--windows-admin-password
a--windows-admin-username
paramétereket. Az alábbi példaparancs létrehoz egy fürtöt az előző parancsban beállított WINDOWS_USERNAME értékével. Másik lehetőségként megadhat egy másik felhasználónevet közvetlenül a paraméterben a WINDOWS_USERNAME használata helyett.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-count 2 \ --enable-addons monitoring \ --generate-ssh-keys \ --windows-admin-username $WINDOWS_USERNAME \ --windows-admin-password $WINDOWS_PASSWORD \ --vm-set-type VirtualMachineScaleSets \ --network-plugin azure
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ó: Windows Server – gyakori kérdések
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 – 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) hálózati beépülő modult használó hálózati szabályzatot kell használnia. A
--network-plugin 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-csomópontkészletet a az aks nodepool add
parancs használatával. Az alábbi parancs létrehoz egy új npwin nevű csomópontkészletet, és hozzáadja a myAKSClusterhez. A parancs a futtatáskor az aks create
létrehozott alapértelmezett virtuális hálózat alapértelmezett alhálózatát is használja. Nincs megadva operációsrendszer-termékváltozat, ezért a csomópontkészlet a fürt Kubernetes-verziója alapján az alapértelmezett operációs rendszerre van beállítva:
az aks nodepool add \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--os-type Windows \
--name npwin \
--node-count 1
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 és futtatni kubectl
, hívja az az aks install-cli parancsot.
Konfigurálja
kubectl
a Kubernetes-fürthöz való csatlakozást az az aks get-credentials paranccsal. Ez a parancs letölti a hitelesítő adatokat, és konfigurálja a Kubernetes parancssori felületét a használatukhoz.az aks get-credentials --resource-group 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 -o wide
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 INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME aks-nodepool1-20786768-vmss000000 Ready agent 22h v1.27.7 10.224.0.4 <none> Ubuntu 22.04.3 LTS 5.15.0-1052-azure containerd://1.7.5-1 aks-nodepool1-20786768-vmss000001 Ready agent 22h v1.27.7 10.224.0.33 <none> Ubuntu 22.04.3 LTS 5.15.0-1052-azure containerd://1.7.5-1 aksnpwin000000 Ready agent 20h v1.27.7 10.224.0.62 <none> Windows Server 2022 Datacenter 10.0.20348.2159 containerd://1.6.21+azure
Feljegyzés
Az egyes csomópontkészletek tároló-futtatókörnyezete a CONTAINER-RUNTIME területen jelenik meg. A tároló futtatókörnyezetének értékei a következővel
containerd://
kezdődnek, ami azt jelenti, hogy mindegyik a tároló futtatókörnyezetéhez használatoscontainerd
.
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ől té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égigjárni az AKS-oktatóanyagot, törölje a fürtöt, hogy elkerülje az Azure-díjak felmerülését.
Törölje az erőforráscsoportot, a tárolószolgáltatást és az összes kapcsolódó erőforrást az az group delete paranccsal.
az group delete --name myResourceGroup --yes --no-wait
Feljegyzés
Az AKS-fürt rendszer által hozzárendelt felügyelt identitással lett létrehozva (ez 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.
Azure Kubernetes Service