Welcome to the Meetrix vLLM developer guide for Google Cloud Platform! vLLM is a high-throughput inference and serving engine for large language models. It uses PagedAttention and continuous batching to pack the KV cache tightly, which lets it serve many concurrent requests with low latency, and it exposes an OpenAI-compatible HTTP API so existing OpenAI SDKs and tools work against your own self-hosted model.
With the Meetrix pre-configured GCP image, you can deploy a production-ready vLLM instance on a GPU virtual machine in your own project in minutes. This guide walks you through finding the product on GCP Marketplace, configuring the deployment, choosing a model, pointing DNS and issuing SSL, and calling the API. If you run on AWS instead, the same stack is covered in our vLLM on AWS developer guide.
Prerequisites
Before you begin, make sure you have the following:
- Basic Google Cloud Platform knowledge, including Compute Engine.
- An active Google account with a GCP project and billing enabled.
- Enough NVIDIA GPU quota in your target zone for the accelerator you plan to use (new projects often start at zero).
- Optionally, a domain name if you want automatic SSL.
- Optionally, a Hugging Face access token if the model you want to serve is gated or private.
What You Get
The image ships a fully wired vLLM stack so you do not have to assemble the GPU toolchain yourself:
- vLLM serving an OpenAI-compatible API, running as a container on Ubuntu 26.04 LTS.
- NVIDIA drivers, CUDA, and the NVIDIA Container Toolkit pre-installed and matched to the attached GPU.
- An nginx reverse proxy for HTTP and HTTPS, tuned for streaming token responses.
- Automatic SSL via Let's Encrypt when a domain is supplied and its DNS points at the VM.
- Interactive API documentation at
/docs(Swagger UI) and/redoc(ReDoc). - A pre-hardened base image with a firewall, unattended upgrades, and the Google Cloud Ops Agent.
Launch the Product
Step 1: Find the Product
- Log in to your Google account.
- Go directly to the product page: vLLM Inference Server: High-Throughput Self-Hosted LLM Serving on GCP Marketplace
- You can also browse all Meetrix products at the Meetrix Solutions Page.
Step 2: Launch the Product
- Select your GCP project from the project selector at the top.
- Click the Launch button.
- Review the terms and agreements, tick the acknowledgement checkbox, and click AGREE.
Free Trial
This product includes a 5-day free trial with up to USD 50.00 in licence fee credits. To activate it, tick I accept the solution trial Terms and Conditions before proceeding.
Trial note
Step 3: Configure the Deployment
You will see the deployment configuration form. Fill in the fields across the following sections.
General
- Deployment name - A unique name for this deployment (a default is pre-filled).
- Deployment Service Account - Select an existing service account that has the
roles/config.agent,roles/compute.admin, androles/iam.serviceAccountUserroles, or let GCP create a new one for you. - Zone - Select a zone that has the GPU you want available (for example
us-central1-a).
Machine Type
vLLM requires an NVIDIA GPU. In the Machine type section, choose a GPU-accelerated machine type rather than a plain CPU type:
- g2-standard-8 - one NVIDIA L4 with 24 GB of GPU memory. A solid default for 7B to 8B models such as
Qwen/Qwen2.5-7B-Instruct. - Larger L4 or a2 (A100) types - for bigger models, longer context windows, or higher concurrency.
GCP shows an estimated monthly cost, made up of the Meetrix licence fee and the underlying infrastructure fee, based on your selected machine type and disk size before you deploy. If you are still deciding which open model to serve, our roundup of the best open source LLMs to self-host covers the trade-offs between the popular families.
Step 4: Configure Networking
- Network and Subnetwork - Leave as
defaultunless you have a custom VPC. - External IP - Leave as
Ephemeral. SelectNoneonly if you do not need public internet access. - Allow SSH (TCP port 22) from the Internet - Enabled by default. Restrict the Source IP ranges for SSH traffic field to your own IP range if you want to limit SSH access.
Step 5: Application Settings
Scroll down to the Application Settings section and provide:
- Domain name - The domain for your vLLM API (for example
vllm.yourdomain.com). Point your DNS A record to the VM IP before or shortly after deploying so SSL can issue. Leave the default if you plan to use the IP address directly. - Admin email - The address used when requesting the Let's Encrypt SSL certificate.
- Model name - The Hugging Face repository ID of the model to serve, for example
Qwen/Qwen2.5-7B-Instruct. Pick a model that fits in your machine type's GPU memory. - Hugging Face token - An access token. Required only for gated or private models; leave it blank if your model is public.
Tick I accept the solution trial Terms and Conditions, then click Deploy and wait a few minutes for the deployment to complete.
Point DNS to Your vLLM Server
Skip this section if you kept the default domain and plan to use the external IP directly.
Step 1: Get the External IP
- Once deployment is complete, open the VM instance from the deployment details.
- Copy the External IP from the Network interfaces section.
Step 2: Create a DNS A Record
- Go to your DNS provider.
- Add an A record pointing your vLLM domain (for example
vllm.yourdomain.com) to the copied external IP. - Wait for DNS propagation before proceeding (typically a few minutes to 1 hour).
DNS must propagate first
Access the vLLM API
Once DNS has propagated and SSL has issued, open https://your-domain/docs to see the interactive Swagger UI. The server exposes the OpenAI-compatible endpoints such as /v1/models, /v1/chat/completions, and /v1/completions, along with helper routes like /health and /metrics.
502 Bad Gateway?
Call the API
Send a chat completion request with any HTTP client. Replace the host with your domain or external IP and the model with the one you deployed:
curl https://<your-domain>/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/Qwen2.5-7B-Instruct",
"messages": [{"role": "user", "content": "Say hello in one sentence."}]
}' Because the API is OpenAI-compatible, you can also point the official OpenAI SDKs at it by setting the base URL to https://<your-domain>/v1. That means tools built for the OpenAI API work unchanged: you can, for example, point a self-hosted Hermes Agent at this endpoint, or use it as the generation backend behind a retrieval pipeline built on a self-hosted Milvus vector database.
Secure the endpoint
Generate an SSL Certificate Manually
vLLM tries to issue SSL automatically on first boot for the domain you passed as the Domain name. If that fails, for example because DNS had not propagated yet, you can generate it manually.
Step 1: SSH into the Server
- Go to the VM instance page in the GCP console.
- Click SSH to open a browser-based terminal and authorize access.
Step 2: Run the Certificate Script
The image includes a pre-configured certificate script. Run it with:
sudo bash /root/certificate_generate_standalone.sh This script runs certbot using the domain name and admin email you provided during deployment.
Check Server Logs
Open an SSH session to the instance from the GCP console, then inspect the vLLM container. This is where you can watch the model download and the GPU worker come online:
sudo docker ps
sudo docker logs -f <container-id-prefix> To confirm the GPU is visible to the host and see memory use, run:
nvidia-smi Manage the Deployment
Stop the VM
To stop the VM without deleting it, go to Compute Engine → VM Instances in the GCP console, select your instance, and click Stop. Stopping the VM halts GPU billing while keeping the boot disk. You can restart it later with your data intact.
Delete the Deployment
To fully remove the deployment and stop all billing:
- Go to Solution deployments in the GCP console.
- Find your vLLM deployment.
- Click Delete to remove the VM, its disk, and the networking resources the deployment created.
Note the model name and any configuration changes first so you can reapply them on a fresh deployment.
Upgrades
When a new image version is available in the GCP Marketplace, delete the previous deployment and relaunch with the new version. Record the model name and any service configuration changes beforehand so you can reapply them.
Troubleshoot
GPU Quota Errors
GCP enforces per-region GPU quotas, and new projects often have a limit of zero for accelerators like the NVIDIA L4. If deployment fails with a quota error, request a GPU quota increase for that region in IAM & Admin → Quotas, or choose a region or zone where you already have quota. Google's resource quotas documentation explains the request flow.
Insufficient Capacity Errors
If deployment fails because the GPU type is not available in the selected zone right now, try a different zone or region, or a different accelerator type.
502 Bad Gateway
If the API is temporarily inaccessible, wait 5-15 minutes and retry. On first boot vLLM downloads the model weights and loads them onto the GPU before it starts answering.
Model Fails to Load
If the container logs show an out-of-memory error, the model is too large for the GPU. Choose a smaller model, a quantized build, or a larger machine type. For gated models, confirm the Hugging Face token was set and the account has accepted the model's licence on its Hugging Face model page.
SSL Did Not Issue
Confirm your DNS A record points at the VM's external IP and has propagated, then re-run the certificate script from the "Generate an SSL Certificate Manually" section.
Disk Space
Model weights are large, so a full boot disk can stop vLLM from starting. Check usage:
df -h If the root volume is between 90-100% full, resize the persistent disk in the GCP console, then reboot the VM and restart the service.
Conclusion
The Meetrix vLLM Deployment Guide gets a high-throughput, OpenAI-compatible inference server running on a GPU VM in your own GCP project in minutes. Once it is up, you point any OpenAI SDK or tool at a single endpoint, serve the open model of your choice on your own hardware, and keep your prompts and data inside your project. For the full source and configuration options, see the vLLM GitHub repository and the official vLLM documentation.
Technical Support
If you run into any issues, our support team is here to help. Reach out to us at support@meetrix.io and we will respond within 12 hours.
Frequently Asked Questions
What is vLLM?
vLLM is an open-source inference and serving engine for large language models. It uses PagedAttention and continuous batching to manage the KV cache efficiently, which gives it high throughput and low latency under concurrent load. It also exposes an OpenAI-compatible HTTP API, so tools and SDKs written for the OpenAI API can talk to your self-hosted model without code changes.
What are the prerequisites for running vLLM on GCP?
You need basic Google Cloud knowledge, an active Google account with a GCP project and billing enabled, and enough NVIDIA GPU quota in your target zone for the accelerator you plan to use. A domain name is optional but needed for automatic SSL. A Hugging Face access token is needed only for gated or private models.
Which machine type should I choose?
vLLM needs an NVIDIA GPU, so pick a GPU-accelerated machine type. g2-standard-8 with one NVIDIA L4 (24 GB of GPU memory) is a good default for 7B to 8B models. Move up to a larger L4 machine or an A100-backed a2 type for bigger models or higher concurrency. CPU-only machine types will not work.
How do I change the model that vLLM serves?
The model is set by the Model name field during deployment, using the Hugging Face repository ID, for example Qwen/Qwen2.5-7B-Instruct. To switch models later, update the service configuration on the VM and restart the vLLM container. Make sure the new model fits in the GPU memory of your chosen machine type.
Is the API protected by authentication?
By default the OpenAI-compatible endpoint is reachable by anyone who can hit the VM. Restrict the firewall source ranges, put the endpoint behind a VPN or an authenticating reverse proxy, or run vLLM with an API key. Never expose an unauthenticated endpoint to the public internet.
How do I call the vLLM API from my code?
Point any OpenAI-compatible client at https://your-domain/v1, use the chat completions or completions route, and pass the model name you deployed. The interactive Swagger UI at /docs and the ReDoc page at /redoc list every available route.
How do I renew the SSL certificate?
Certificates issued by Let's Encrypt renew automatically. If you generated one manually with the certificate script, you can re-run it at any time: sudo bash /root/certificate_generate_standalone.sh
How do I get technical support?
Reach out to Meetrix Support at support@meetrix.io for assistance with vLLM deployment issues.
Deploy vLLM on GCP in Minutes
Launch a production-ready, self-hosted vLLM inference server on a GPU VM in your own Google Cloud project with a pre-configured Meetrix image, and serve open models through one OpenAI-compatible endpoint.
Get Started on GCP Marketplace