dapr-agents/quickstarts/07-k8s-multi-agent-workflow
Casper Nielsen 53c1c9ffde
Fix: ref to 07 in compose file (#106)
Signed-off-by: Casper Guldbech Nielsen <scni@novonordisk.com>
2025-04-28 15:49:54 -07:00
..
components Feat/k8s deployment (#69) 2025-04-25 22:09:17 -07:00
manifests Feat/k8s deployment (#69) 2025-04-25 22:09:17 -07:00
services Feat/k8s deployment (#69) 2025-04-25 22:09:17 -07:00
README.md Feat/k8s deployment (#69) 2025-04-25 22:09:17 -07:00
docker-compose.yaml Fix: ref to 07 in compose file (#106) 2025-04-28 15:49:54 -07:00
install.sh Feat/k8s deployment (#69) 2025-04-25 22:09:17 -07:00

README.md

Run Multi agent workflows in Kubernetes

This quickstart demonstrates how to create and orchestrate event-driven workflows with multiple autonomous agents using Dapr Agents running on Kubernetes.

Prerequisites

  • Python 3.10 (recommended)
  • Pip package manager
  • OpenAI API key
  • Kind
  • Docker
  • Helm

Configuration

  1. Create a .env file for your API keys:
OPENAI_API_KEY=your_api_key_here

Install through script

The script will:

  1. Install Kind with a local registry
  2. Install Bitnami Redis
  3. Install Dapr
  4. Build the images for 05-multi-agent-workflow-dapr-workflows
  5. Push the images to local in-cluster registry
  6. Install the components for the agents
  7. Create the kubernetes secret form .env file
  8. Deploy the manifests for the agents
  9. Port forward the workload-llm pod on port 8004
  10. Trigger the workflow for getting to Morder by k8s_http_client.py

Install through manifests

First create a secret from your .env file:

kubectl create secret generic openai-secrets --from-env-file=.env --namespace default --dry-run=client -o yaml | kubectl apply -f -

Then build the images locally with docker-compose:

docker-compose -f docker-compose.yaml build --no-cache

Then deploy the manifests:

kubectl apply -f manifests/

Port forward the workload-llm pod:

kubectl port-forward -n default svc/workflow-llm 8004:80 &>/dev/null &

Trigger the client:

python3 services/client/k8s_http_client.py