Rychlý start: Nasazení aplikace pomocí rozšíření clusteru Dapr pro Azure Kubernetes Service (AKS) nebo Kubernetes s podporou arc
V tomto rychlém startu použijete rozšíření clusteru Dapr v clusteru Kubernetes s podporou AKS nebo Arc. Nasadíte hello world
příklad, který se skládá z aplikace Pythonu, která generuje zprávy a Node.js aplikace, která zprávy spotřebovává a zachovává.
Požadavky
- Předplatné Azure. Pokud ještě nemáte předplatné Azure, můžete si vytvořit bezplatný účet.
- Nainstalovali jsme Azure CLI nebo Azure PowerShell .
- Cluster AKS s:
- Povolená identita úloh
- Spravovaná identita vytvořená ve stejném předplatném
- Účet služby Kubernetes
- Přihlašovací údaje federované identity
- Rozšíření clusteru Dapr nainstalované v clusteru AKS
- Kubectl je nainstalovaný místně.
Klonování úložiště
Naklonujte úložiště rychlých startů Dapr pomocí
git clone
příkazu.git clone https://github.com/Azure-Samples/dapr-aks-extension-quickstart.git
Přejděte do
dapr-aks-extension-quickstart
adresáře.
Vytvoření a konfigurace úložiště Redis
Otevřete azure Portal a spusťte tok vytváření Azure Cache for Redis.
- Vyplňte doporučené informace podle pokynů pro rychlý start k vytvoření opensourcové mezipaměti Redis.
- Výběrem možnosti Vytvořit spusťte nasazení instance Redis.
Ověření informací o zdroji
- Po nasazení prostředku Redis přejděte na stránku s přehledem.
- Poznamenejte si:
- Název hostitele, který najdete v části Základy na stránce přehledu mezipaměti. Formát názvu hostitele vypadá nějak takto:
xxxxxx.redis.cache.windows.net
. - Port SSL, který se nachází v okně Upřesnit nastavení mezipaměti. Výchozí hodnota je
6380
.
- Název hostitele, který najdete v části Základy na stránce přehledu mezipaměti. Formát názvu hostitele vypadá nějak takto:
- Přejděte do okna Ověřování a ověřte, že je ve vašem prostředku povolené ověřování Microsoft Entra.
Přidání spravované identity
V okně Ověřování zadejte název spravované identity, kterou jste vytvořili jako předpoklad v poli v části Povolit ověřování Microsoft Entra Authentication .
Ověřte, že vaše spravovaná identita je přidaná jako oprávnění k zásadám přístupu vlastníka dat přiřazeným uživatelem Redis.
Povolení přístupu k veřejné síti
V tomto scénáři vaše mezipaměť Redis používá přístup k veřejné síti. Po dokončení tohoto rychlého startu nezapomeňte vyčistit prostředky .
- Přejděte do okna privátního koncového bodu .
- V horní nabídce klikněte na Povolit přístup k veřejné síti.
Konfigurace komponent Dapr
Komponenta redis.yaml
je nakonfigurovaná tak, aby používala ověřování Entra ID pomocí identity úlohy povolené pro cluster AKS. Nejsou vyžadovány žádné přístupové klíče.
- name: useEntraID
value: "true"
- name: enableTLS
value: true
V preferovaném editoru kódu přejděte do
deploy
adresáře v ukázce a otevřeteredis.yaml
.Nahraďte
redisHost
zástupnou<REDIS_HOST>:<REDIS_PORT>
hodnotu názvem hostitele mezipaměti Redis a portem SSL, který jste si uložili dříve z webu Azure Portal.- name: redisHost value: <your-cache-name>.redis.cache.windows.net:6380
Použití konfigurace
redis.yaml
Použijte soubor pomocíkubectl apply
příkazu.kubectl apply -f ./deploy/redis.yaml
Pomocí příkazu ověřte, že vaše úložiště stavů bylo úspěšně nakonfigurováno
kubectl get components.redis
.kubectl get components.redis -o yaml
Očekávaný výstup
component.dapr.io/statestore created
Nasazení aplikace Node.js pomocí sajdkáru Dapr
Konfigurace aplikace Node.js
V node.yaml
specifikace podu je přidaný popisek pro použití identity úlohy:
labels:
app: node
azure.workload.identity/use: "true"
Přejděte do
deploy
adresáře a otevřetenode.yaml
.Nahraďte zástupnou
<SERVICE_ACCOUNT_NAME>
hodnotuserviceAccountName
názvem účtu služby, který jste vytvořili.- Tato hodnota by měla být stejný účet služby, který jste použili k vytvoření přihlašovacích údajů federované identity.
Použití konfigurace
Pomocí příkazu použijte nasazení aplikace Node.js do clusteru
kubectl apply
.kubectl apply -f ./deploy/node.yaml
Nasazení Kubernetes jsou asynchronní, takže než přejdete k dalším krokům, ověřte, že nasazení je hotové pomocí následujícího příkazu:
kubectl rollout status deploy/nodeapp
Pomocí příkazu přejděte ke službě
kubectl get svc
.kubectl get svc nodeapp
Poznamenejte
EXTERNAL-IP
si výstup.
Ověření služby Node.js
Pomocí
curl
volání služby s vašímEXTERNAL-IP
.curl $EXTERNAL_IP/ports
Příklad výstupu
{"DAPR_HTTP_PORT":"3500","DAPR_GRPC_PORT":"50001"}
Odešlete do aplikace objednávku.
curl --request POST --data "@sample.json" --header Content-Type:application/json $EXTERNAL_IP/neworder
Potvrďte objednávku.
curl $EXTERNAL_IP/order
Očekávaný výstup
{ "orderId": "42" }
Nasazení aplikace v Pythonu pomocí sajdkáru Dapr
Konfigurace aplikace v Pythonu
V python.yaml
specifikace podu je přidaný popisek pro použití identity úlohy:
labels:
app: node
azure.workload.identity/use: "true"
Přejděte do
deploy
adresáře a otevřetepython.yaml
.Nahraďte zástupnou
<SERVICE_ACCOUNT_NAME>
hodnotuserviceAccountName
názvem účtu služby, který jste vytvořili.- Tato hodnota by měla být stejný účet služby, který jste použili k vytvoření přihlašovacích údajů federované identity.
Použití konfigurace
Pomocí příkazu nasaďte aplikaci Python do clusteru
kubectl apply
Kubernetes.kubectl apply -f ./deploy/python.yaml
Nasazení Kubernetes jsou asynchronní, takže než přejdete k dalším krokům, ověřte, že nasazení je hotové pomocí následujícího příkazu:
kubectl rollout status deploy/pythonapp
Sledování zpráv a potvrzení trvalosti
Teď, když jsou nasazené aplikace Node.js i Pythonu, můžete sledovat zprávy, které přicházejí.
Pomocí příkazu získejte protokoly aplikace
kubectl logs
Node.js.kubectl logs --selector=app=node -c node --tail=-1
Očekávaný výstup
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
Pomocí
curl
volání koncového bodu objednávky aplikace Node.js získejte nejnovější objednávku.curl $EXTERNAL_IP/order
V odpovědi by se měl zobrazit nejnovější výstup JSON.
Vyčištění prostředků
Pokud už nemáte v plánu používat prostředky z tohoto rychlého startu, můžete odstranit všechny přidružené prostředky odebráním skupiny prostředků.
Pomocí příkazu az group delete odeberte skupinu prostředků, cluster, obor názvů a všechny související prostředky.
az group delete --name MyResourceGroup
Další kroky
Azure Kubernetes Service