In dieser Anleitung wird gezeigt, wie Sie ein DeepSeek-V3.2-Speciale-Sprachmodell mit dem vLLM-Framework bereitstellen und ausführen. Sie stellen dieses Modell in einem GKE Autopilot-Cluster (Google Kubernetes Engine) bereit und nutzen eine einzelne virtuelle Maschine vom Typ A4 mit acht B200-GPUs.
In dieser Anleitung wird davon ausgegangen, dass Sie das Sprachmodell DeepSeek-V3.2-Speciale bereits geprüft haben und seine Funktionen den Anforderungen Ihres Anwendungsfalls entsprechen.
Diese Anleitung richtet sich an Entwickler von maschinellem Lernen (ML), Plattformadministratoren und ‑operatoren sowie an Daten- und KI-Spezialisten, die daran interessiert sind, Kubernetes-Container-Orchestrierungsfunktionen zur Verarbeitung von Inferenz-Arbeitslasten zu nutzen.
Ziele
Über Hugging Face auf DeepSeek-V3.2-Speciale zugreifen
Bereiten Sie Ihre Umgebung vor.
Erstellen Sie einen GKE-Cluster im Autopilot-Modus.
Erstellen Sie ein Kubernetes-Secret für Hugging Face-Anmeldedaten.
Stellen Sie einen vLLM-Container in Ihrem GKE-Cluster bereit.
Mit DeepSeek-V3.2-Speciale über curl interagieren
bereinigen.
Kosten
In dieser Anleitung werden kostenpflichtige Komponenten von Google Cloud verwendet, darunter:
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Hinweis
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
Erstellen Sie ein Google Cloud Projekt oder wählen Sie eines aus.
Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind
- Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
-
Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“ (
roles/resourcemanager.projectCreator), die die Berechtigungresourcemanager.projects.createenthält. Weitere Informationen zum Zuweisen von Rollen
-
So erstellen Sie ein Google Cloud -Projekt:
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch einen Namen für das Google Cloud -Projekt, das Sie erstellen. -
Wählen Sie das von Ihnen erstellte Google Cloud Projekt aus:
gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch den Namen Ihres Projekts in Google Cloud .
-
Prüfen Sie, ob für Ihr Google Cloud Projekt die Abrechnung aktiviert ist.
Aktivieren Sie die erforderliche API:
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (
roles/serviceusage.serviceUsageAdmin), die die Berechtigungserviceusage.services.enableenthält. Weitere Informationen zum Zuweisen von Rollengcloud services enable container.googleapis.com
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
Erstellen Sie ein Google Cloud Projekt oder wählen Sie eines aus.
Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind
- Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
-
Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“ (
roles/resourcemanager.projectCreator), die die Berechtigungresourcemanager.projects.createenthält. Weitere Informationen zum Zuweisen von Rollen
-
So erstellen Sie ein Google Cloud -Projekt:
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch einen Namen für das Google Cloud -Projekt, das Sie erstellen. -
Wählen Sie das von Ihnen erstellte Google Cloud Projekt aus:
gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch den Namen Ihres Projekts in Google Cloud .
-
Prüfen Sie, ob für Ihr Google Cloud Projekt die Abrechnung aktiviert ist.
Aktivieren Sie die erforderliche API:
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (
roles/serviceusage.serviceUsageAdmin), die die Berechtigungserviceusage.services.enableenthält. Weitere Informationen zum Zuweisen von Rollengcloud services enable container.googleapis.com
-
Weisen Sie Ihrem Nutzerkonto Rollen zu. Führen Sie den folgenden Befehl für jede der folgenden IAM-Rollen einmal aus:
roles/container.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Projekt-ID.USER_IDENTIFIER: Die Kennung für Ihr Nutzerkonto . Beispiel:myemail@example.comROLE: Die IAM-Rolle, die Sie Ihrem Nutzerkonto zuweisen.
- Melden Sie sich in einem Hugging Face-Konto an oder erstellen Sie ein Konto.
Über Hugging Face auf DeepSeek-V3.2-Speciale zugreifen
So greifen Sie über Hugging Face auf das Modell DeepSeek-V3.2-Speciale zu:
- Melden Sie sich bei Hugging Face an.
- Erstellen Sie ein Hugging Face-Zugriffstoken für
read. - Kopieren und speichern Sie den Wert des
read-Zugriffstokens. Sie benötigen sie später in dieser Anleitung.
Umgebung vorbereiten
Legen Sie die folgenden Variablen fest, um die Umgebung vorzubereiten:
gcloud config set project PROJECT_ID
gcloud config set billing/quota_project PROJECT_ID
export PROJECT_ID=$(gcloud config get project)
export RESERVATION_URL=RESERVATION_URL
export REGION=REGION
export CLUSTER_NAME=CLUSTER_NAME
export HUGGING_FACE_TOKEN=HUGGING_FACE_TOKEN
export NETWORK=NETWORK_NAME
export SUBNETWORK=SUBNETWORK_NAME
Ersetzen Sie Folgendes:
PROJECT_ID: die ID des Google Cloud Projekts, in dem Sie den GKE-Cluster erstellen möchten.RESERVATION_URL: Die URL der Reservierung, die Sie zum Erstellen Ihres GKE-Cluster verwenden möchten. Geben Sie je nach Projekt, in dem die Reservierung vorhanden ist, einen der folgenden Werte an:Die Reservierung ist in Ihrem Projekt vorhanden:
RESERVATION_NAMEDie Reservierung ist in einem anderen Projekt vorhanden und Ihr Projekt kann sie nutzen:
projects/RESERVATION_PROJECT_ID/reservations/RESERVATION_NAME
REGION: die Region, in der Sie Ihren GKE-Cluster erstellen möchten. Sie können den Cluster nur in der Region erstellen, in der Ihre Reservierung vorhanden ist.CLUSTER_NAME: Der Name des zu erstellenden GKE-Cluster.HUGGING_FACE_TOKEN: Das Hugging Face-Zugriffstoken, das Sie im vorherigen Abschnitt erstellt haben.NETWORK_NAME: Das Netzwerk, das vom GKE-Cluster verwendet wird. Geben Sie einen der folgenden Werte an:Wenn Sie ein benutzerdefiniertes Netzwerk erstellt haben, geben Sie den Namen Ihres Netzwerks an.
Geben Sie andernfalls
defaultan.
SUBNETWORK_NAME: Das Subnetzwerk, das vom GKE-Cluster verwendet wird. Geben Sie einen der folgenden Werte an:Wenn Sie ein benutzerdefiniertes Subnetzwerk erstellt haben, geben Sie den Namen des Subnetzwerks an. Sie können nur ein Subnetzwerk angeben, das sich in derselben Region wie die Reservierung befindet.
Geben Sie andernfalls
defaultan.
Google Cloud -Ressourcen erstellen und konfigurieren
Folgen Sie der Anleitung in diesem Abschnitt, um die erforderlichen Ressourcen zu erstellen.
GKE-Cluster im Autopilot-Modus erstellen
Führen Sie den folgenden Befehl aus, um einen GKE-Cluster im Autopilot-Modus zu erstellen:
gcloud container clusters create-auto $CLUSTER_NAME \
--project=$PROJECT_ID \
--region=$REGION \
--release-channel=rapid \
--network=$NETWORK \
--subnetwork=$SUBNETWORK
Das Erstellen des GKE-Cluster kann einige Zeit dauern. Rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster auf, um zu prüfen, ob Google Cloud den Cluster erstellt hat.
Kubernetes-Secret zum Speichern Ihrer Hugging Face-Anmeldedaten erstellen
So erstellen Sie ein Kubernetes-Secret zum Speichern Ihrer Hugging Face-Anmeldedaten:
Konfigurieren Sie
kubectlfür die Kommunikation mit Ihrem GKE-Cluster:gcloud container clusters get-credentials $CLUSTER_NAME \ --location=$REGIONErstellen Sie ein Kubernetes-Secret, das das Hugging Face-Token
read accessenthält, das Sie in einem vorherigen Schritt erstellt haben:kubectl create secret generic hf-secret \ --from-literal=hf_token=${HUGGING_FACE_TOKEN} \ --dry-run=client -o yaml | kubectl apply -f -
vLLM-Container in Ihrem GKE-Cluster bereitstellen
So stellen Sie den vLLM-Container für das deepseek-ai/DeepSeek-V3.2-Speciale-Modell bereit:
Erstellen Sie eine
vllm-deepseek3-2.yaml-Datei mit der von Ihnen ausgewählten vLLM-Bereitstellung:apiVersion: apps/v1 kind: Deployment metadata: name: deepseek3-2-deploy spec: replicas: 1 selector: matchLabels: app: deepseek template: metadata: labels: app: deepseek ai.gke.io/model: deepseek-v3-2 ai.gke.io/inference-server: vllm examples.ai.gke.io/source: user-guide spec: containers: - name: vllm-inference image: us-docker.pkg.dev/vertex-ai/vertex-vision-model-garden-dockers/pytorch-vllm-serve:model-garden.pytorch-vllm-serve-release_20251126.00_p0 resources: requests: cpu: "10" memory: "1000Gi" ephemeral-storage: "1Ti" nvidia.com/gpu: "8" limits: cpu: "10" memory: "1000Gi" ephemeral-storage: "1Ti" nvidia.com/gpu: "8" command: ["python3", "-m", "vllm.entrypoints.openai.api_server"] args: - --model=$(MODEL_ID) - --tensor-parallel-size=8 - --host=0.0.0.0 - --port=8000 - --max-model-len=131072 - --max-num-seqs=16 - --enable-chunked-prefill - --gpu-memory-utilization=0.90 - --enforce-eager - --trust-remote-code env: - name: MODEL_ID value: deepseek-ai/DeepSeek-V3.2-Speciale - name: HUGGING_FACE_HUB_TOKEN valueFrom: secretKeyRef: name: hf-secret key: hf_token volumeMounts: - mountPath: /dev/shm name: dshm livenessProbe: httpGet: path: /health port: 8000 initialDelaySeconds: 1800 periodSeconds: 10 readinessProbe: httpGet: path: /health port: 8000 initialDelaySeconds: 1800 periodSeconds: 5 volumes: - name: dshm emptyDir: medium: Memory nodeSelector: cloud.google.com/gke-accelerator: nvidia-b200 cloud.google.com/reservation-name: $RESERVATION_URL cloud.google.com/reservation-affinity: "specific" cloud.google.com/gke-gpu-driver-version: latest --- apiVersion: v1 kind: Service metadata: name: deepseek-service spec: selector: app: deepseek type: ClusterIP ports: - protocol: TCP port: 8000 targetPort: 8000 --- apiVersion: monitoring.googleapis.com/v1 kind: PodMonitoring metadata: name: deepseek-monitoring spec: selector: matchLabels: app: deepseek endpoints: - port: 8000 path: /metrics interval: 30sWenden Sie die Datei
vllm-deepseek3-2.yamlauf Ihren GKE-Cluster an:envsubst < vllm-deepseek3-2.yaml | kubectl apply -f -Während des Bereitstellungsprozesses muss der Container das
deepseek-ai/DeepSeek-V3.2-Speciale-Modell von Hugging Face herunterladen. Aus diesem Grund kann die Bereitstellung des Containers bis zu 30 Minuten dauern.Führen Sie den folgenden Befehl aus, um den Abschlussstatus aufzurufen:
kubectl wait \ --for=condition=Available \ --timeout=1800s deployment/deepseek3-2-deployMit dem Flag
--timeout=1800skann der Befehl die Bereitstellung bis zu 30 Minuten lang überwachen.
Mithilfe von curl mit DeepSeek-V3.2-Speciale interagieren
So prüfen Sie das bereitgestellte DeepSeek-V3.2-Speciale-Modell:
Richten Sie die Portweiterleitung zu DeepSeek-V3.2-Speciale ein:
kubectl port-forward service/deepseek-service 8000:8000Öffnen Sie ein neues Terminalfenster. Anschließend können Sie mit Ihrem Modell chatten, indem Sie
curlverwenden:time curl http://127.0.0.1:8000/v1/completions \ -X POST \ -H "Content-Type: application/json" \ -d '{ "model": "deepseek-ai/DeepSeek-V3.2-Speciale", "prompt": "<|im_start|>user\nExplain the ReAct (Reasoning + Acting) pattern in Agentic AI. Provide a concise Python pseudocode example showing the loop. Keep the explanation under 300 words.<|im_end|>\n<|im_start|>assistant\n", "max_tokens": 1024, "temperature": 0.7, "stream": false, "stop": ["<|im_end|>"] }'Die Ausgabe sieht in etwa so aus:
{ "id": "cmpl-be345f0499e949ed8500e533be2cfe3f", "object": "text_completion", "created": 1764803171, "model": "deepseek-ai/DeepSeek-V3.2-Speciale", "choices": [ { "index": 0, "text": "The ReAct pattern integrates reasoning (thoughts) and actions (tool calls) within an agentic loop... [TRUNCATED FOR BREVITY] ...ReAct improves transparency and reliability by explicit reasoning steps.", "logprobs": null, "finish_reason": "stop", "stop_reason": "<|im_end|>", "token_ids": null, "prompt_logprobs": null, "prompt_token_ids": null } ], "service_tier": null, "system_fingerprint": null, "usage": { "prompt_tokens": 57, "total_tokens": 317, "completion_tokens": 260, "prompt_tokens_details": null }, "kv_transfer_params": null }
Modellleistung beobachten
Um die Leistung Ihres Modells zu beobachten, können Sie die vLLM-Dashboard-Integration in Cloud Monitoring verwenden. In diesem Dashboard können Sie wichtige Leistungsmesswerte wie den Token-Durchsatz, die Anfrage-Latenz und die Fehlerraten ansehen.
Informationen zum Erfassen von Messwerten aus Ihrem Modell mit Google Cloud Managed Service for Prometheus finden Sie in der Cloud Monitoring-Dokumentation unter vLLM-Beobachtbarkeitsleitfaden.
Bereinigen
Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.
Projekt löschen
Google Cloud -Projekt löschen:
gcloud projects delete PROJECT_ID
Ressourcen löschen
Führen Sie den folgenden Befehl aus, um das Deployment und den Dienst in der Datei
vllm-deepseek3-2.yamlund das Kubernetes-Secret aus dem GKE-Cluster zu löschen:kubectl delete -f vllm-deepseek3-2.yaml kubectl delete secret hf-secretFühren Sie den folgenden Befehl aus, um Ihren GKE-Cluster zu löschen:
gcloud container clusters delete $CLUSTER_NAME \ --region=$REGION