Rövid útmutató: Alkalmazás üzembe helyezése az Azure Kubernetes Service (AKS) vagy az Arc-kompatibilis Kubernetes Dapr-fürtbővítményével
Ebben a rövid útmutatóban a Dapr-fürtbővítményt használja egy AKS- vagy Arc-kompatibilis Kubernetes-fürtben. Üzembe helyezhet egy hello world
példát, amely egy olyan Python-alkalmazásból áll, amely üzeneteket hoz létre, és egy Node.js alkalmazásból, amely felhasználja és megőrzi az üzeneteket.
Előfeltételek
- Azure-előfizetés. Ha nem rendelkezik Azure-előfizetéssel, létrehozhat egy ingyenes fiókot.
- Az Azure CLI vagy az Azure PowerShell telepítve van.
- AKS-fürt a következőkkel:
- kubectl helyileg telepítve.
A tárház klónozása
Klónozza a Dapr rövid útmutatók adattárát a
git clone
paranccsal.git clone https://github.com/Azure-Samples/dapr-aks-extension-quickstart.git
Váltson a könyvtárra
dapr-aks-extension-quickstart
.
Redis-tároló létrehozása és konfigurálása
Nyissa meg az Azure Portalt az Azure Cache for Redis létrehozási folyamatának elindításához.
- Töltse ki a javasolt információkat a "Nyílt forráskódú Redis Cache létrehozása" rövid útmutató szerint.
- Válassza a Létrehozás lehetőséget a Redis-példány üzembe helyezésének elindításához.
Erőforrásadatok ellenőrzése
- A Redis-erőforrás üzembe helyezése után lépjen az áttekintési oldalra.
- Jegyezze fel a következőt:
- A gyorsítótár áttekintési oldal Essentials szakaszában található állomásnév. A gazdagépnév formátuma a következőhöz hasonló:
xxxxxx.redis.cache.windows.net
. - A gyorsítótár Speciális beállítások paneljén található SSL-port. Az alapértelmezett érték
6380
.
- A gyorsítótár áttekintési oldal Essentials szakaszában található állomásnév. A gazdagépnév formátuma a következőhöz hasonló:
- Lépjen a Hitelesítés panelre, és ellenőrizze, hogy engedélyezve van-e a Microsoft Entra-hitelesítés az erőforráson.
Felügyelt identitás hozzáadása
A Hitelesítés panelen írja be annak a felügyelt identitásnak a nevét, amelyet előfeltételként hozott létre a Microsoft Entra-hitelesítés engedélyezése jelölőnégyzet mezőben.
Ellenőrizze, hogy a felügyelt identitás hozzáadva van-e Redis-felhasználó által hozzárendelt adattulajdonosi hozzáférési szabályzat engedélyként.
Nyilvános hálózati hozzáférés engedélyezése
Ebben az esetben a Redis-gyorsítótár nyilvános hálózati hozzáférést használ. Ha ezzel a rövid útmutatóval végzett, mindenképpen törölje az erőforrásokat .
- Lépjen a Privát végpont panelre.
- A felső menüben kattintson a Nyilvános hálózati hozzáférés engedélyezése elemre.
A Dapr-összetevők konfigurálása
Ebben redis.yaml
az összetevő úgy van konfigurálva, hogy az Entra ID-hitelesítést használja az AKS-fürthöz engedélyezett számítási feladatok identitásával. Nincs szükség hozzáférési kulcsra.
- name: useEntraID
value: "true"
- name: enableTLS
value: true
Az előnyben részesített kódszerkesztőben lépjen a
deploy
mintában lévő könyvtárra, és nyissa megredis.yaml
a fájlt.A
redisHost
helyőrző<REDIS_HOST>:<REDIS_PORT>
értékét cserélje le a Korábban az Azure Portalról mentett Redis Cache-gazdanévre és SSL-portra.- name: redisHost value: <your-cache-name>.redis.cache.windows.net:6380
A konfiguráció alkalmazása
Alkalmazza a
redis.yaml
fájlt akubectl apply
paranccsal.kubectl apply -f ./deploy/redis.yaml
Ellenőrizze, hogy az állapottároló sikeresen konfigurálva lett-e a
kubectl get components.redis
paranccsal.kubectl get components.redis -o yaml
Várt kimenet
component.dapr.io/statestore created
A Node.js alkalmazás üzembe helyezése a Dapr oldalkocsival
Az Node.js alkalmazás konfigurálása
Ebben node.yaml
a pod-specifikációban a számítási feladat identitásának használatához a következő címke van hozzáadva:
labels:
app: node
azure.workload.identity/use: "true"
Lépjen a
deploy
könyvtárra, és nyissa megnode.yaml
a fájlt.Cserélje le a helyőrző
<SERVICE_ACCOUNT_NAME>
értékétserviceAccountName
a létrehozott szolgáltatásfiók nevére.- Ennek az értéknek az összevont identitás hitelesítő adatainak létrehozásához használt szolgáltatásfióknak kell lennie.
A konfiguráció alkalmazása
Alkalmazza a Node.js alkalmazás üzembe helyezését a fürtre a
kubectl apply
parancs használatával.kubectl apply -f ./deploy/node.yaml
A Kubernetes-telepítések aszinkronok, ezért mielőtt továbblépne a következő lépésekre, ellenőrizze, hogy az üzembe helyezés befejeződött-e a következő paranccsal:
kubectl rollout status deploy/nodeapp
A parancs használatával érheti el a
kubectl get svc
szolgáltatást.kubectl get svc nodeapp
Jegyezze fel a
EXTERNAL-IP
kimenetet.
A Node.js szolgáltatás ellenőrzése
A használatával
curl
hívja meg a szolgáltatást a sajátjávalEXTERNAL-IP
.curl $EXTERNAL_IP/ports
Példakimenet
{"DAPR_HTTP_PORT":"3500","DAPR_GRPC_PORT":"50001"}
Küldjön egy megrendelést az alkalmazásnak.
curl --request POST --data "@sample.json" --header Content-Type:application/json $EXTERNAL_IP/neworder
Erősítse meg a rendelést.
curl $EXTERNAL_IP/order
Várt kimenet
{ "orderId": "42" }
A Python-alkalmazás üzembe helyezése a Dapr oldalkocsival
A Python-alkalmazás konfigurálása
Ebben python.yaml
a pod-specifikációban a számítási feladat identitásának használatához a következő címke van hozzáadva:
labels:
app: node
azure.workload.identity/use: "true"
Lépjen a
deploy
könyvtárra, és nyissa megpython.yaml
a fájlt.Cserélje le a helyőrző
<SERVICE_ACCOUNT_NAME>
értékétserviceAccountName
a létrehozott szolgáltatásfiók nevére.- Ennek az értéknek az összevont identitás hitelesítő adatainak létrehozásához használt szolgáltatásfióknak kell lennie.
A konfiguráció alkalmazása
Helyezze üzembe a Python-alkalmazást a Kubernetes-fürtben a
kubectl apply
paranccsal.kubectl apply -f ./deploy/python.yaml
A Kubernetes-telepítések aszinkronok, ezért mielőtt továbblépne a következő lépésekre, ellenőrizze, hogy az üzembe helyezés befejeződött-e a következő paranccsal:
kubectl rollout status deploy/pythonapp
Üzenetek megfigyelése és az adatmegőrzés megerősítése
Most, hogy a Node.js és a Python-alkalmazás is üzembe lett helyezve, megtekintheti az üzeneteket.
Kérje le a Node.js alkalmazás naplóit a
kubectl logs
parancs használatával.kubectl logs --selector=app=node -c node --tail=-1
Várt kimenet
Got a new order! Order ID: 1 Successfully persisted state Got a new order! Order ID: 2 Successfully persisted state Got a new order! Order ID: 3 Successfully persisted state
A legújabb
curl
rendelés lekéréséhez hívja meg a Node.js alkalmazás rendelési végpontját.curl $EXTERNAL_IP/order
A válaszban a legújabb JSON-kimenetnek kell megjelennie.
Az erőforrások eltávolítása
Ha már nem tervezi használni az erőforrásokat ebből a rövid útmutatóból, az erőforráscsoport eltávolításával törölheti az összes társított erőforrást.
Távolítsa el az erőforráscsoportot, a fürtöt, a névteret és az összes kapcsolódó erőforrást az az group delete paranccsal.
az group delete --name MyResourceGroup
Következő lépések
Azure Kubernetes Service