Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
Megjegyzé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 üzemkész fürtök üzembe helyezése előtt javasoljuk, hogy ismerkedjen meg a referencia architektúra alapjaival, és gondolja át, hogyan felel meg az üzleti követelményeknek.
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 még nem rendelkezik Azure-fiókkal, első lépésként hozzon létre egy ingyenes fiókot.
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: Az Azure Cloud Shell használatának első lépései.
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: Hitelesítés az Azure-ba az Azure CLI használatával.
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 és kezelése 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 a Azure CLI 2.87.0-s 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 klaszter 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 információkért lásd az Azure Kubernetes Service (AKS) hozzáférési és identitásbeállításait.
- Ha több Azure-előfizetéssel rendelkezik, válassza ki a megfelelő előfizetés-azonosítót, amelyben az erőforrásokat a
az account setparanccsal 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 a
az group createparanccsal. Az alábbi példa létrehoz egy myResourceGroup nevű erőforráscsoportot a WestUS2-helyen .export RANDOM_SUFFIX=$(openssl rand -hex 3) export REGION="canadacentral" export MY_RESOURCE_GROUP_NAME="myAKSResourceGroup$RANDOM_SUFFIX" az group create --name $MY_RESOURCE_GROUP_NAME --location $REGIONEredmények:
{ "id": "/subscriptions/xxxxx-xxxxx-xxxxx-xxxxx/resourceGroups/myResourceGroupxxxxx", "location": "WestUS2", "managedBy": null, "name": "myResourceGroupxxxxx", "properties": { "provisioningState": "Succeeded" }, "tags": null, "type": "Microsoft.Resources/resourceGroups" }
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 Azure-beli virtuális gép (VM), amely a Kubernetes-csomópont összetevőit és a tároló futtatókörnyezetét futtatja.
- Az
--windows-admin-passwordés--windows-admin-usernameparaméterek megadják a rendszergazdai hitelesítő adatokat a fürt Windows Server csomópontjaihoz, é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 segítségével történő létrehozásához kövesse az alábbi lépéseket:
Hozz létre egy felhasználónevet rendszergazdai azonosításhoz a fürt Windows Server csomópontokhoz.
export WINDOWS_USERNAME="winadmin"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.
export WINDOWS_PASSWORD=$(echo "P@ssw0rd$(openssl rand -base64 10 | tr -dc 'A-Za-z0-9!@#$%^&*()' | cut -c1-6)")Hozza létre a fürtöt a
az aks createparanccsal, és adja meg a--windows-admin-usernameés--windows-admin-passwordparamétereket. Az alábbi példaparancs létrehoz egy fürtöt az előző parancsokban megadott értékekWINDOWS_USERNAMEWINDOWS_PASSWORDalapján. Egy véletlenszerű utótagot fűznek a fürt nevéhez annak egyedi jellege érdekében.export MY_AKS_CLUSTER="myAKSCluster$RANDOM_SUFFIX" az aks create \ --resource-group $MY_RESOURCE_GROUP_NAME \ --name $MY_AKS_CLUSTER \ --kubernetes-version 1.33 \ --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 azureNéhány perc múlva a parancs befejeződik, és JSON formátumú információkat ad vissza a klaszterről. Esetenként a fürt rendelkezésre bocsátása több időt vehet igénybe néhány percnél. Engedélyezzen legfeljebb 10 percet a kiépítésre.
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
Nem módosíthatja a rendszergazda felhasználónevét, de megváltoztathatja az AKS-fürt által a Windows Server-csomópontokhoz használt rendszergazda jelszót
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 olyan hálózati szabályzatot kell használnia, amely a Azure CNI (speciális) hálózati beépülő modult alkalmazza. A
--network-plugin azureparaméter az Azure CNI-t adja meg.
Csomópontkészlet hozzáadása
Alapértelmezés szerint az összes AKS-fürt olyan csomópontkészlettel jön létre, amely képes linuxos tárolókat futtatni. Olyan Windows-csomópontkészletet kell hozzáadnia, amely Windows Server-tárolókat futtathat a Linux-csomópontkészlet mellett. Ha ellenőrizni szeretné, hogy van-e Windows csomópontkészlet a fürtben, a kubectl get nodes -o wide parancs használatával megtekintheti a fürt csomópontjait.
Windows-csomópontkészlet létrehozásához meg kell adnia egy támogatott OsType és OsSku. Az alábbi táblázatban található információk alapján válassza ki, hogy melyik felel meg az Ön fürtjéhez.
OsType |
OsSku |
Alapértelmezett | Támogatott K8s-verziók | Részletek |
|---|---|---|---|---|
windows |
Windows2025 |
Alapértelmezett érték a K8s 1.36+-ban | 1.32+ | Frissített alapértelmezett értékek: containerd 2.0, a 2. generációs rendszerkép alapértelmezés szerint használatos. A FIPS használata kötelező – a csomópontkészlet létrehozásakor adja meg a(z) --enable-fips-image értéket. |
windows |
Windows2022 |
Alapértelmezett érték a K8s 1.25-1.35-ben | Nem érhető el a K8s 1.37-es és újabb verzióiban | 2028 júniusában nyugdíjba vonul. Frissített alapértelmezett értékek: A FIPS alapértelmezés szerint engedélyezve van. |
Windows Server 2025 a Kubernetes 1.36-os és újabb verziójának alapértelmezett operációs rendszere. Windows Server 2022 a Kubernetes 1.25-1.35-ös verzióinak alapértelmezett verziója. 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.
Fontos
2028. június 30-tól kezdődően Azure Kubernetes Service (AKS) már nem támogatja Windows Server 2022 csomópontkészleteket. Windows Server 2022 a Kubernetes 1.37-es és újabb verziói nem támogatottak. 2029. június 30-tól az AKS eltávolítja a Windows Server 2022 összes meglévő csomópontlemezképét, ami azt jelenti, hogy a skálázási műveletek sikertelenek lesznek. A kivonással kapcsolatos további információkért tekintse meg a GitHub-kivonással kapcsolatos problémát és az Azure Updates kivonási bejelentését. Ha értesülni szeretne a bejelentésekről és frissítésekről, kövesse az AKS kibocsátási megjegyzéseit.
Adjon hozzá egy Windows-csomópontkészletet a(z)
az aks nodepool addparancs használatával, megadottOsTypeésOsSkuértékkel. 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. A Windows Server 2025-ös csomópontkészletekhez FIPS-kompatibilis lemezképre van szükség, ezért az alábbi parancs tartalmazza a(z)--enable-fips-imageelemet.az aks nodepool add \ --resource-group $MY_RESOURCE_GROUP_NAME \ --cluster-name $MY_AKS_CLUSTER \ --os-type Windows \ --os-sku Windows2025 \ --enable-fips-image \ --name npwin \ --node-count 1Ez a parancs létrehoz egy új npwin nevű csomópontkészletet, és hozzáadja a myAKSClusterhez. A parancs a futtatáskor
az aks createlétrehozott alapértelmezett virtuális hálózat alapértelmezett alhálózatát is használja.
A klaszterhez csatlakozás
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 , használja a az aks install-cli parancsot.
Konfigurálja a
kubectl-t, hogy aaz aks get-credentialsparanccsal csatlakozhasson a Kubernetes klaszterhez. 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 $MY_RESOURCE_GROUP_NAME --name $MY_AKS_CLUSTEREllenőrizze a fürthöz való kapcsolatot a
kubectl getparanccsal, amely a fürtcsomópontok listáját adja vissza.kubectl get nodes -o wideAz alábbi példakimenet 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.33.12 10.224.0.4 <none> Ubuntu 22.04.5 LTS 5.15.0-1116-azure containerd://1.7.33-1 aks-nodepool1-20786768-vmss000001 Ready agent 22h v1.33.12 10.224.0.33 <none> Ubuntu 22.04.5 LTS 5.15.0-1116-azure containerd://1.7.33-1 aksnpwin000000 Ready agent 20h v1.33.12 10.224.0.62 <none> Windows Server 2025 Datacenter 10.0.26100.32995 containerd://2.0.4+azureMegjegyzés:
Az egyes csomópontkészletek tároló-futtatókörnyezete a CONTAINER-RUNTIME alatt jelenik meg. A tároló futtatókörnyezet értékei
containerd://-val kezdődnek, ami azt jelenti, hogy mindegyik a tároló futtatókörnyezethez használjacontainerd-t.
Az alkalmazás üzembe helyezése
A Kubernetes-manifest-fájl meghatározza a klaszter kívánt állapotát, például hogy milyen konténerké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 2022 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 az ASP.NET mintaalkalmazás podját egy olyan csomóponton, amely Windows Server-tárolókat futtathat.
Hozzon létre egy fájlt,
sample.yamlé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: sampleA 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 applyparanccsal, és adja meg a YAML-jegyzék nevét.kubectl apply -f sample.yamlAz alábbi példakimenet 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. Engedélyezzen legfeljebb 10 percet a kiépítésre.
Ellenőrizze az üzembe helyezett podok állapotát a
kubectl get podsparanccsal. Győződjön meg arról, hogy az összes podRunning, mielőtt folytatja.kubectl get podsA folyamatot a
kubectl get serviceparanccsal, a--watchargumentummal figyelheti.while true; do export EXTERNAL_IP=$(kubectl get service sample -o jsonpath="{.status.loadBalancer.ingress[0].ip}" 2>/dev/null) if [[ -n "$EXTERNAL_IP" && "$EXTERNAL_IP" != "<pending>" ]]; then kubectl get service sample break fi echo "Still waiting for external IP assignment..." sleep 5 doneKezdetben a kimenet 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 xx.xx.xx.xx pending xx:xxxx/TCP 2mHa a külső IP-cím függőben lévőrőltényleges nyilvános IP-címre változik, állítsa
CTRL-Cle akubectlfigyelés folyamatát.A következő példakimenet a
<public-ip-address>helyére a szolgáltatáshoz rendelt érvényes nyilvános IP-címet cseréli.{ "NAME": "sample", "TYPE": "LoadBalancer", "CLUSTER-IP": "10.0.37.27", "EXTERNAL-IP": "<public-ip-address>", "PORT(S)": "80:30572/TCP", "AGE": "2m" }A mintaalkalmazás működés közbeni megtekintéséhez néhány perc múlva megnyit egy webböngészőt a szolgáltatás külső IP-címére.
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 AKS produkciós környezetben való teljes megoldások létrehozásához tekintse meg az AKS-megoldások útmutatását.
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 klaszter oktatóanyagához.