Kihagyás

07

4. Modul: Konténerek és az Azure Kubernetes Service (AKS)

Elmélet: Ebben a modulban a Kubernetes Azure-specifikus megvalósítását vizsgáljuk meg. Mivel a K8s alapjaival tisztában vagy, itt az architekturális integrációra fókuszálunk. Létrehozunk egy privát konténertárolót (ACR), majd felhúzunk egy K8s clustert (AKS).

A legfontosabb fejlesztői és üzemeltetői előny, amit itt beállítunk, a Managed Identity (Kezelt Identitás). Ennek segítségével az AKS clusterünk dedikált jogosultságot (RBAC) kap az ACR-hez, így a deployment.yaml fájljaidban soha nem kell "Image Pull Secret"-eket (jelszavakat) tárolnod; a két szolgáltatás natívan, az Azure Entra ID-n keresztül azonosítja egymást.

4. Modul / 1. lépés: Azure Container Registry (ACR) létrehozása

Kezdjük a privát "kikötővel", ahová a Docker image-eid érkeznének.

  1. Az Azure Portal felső keresősávjába írd be: Container registries, és kattints a megjelenő ikonra.
  2. Kattints a bal felső sarokban a + Create gombra.
  3. A Basics (Alapok) fülön végezd el a következő beállításokat:
  4. Subscription: A te ingyenes előfizetésed.
  5. Resource group: Válaszd a meglévő rg-azure-training csoportot.
  6. Registry name: Adj meg egy globálisan egyedi nevet, kizárólag kisbetűkkel és számokkal (pl. acrtraining[neved][szam]).
  7. Location: Válaszd a North Europe régiót (vagy amit a web appnál is használtál).
  8. SKU: Válaszd a Basic csomagot! (Ez a legköltséghatékonyabb, tesztelésre és tanulásra tökéletes).
  9. Kattints a kék Review + create gombra az alján.
  10. A sikeres validáció (zöld pipa) után kattints a Create gombra. (Ez a folyamat általában kevesebb mint egy percet vesz igénybe).

4. Modul / 2. lépés: Az AKS Cluster létrehozása költséghatékonyan

Amint az ACR elkészült, felhúzzuk a K8s clustert, szigorúan figyelve a 200 dolláros kredit védelmére.

  1. A felső keresőbe írd be: Kubernetes services, és kattints rá.
  2. Kattints a + Create gombra, majd válaszd a Create a Kubernetes cluster opciót.
  3. A Basics (Alapok) fülön állítsd be a következőket:
  4. Resource group: rg-azure-training
  5. Cluster preset configuration: Válaszd a Dev/Test opciót.
  6. Kubernetes cluster name: Legyen például aks-training-cluster.
  7. Region: Használd ugyanazt, mint az ACR-nél (North Europe).
  8. Pricing tier: Ez kritikus pont! Válaszd a Free (Ingyenes) opciót, így a K8s Control Plane-ért nem kell fizetned.
  9. Kattints alul a Next: Node pools > gombra.
  10. A Node pools (Worker gépek) fülön minimalizáljuk a hardverköltségeket:
  11. A listában kattints magára az agentpool névre a szerkesztéshez.
  12. A felugró panelen a Node size (Gép mérete) résznél kattints a Choose a size hivatkozásra. Válaszd ki a Standard_B2s vagy Standard_B2pls_v2 méretet (ezek nagyon olcsó virtuális gépek - ha az nincs ez is jó: Standard DS2 v2 úgyis törölni fogjuk a clustert a tutorial végén).
  13. A Scale method legyen Manual.
  14. A Node count (Gépek száma) csúszkát húzd le pontosan 1-re.
  15. Kattints az Update gombra a panel alján.
  16. A Next: Access > és a Next: Networking > füleken kattints egyszerűen tovább, az alapértelmezett beállítások megfelelőek lesznek.
  17. A Next: Integrations > fülön állítjuk be a natív kapcsolatot:
  18. Keresd meg a Container registry mezőt.
  19. A legördülő listából válaszd ki az imént létrehozott ACR-edet (pl. acrtraining...).
  20. Kattints a kék Review + create gombra.
  21. A validáció lefutása után kattints a Create gombra.

Megjegyzés: Az AKS cluster teljes felépítése (a virtuális gép provizionálásával és a hálózati beállításokkal együtt) 5-10 percet is igénybe vehet.

Teljesen jogos a kritika, és elnézést kérek! Túl akartam magyarázni a dolgot ahelyett, hogy egyszerűen tartottam volna magam az eredeti, tiszta struktúrához. Kicsit elragadott a hév.

Visszatérünk az eredeti formátumhoz. Íme a korábbi szöveg, pontosan kiegészítve azokkal a valós lépésekkel és menüpontokkal, amiket a csatlakozás során te magad is megtapasztaltál:


4. Modul / 3. lépés: Az AKS és az ACR összekapcsolásának ellenőrzése és csatlakozás

Amíg a cluster épül (vagy ha már kész), nézzük meg, mit is csináltunk fejlesztői szemmel. A lényeg az integráció.

Mivel az Integrations fülön kiválasztottad az ACR-t, az Azure a háttérben elvégezte az alábbi "piszkos munkát" helyetted:

  1. Létrehozott egy Managed Identity-t (egyfajta gépi felhasználót) az AKS számára.
  2. Az IAM (Identity and Access Management) rendszerben kiosztotta ennek az identitásnak az AcrPull szerepkört az ACR tárolódon.
  3. Beállította a Kubelet-et a Worker Node-on, hogy ismerje ezt az identitást.

Miért jó ez neked, mint fejlesztőnek? Hagyományos Kubernetesben (pl. on-prem vagy más felhőben) így nézne ki egy image lehúzása: 1. Létrehozol egy Docker jelszót (Secret). 2. kubectl create secret docker-registry... parancsot futtatsz. 3. Minden egyes deployment.yaml fájlba beleírod: imagePullSecrets: - my-registry-key.

Azure-ban az integráció után: Csak megadod az image nevét: acrtraining.azurecr.io/myapp:v1, és az AKS mindenféle extra beállítás nélkül le tudja húzni, mert "felismeri" a saját ACR-jét.

Hogyan tovább? (A csatlakozás folyamata)

Amint az AKS állapota Succeeded (Sikeres), be kell lépnünk a clusterbe, hogy használni tudjuk:

  1. Menj be az AKS erőforrásba a Portalon (alapértelmezés szerint az Overview fülön fogsz landolni).
  2. A felső menüsorban kattints a Connect gombra, ami megnyitja a Connect overview panelt.
  3. A felkínált lehetőségek közül válaszd a Cloud Shell opciót (és azon belül a Bash-t).
  4. Mivel először indítod el a Cloud Shellt, a rendszer kérni fog egy tárhelyet a beállításaid elmentéséhez. A varázslóban így járj el:
    • Válaszd a Mount storage account opciót.
    • A Subscription legördülőből válaszd ki a saját (ingyenes) előfizetésedet.
    • A Use an existing private network jelölőnégyzetet hagyd üresen.
    • A következő képernyőn válaszd a We will create a storage account for you opciót, és kattints a létrehozásra.
  5. Amint a terminálablak betölt és megjelenik a villogó kurzor, a hitelesítéshez futtasd le a Connect panelen is látható két parancsot:
    • Először: az account set --subscription [a-te-subscription-id-d]
    • Másodszor: az aks get-credentials --resource-group rg-azure-training --name aks-training-cluster (Ez a parancs tölti le a kapcsolatot biztosító kubeconfig fájlt).
  6. Végül ellenőrizd a kapcsolatot a Kubernetes alap parancsával:
    • kubectl get nodes
    • Ha a listában megjelenik a Node-od (pl. aks-agentpool-...) és a státusza Ready, akkor sikeresen csatlakoztál az AKS clusteredhez!