-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathMakefile
More file actions
136 lines (120 loc) · 5.48 KB
/
Makefile
File metadata and controls
136 lines (120 loc) · 5.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# vLLM Production Stack workflow
HELP_TARGETS += vllm-help-menu
vllm:
$(Q)ansible-playbook \
--limit 'baseline:dev' \
playbooks/vllm.yml \
--tags data_partition,vars,deps,docker-config,vllm-deploy \
--extra-vars=@./extra_vars.yaml
vllm-deploy:
$(Q)ansible-playbook \
--limit 'baseline:dev' \
playbooks/vllm.yml \
--tags data_partition,vars,deps,docker-config,vllm-deploy \
--extra-vars=@./extra_vars.yaml
vllm-benchmark:
$(Q)ansible-playbook \
--limit 'baseline:dev' \
playbooks/vllm.yml \
--tags vars,vllm-benchmark \
--extra-vars=@./extra_vars.yaml
vllm-monitor:
$(Q)ansible-playbook \
--limit 'baseline:dev' \
playbooks/vllm.yml \
--tags vars,vllm-monitor \
--extra-vars=@./extra_vars.yaml
vllm-teardown:
$(Q)ansible-playbook \
--limit 'baseline:dev' \
playbooks/vllm.yml \
--tags vars,vllm-teardown \
--extra-vars=@./extra_vars.yaml
vllm-cleanup:
$(Q)ansible-playbook \
--limit 'baseline:dev' \
playbooks/vllm.yml \
--tags vars,vllm-cleanup \
--extra-vars=@./extra_vars.yaml
vllm-cleanup-full:
$(Q)ansible-playbook \
--limit 'baseline:dev' \
playbooks/vllm.yml \
--tags vars,vllm-cleanup \
--extra-vars=@./extra_vars.yaml \
--extra-vars='{"vllm_cleanup_remove_binaries": true}'
vllm-cleanup-purge:
$(Q)ansible-playbook \
--limit 'baseline:dev' \
playbooks/vllm.yml \
--tags vars,vllm-cleanup \
--extra-vars=@./extra_vars.yaml \
--extra-vars='{"vllm_cleanup_remove_binaries": true, "vllm_cleanup_remove_data": true}'
vllm-results:
$(Q)ansible-playbook \
--limit 'baseline:dev' \
playbooks/vllm.yml \
--tags vars,vllm-results,vllm-visualize \
--extra-vars=@./extra_vars.yaml
vllm-visualize-results:
$(Q)ansible-playbook \
--limit 'baseline:dev' \
playbooks/vllm.yml \
--tags vars,vllm-visualize \
--extra-vars=@./extra_vars.yaml
vllm-status:
@echo "=========================================="
@echo "vLLM Deployment Status (Detailed)"
@echo "=========================================="
@echo ""
@echo "--- Ansible Process ---"
@ps aux | grep -E "ansible.*vllm" | grep -v grep || echo "No Ansible process running"
@echo ""
@echo "--- Helm Deployment (on nodes) ---"
@ansible all -i hosts -m shell -a "ps aux | grep -E 'helm.*vllm' | grep -v grep || echo 'No helm process running'" 2>/dev/null || echo "Unable to check helm status"
@echo ""
@echo "--- Kubernetes Cluster Status ---"
@ansible all -i hosts -m shell -a "kubectl cluster-info 2>&1 | head -5 || minikube status 2>&1 || echo 'Kubernetes not ready'" 2>/dev/null || echo "Unable to check k8s status"
@echo ""
@echo "--- Kubernetes Pods ---"
@ansible all -i hosts -m shell -a "KUBECONFIG=/root/.kube/config kubectl get pods -A 2>&1 | head -20 || echo 'Cannot get pods'" -b 2>/dev/null || echo "Unable to check pods"
@echo ""
@echo "--- Helm Releases ---"
@ansible all -i hosts -m shell -a "KUBECONFIG=/root/.kube/config helm list -A 2>&1 || echo 'No helm releases'" -b 2>/dev/null || echo "Unable to check helm releases"
@echo ""
@echo "--- Kubernetes Services ---"
@ansible all -i hosts -m shell -a "KUBECONFIG=/root/.kube/config kubectl get svc -n vllm-system 2>&1 | head -10 || echo 'No services found'" -b 2>/dev/null || echo "Unable to check services"
@echo ""
@echo "--- Docker Containers ---"
@ansible all -i hosts -m shell -a "docker ps 2>&1 | head -15 || echo 'Cannot get containers'" 2>/dev/null || echo "Unable to check docker containers"
@echo ""
@echo "--- Docker Mirror 9P Mount ---"
@ansible all -i hosts -m shell -a "mount | grep 9p || echo 'No 9P mounts found'" 2>/dev/null || echo "Unable to check 9P mounts"
@echo ""
@echo "--- Docker Images (vLLM related) ---"
@ansible all -i hosts -m shell -a "docker images | grep -E 'REPOSITORY|vllm|openeuler' | head -20 || echo 'No vLLM images found'" 2>/dev/null || echo "Unable to check docker images"
@echo ""
@echo "--- Helm Values (Image Configuration) ---"
@ansible all -i hosts -m shell -a "grep -E 'repository:|tag:|modelURL:' /data/vllm/prod-stack-values.yaml 2>/dev/null | head -10 || echo 'Values file not found'" 2>/dev/null || echo "Unable to check helm values"
@echo ""
vllm-status-simplified:
@$(MAKE) -s vllm-status 2>&1 | python3 scripts/vllm-status-summary.py
vllm-quick-test:
$(Q)bash scripts/vllm-quick-test.sh
vllm-help-menu:
@echo "vLLM Production Stack options:"
@echo "vllm - Deploy vLLM stack"
@echo "vllm-deploy - Deploy vLLM stack (same as vllm)"
@echo "vllm-benchmark - Run performance benchmarks and collect results"
@echo "vllm-monitor - Display monitoring dashboard URLs"
@echo "vllm-status - Check detailed deployment status (verbose)"
@echo "vllm-status-simplified - Check deployment status (clean summary)"
@echo "vllm-quick-test - Quick API test (baseline + dev if enabled)"
@echo "vllm-teardown - Gracefully remove vLLM deployment"
@echo "vllm-cleanup - Remove vLLM containers/services (keep binaries & data)"
@echo "vllm-cleanup-full - Remove everything including binaries (kubectl, helm, minikube)"
@echo "vllm-cleanup-purge - PURGE ALL: Remove binaries + all data directories"
@echo "vllm-results - Collect and visualize benchmark results"
@echo "vllm-visualize-results - Generate HTML visualization of benchmark results"
@echo ""
.PHONY: vllm vllm-deploy vllm-benchmark vllm-monitor vllm-status vllm-status-simplified vllm-quick-test vllm-teardown vllm-cleanup vllm-cleanup-full vllm-cleanup-purge vllm-results vllm-visualize-results vllm-help-menu