Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
aws-samples avatar

Vllm Serving Setup

  • 1 installs
  • 16 repo stars
  • Updated August 5, 2026
  • aws-samples/sample-oh-my-aidlcops

vllm-serving-setup is a Claude Code skill that designs, deploys, and tunes vLLM inference serving on Amazon EKS.

About

vllm-serving-setup designs, deploys, and tunes vLLM inference serving on Amazon EKS for LLM workloads. A developer uses it to size GPU memory, pick a parallelism strategy, write Helm values, and validate a running model endpoint. It targets production agentic serving with autoscaling and Prometheus metrics.

  • Deploys and tunes vLLM v0.18.2 inference serving on EKS
  • Produces Helm values.yaml, PodMonitor, HPA, and kubectl validation steps
  • Covers PagedAttention v2, Multi-LoRA, FP8 KV Cache, and Chunked Prefill

Vllm Serving Setup by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #933 of 1,039 Cloud & Infrastructure skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

vllm-serving-setup capabilities & compatibility

Requires a running GPU-backed EKS cluster (H100/A100) plus Prometheus/OTel; significant cloud GPU cost.

Capabilities
model serving · gpu sizing · kubernetes deploy · autoscaling
Works with
aws · kubernetes · docker · grafana
Use cases
devops · ci cd
Platforms
Linux
Pricing
Bring your own API key
From the docs

What vllm-serving-setup says it does

Produces Helm values.yaml, PodMonitor, HPA, and kubectl validation steps for production agentic workloads.
SKILL.md
Llama 3.3 70B FP16 → 가중치 140GB + KV 캐시 ~40GB + 오버헤드 20GB ≈ 200GB
SKILL.md
npx skills add https://github.com/aws-samples/sample-oh-my-aidlcops --skill vllm-serving-setup

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
repo stars16
Last updatedAugust 5, 2026
Repositoryaws-samples/sample-oh-my-aidlcops

What it does

Deploy and tune a vLLM model server on EKS with Helm, HPA, and GPU sizing for production LLM serving.

Who is it for?

Standing up or performance-tuning a vLLM model server on Kubernetes/EKS for production agentic workloads.

Skip if: Disaggregated prefill/decode at scale (use llm-d), training pipelines (SageMaker/KubeRay), or MoE-only Expert Parallel setups.

When should I use this skill?

Deploying a specific model to vLLM on EKS, tuning throughput/latency, adding Multi-LoRA, or enabling v0.18.2 features like FP8 KV Cache.

What you get

A validated vLLM deployment with Helm values, HPA, PodMonitor, and captured p50/p95/p99 latency and throughput benchmarks.

  • Helm values.yaml
  • PodMonitor
  • HPA

By the numbers

  • vLLM v0.18.2
  • TP=4 for Llama 3.3 70B
  • gpu-memory-utilization capped at 0.92

Files

SKILL.mdMarkdownGitHub ↗

When to Use

  • 특정 모델(예: Llama 3.3 70B, Qwen3 32B, DeepSeek-V3)을 vLLM 으로 EKS 에 배포할 때
  • 기존 vLLM 배포의 처리량·지연을 튜닝할 때
  • Multi-LoRA 어댑터를 하나의 base 모델에 올릴 때
  • FP8 KV Cache, Chunked Prefill 등 v0.18.2 신기능을 활성화할 때

When NOT to Use

  • 분산 추론(Disaggregated Prefill/Decode)이 필요한 대규모 트래픽 → llm-d 스킬 사용 권장
  • 사전 학습(training) 파이프라인 → SageMaker / KubeRay / SkyPilot 영역
  • MoE 전용 최적화가 필요한 경우 → Expert Parallel 전용 설정 참조

Preconditions

  • EKS 클러스터에 GPU NodePool, GPU Operator, DCGM 이 정상 동작 (agentic-eks-bootstrap 완료)
  • Hugging Face 액세스 토큰(Secrets Manager 저장) 또는 S3 모델 가중치 복사 완료
  • Prometheus + OTel Collector 가 배포되어 있음

Procedure

Step 1. GPU 메모리 사이징

필요 GPU 메모리 = 모델 가중치 + 비torch 메모리
                  + PyTorch 활성화 피크 메모리
                  + (배치당 KV 캐시 × 배치 크기)
  • Llama 3.3 70B FP16 → 가중치 140GB + KV 캐시 ~40GB + 오버헤드 20GB ≈ 200GB
  • 단일 H100 80GB 불가 → TP=4 (GPU당 50GB)
  • INT4 양자화 시 35GB → 단일 A100 80GB 또는 H100 가능

Step 2. 병렬화 전략 선정

  • TP (Tensor Parallel): 동일 노드 내 GPU 간 layer 파라미터 분산
  • PP (Pipeline Parallel): 레이어 그룹을 노드 간 분산 (멀티 노드)
  • EP (Expert Parallel): MoE 모델 전용
  • DP (Data Parallel): replica 확장, HPA 와 결합

Step 3. Helm values 작성

model:
  name: meta-llama/Llama-3.3-70B-Instruct
  dtype: bfloat16
vllm:
  image: vllm/vllm-openai:v0.18.2
  extraArgs:
    - --tensor-parallel-size=4
    - --gpu-memory-utilization=0.92
    - --max-model-len=32768
    - --enable-chunked-prefill
    - --enable-prefix-caching
    - --kv-cache-dtype=fp8
    - --enable-lora
    - --max-loras=8
    - --otlp-traces-endpoint=http://otel-collector.observability.svc:4317
resources:
  limits:
    nvidia.com/gpu: 4
nodeSelector:
  karpenter.sh/nodepool: gpu-inference-pool
tolerations:
  - key: nvidia.com/gpu
    operator: Exists

Step 4. 배포 및 검증

helm upgrade --install vllm-llama3 vllm-project/vllm \
  --namespace inference --create-namespace \
  -f values.yaml --version 0.18.2

kubectl -n inference rollout status deployment/vllm-llama3 --timeout=10m
kubectl -n inference port-forward svc/vllm-llama3 8000:8000 &
curl -s http://localhost:8000/v1/models | jq
curl -s http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"meta-llama/Llama-3.3-70B-Instruct","messages":[{"role":"user","content":"hello"}]}'

Step 5. HPA + PodMonitor

  • HPA: vllm:num_requests_running 또는 DCGM_FI_DEV_GPU_UTIL 기반
  • PodMonitor: /metrics 엔드포인트 (prometheus_client)
  • Langfuse 로 OTel trace 전송되는지 확인

Step 6. 벤치마크

python benchmarks/benchmark_serving.py \
  --backend vllm \
  --model meta-llama/Llama-3.3-70B-Instruct \
  --num-prompts 200 \
  --request-rate 10
  • p50/p95/p99 latency, throughput (tokens/s), GPU util 캡처

Good Examples

  • Llama 3.3 70B: TP=4, FP8 KV Cache, Chunked Prefill on → 30% throughput 개선
  • Qwen3 32B: TP=2, Prefix Caching 활성 → code 벤치마크 400%+ 개선
  • Multi-LoRA 16개: 단일 base + 어댑터 hot swap, 고객별 tenant 분리

Bad Examples (금지)

  • gpu-memory-utilization=0.98 — OOM 위험, 0.92 이하 권장
  • --max-model-len 임의 축소 없이 긴 프롬프트 허용 → KV 캐시 폭주
  • TP 설정이 GPU 개수와 불일치 (예: TP=4 인데 request 3 GPU) — 부팅 실패
  • vLLM v0.6.x 구버전 사용 — Chunked Prefill, FP8 KV 미지원

References

Related skills

FAQ

What GPU setup does a 70B model need?

The skill sizes Llama 3.3 70B FP16 at roughly 200GB, so it recommends TP=4 across H100s since a single 80GB GPU is insufficient.

When should I not use this?

For disaggregated prefill/decode at large scale it points to the llm-d skill, and training pipelines belong to SageMaker/KubeRay/SkyPilot.

Cloud & Infrastructureinfradeploymonitoring

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.