# 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: disagg spec: envs: - name: DYN_DEPLOYMENT_CONFIG value: '{"Common":{"model":"deepseek-ai/DeepSeek-R1-Distill-Llama-8B","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.VllmWorker.generate","port":8000,"router":"round-robin","common-configs":["block-size"]},"VllmWorker":{"remote-prefill":true,"conditional-disagg":true,"max-local-prefill-length":10,"max-prefill-queue-size":2,"enable-prefix-caching":true,"common-configs":["model","block-size","max-model-len","kv-transfer-config"]},"PrefillWorker":{"max-num-batched-tokens":16384,"common-configs":["model","block-size","max-model-len","kv-transfer-config"]}}' services: Frontend: dynamoNamespace: vllm-v0-disagg 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/vllm_v0 args: - dynamo - serve - graphs.disagg:Frontend - --system-app-port - "5000" - --enable-system-app - --use-default-health-checks - --service-name - Frontend VllmWorker: dynamoNamespace: vllm-v0-disagg envFromSecret: hf-token-secret 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/vllm_v0 args: - dynamo - serve - graphs.disagg:VllmWorker - --system-app-port - "5000" - --enable-system-app - --use-default-health-checks - --service-name - VllmWorker PrefillWorker: dynamoNamespace: vllm-v0-disagg envFromSecret: hf-token-secret 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/vllm_v0 args: - dynamo - serve - graphs.disagg:PrefillWorker - --system-app-port - "5000" - --enable-system-app - --use-default-health-checks - --service-name - PrefillWorker