# 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: vllm-v1-disagg-planner spec: services: Frontend: dynamoNamespace: vllm-v1-disagg-planner componentType: main replicas: 1 livenessProbe: httpGet: path: /health port: 8000 initialDelaySeconds: 60 periodSeconds: 60 timeoutSeconds: 30 failureThreshold: 10 readinessProbe: exec: command: - /bin/sh - -c - 'curl -s http://localhost:8000/health | jq -e ".status == \"healthy\""' initialDelaySeconds: 60 periodSeconds: 60 timeoutSeconds: 30 failureThreshold: 10 resources: requests: cpu: "1" memory: "2Gi" limits: cpu: "1" memory: "2Gi" extraPodSpec: mainContainer: image: nvcr.io/nvidian/nim-llm-dev/vllm_v1-runtime:dep-216.4 workingDir: /workspace/examples/vllm args: - dynamo - run - in=http - out=dyn - --http-port - "8000" VllmDecodeWorker: dynamoNamespace: vllm-v1-disagg-planner envFromSecret: hf-token-secret componentType: worker replicas: 1 livenessProbe: exec: command: - /bin/sh - -c - "exit 0" periodSeconds: 60 timeoutSeconds: 30 failureThreshold: 10 readinessProbe: exec: command: - /bin/sh - -c - 'grep "VllmWorker.*has been initialized" /tmp/vllm.log' initialDelaySeconds: 60 periodSeconds: 60 timeoutSeconds: 30 failureThreshold: 10 resources: requests: cpu: "10" memory: "20Gi" gpu: "1" limits: cpu: "10" memory: "20Gi" gpu: "1" extraPodSpec: mainContainer: image: nvcr.io/nvidian/nim-llm-dev/vllm_v1-runtime:dep-216.4 workingDir: /workspace/examples/vllm args: - "python3 components/main.py --model Qwen/Qwen3-0.6B --enforce-eager 2>&1 | tee /tmp/vllm.log" VllmPrefillWorker: dynamoNamespace: vllm-v1-disagg-planner envFromSecret: hf-token-secret componentType: worker replicas: 1 livenessProbe: exec: command: - /bin/sh - -c - "exit 0" periodSeconds: 60 timeoutSeconds: 30 failureThreshold: 10 readinessProbe: exec: command: - /bin/sh - -c - 'grep "VllmWorker.*has been initialized" /tmp/vllm.log' initialDelaySeconds: 60 periodSeconds: 60 timeoutSeconds: 30 failureThreshold: 10 resources: requests: cpu: "10" memory: "20Gi" gpu: "1" limits: cpu: "10" memory: "20Gi" gpu: "1" extraPodSpec: mainContainer: image: nvcr.io/nvidian/nim-llm-dev/vllm_v1-runtime:dep-216.4 workingDir: /workspace/examples/vllm args: - "python3 components/main.py --model Qwen/Qwen3-0.6B --enforce-eager --is-prefill-worker 2>&1 | tee /tmp/vllm.log"