Sdílet prostřednictvím


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

Klonování úložiště

  1. 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
    
  2. 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.

  1. Vyplňte doporučené informace podle pokynů pro rychlý start k vytvoření opensourcové mezipaměti Redis.
  2. Výběrem možnosti Vytvořit spusťte nasazení instance Redis.

Ověření informací o zdroji

  1. Po nasazení prostředku Redis přejděte na stránku s přehledem.
  2. 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.
  3. 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

  1. 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 .

    Snímek obrazovky znázorňující pole, ve kterém můžete vybrat spravovanou identitu, kterou chcete přidat jako uživatele Redis

  2. 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 .

  1. Přejděte do okna privátního koncového bodu .
  2. V horní nabídce klikněte na Povolit přístup k veřejné síti.

Konfigurace komponent Dapr

Komponenta redis.yamlje 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
  1. V preferovaném editoru kódu přejděte do deploy adresáře v ukázce a otevřete redis.yaml.

  2. Nahraďte redisHostzá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

  1. redis.yaml Použijte soubor pomocí kubectl apply příkazu.

    kubectl apply -f ./deploy/redis.yaml
    
  2. 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.yamlspecifikace podu je přidaný popisek pro použití identity úlohy:

labels:
  app: node
  azure.workload.identity/use: "true"
  1. Přejděte do deploy adresáře a otevřete node.yaml.

  2. Nahraďte zástupnou <SERVICE_ACCOUNT_NAME> hodnotu serviceAccountName 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

  1. Pomocí příkazu použijte nasazení aplikace Node.js do clusteru kubectl apply .

    kubectl apply -f ./deploy/node.yaml
    
  2. 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
    
  3. Pomocí příkazu přejděte ke službě kubectl get svc .

    kubectl get svc nodeapp
    
  4. Poznamenejte EXTERNAL-IP si výstup.

Ověření služby Node.js

  1. Pomocí curlvolání služby s vaším EXTERNAL-IP.

    curl $EXTERNAL_IP/ports
    

    Příklad výstupu

    {"DAPR_HTTP_PORT":"3500","DAPR_GRPC_PORT":"50001"}
    
  2. Odešlete do aplikace objednávku.

    curl --request POST --data "@sample.json" --header Content-Type:application/json $EXTERNAL_IP/neworder
    
  3. 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.yamlspecifikace podu je přidaný popisek pro použití identity úlohy:

labels:
  app: node
  azure.workload.identity/use: "true"
  1. Přejděte do deploy adresáře a otevřete python.yaml.

  2. Nahraďte zástupnou <SERVICE_ACCOUNT_NAME> hodnotu serviceAccountName 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

  1. Pomocí příkazu nasaďte aplikaci Python do clusteru kubectl apply Kubernetes.

    kubectl apply -f ./deploy/python.yaml
    
  2. 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í.

  1. 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
    
  2. Pomocí curlvolá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