# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. apiVersion: nvidia.com/v1alpha1 kind: DynamoGraphDeployment metadata: name: agg-router spec: envs: - name: DYN_DEPLOYMENT_CONFIG value: '{"Common":{"model":"deepseek-ai/DeepSeek-R1-Distill-Llama-8B","router":"kv","block-size":64,"max-model-len":16384,"kv-transfer-config":"{\"kv_connector\":\"DynamoNixlConnector\"}"},"Frontend":{"served_model_name":"deepseek-ai/DeepSeek-R1-Distill-Llama-8B","endpoint":"dynamo.Processor.chat/completions","port":8000},"Processor":{"common-configs":["model","block-size","max-model-len","router"]},"Router":{"min-workers":1,"softmax-sample":true,"common-configs":["model","block-size","router"]},"VllmWorker":{"enforce-eager":true,"max-num-batched-tokens":16384,"enable-prefix-caching":true,"tensor-parallel-size":1,"ServiceArgs":{"workers":1,"resources":{"gpu":"1"}},"common-configs":["model","block-size","max-model-len","router","kv-transfer-config"]},"Planner":{"environment":"kubernetes","no-operation":true}}' services: Frontend: dynamoNamespace: llm-agg-router componentType: main replicas: 1 resources: requests: cpu: "1" memory: "2Gi" limits: cpu: "1" memory: "2Gi" extraPodSpec: mainContainer: image: nvcr.io/nvidia/ai-dynamo/vllm-runtime:0.3.1 workingDir: /workspace/examples/llm args: - dynamo - serve - graphs.agg_router:Frontend - --system-app-port - "5000" - --enable-system-app - --use-default-health-checks - --service-name - Frontend Processor: dynamoNamespace: llm-agg-router componentType: worker replicas: 1 resources: requests: cpu: "1" memory: "2Gi" limits: cpu: "1" memory: "2Gi" extraPodSpec: mainContainer: image: nvcr.io/nvidia/ai-dynamo/vllm-runtime:0.3.1 workingDir: /workspace/examples/llm args: - dynamo - serve - graphs.agg_router:Processor - --system-app-port - "5000" - --enable-system-app - --use-default-health-checks - --service-name - Processor Router: dynamoNamespace: llm-agg-router componentType: worker replicas: 1 resources: requests: cpu: "1" memory: "2Gi" limits: cpu: "1" memory: "2Gi" extraPodSpec: mainContainer: image: nvcr.io/nvidia/ai-dynamo/vllm-runtime:0.3.1 workingDir: /workspace/examples/llm args: - dynamo - serve - graphs.agg_router:Router - --system-app-port - "5000" - --enable-system-app - --use-default-health-checks - --service-name - Router VllmWorker: envFromSecret: hf-token-secret dynamoNamespace: llm-agg-router replicas: 1 resources: requests: cpu: "10" memory: "20Gi" gpu: "1" limits: cpu: "10" memory: "20Gi" gpu: "1" extraPodSpec: mainContainer: image: nvcr.io/nvidia/ai-dynamo/vllm-runtime:0.3.1 workingDir: /workspace/examples/llm args: - dynamo - serve - graphs.agg_router:VllmWorker - --system-app-port - "5000" - --enable-system-app - --use-default-health-checks - --service-name - VllmWorker