После установки кластера и при необходимости GPU можно развернуть LLM-модели: namespace, ConfigMap с API-ключом и скриптами запуска, деплойменты по одной модели (разные GPU), сервисы NodePort для доступа снаружи.
Подготовка скриптов запуска
Рекомендуется ConfigMap: kubectl create configmap start-scripts -n llm --from-file=start_server_*.py. Альтернатива — hostPath в /opt/llm/. Проверьте манифест конкретной модели.
Минимальный набор: namespace, Deployment с монтированием ConfigMap для скриптов и API-ключа.
# namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
name: llm
---
# deployment-llm.yaml (фрагмент)
apiVersion: apps/v1
kind: Deployment
metadata:
name: llm-server
namespace: llm
spec:
replicas: 1
selector:
matchLabels:
app: llm-server
template:
metadata:
labels:
app: llm-server
spec:
containers:
- name: llm
image: your-llm-image:tag
volumeMounts:
- name: start-scripts
mountPath: /opt/scripts
readOnly: true
- name: api-key
mountPath: /opt/secrets
readOnly: true
volumes:
- name: start-scripts
configMap:
name: start-scripts
- name: api-key
configMap:
name: llm-api-key
defaultMode: 0440
ConfigMap скриптов: kubectl create configmap start-scripts -n llm --from-file=start_server_*.py. ConfigMap с API-ключом: отдельный манифест или kubectl create configmap llm-api-key -n llm --from-literal=api_key=.... Имя образа и ресурсы (CPU/GPU) подставьте под свою модель.
Развёртывание
| Шаг | Команда / действие |
|---|---|
| 1 | Namespace: kubectl apply -f k8s/llm/namespace.yaml |
| 2 | ConfigMap API-ключа и при необходимости start-scripts |
| 3 | Манифесты моделей по одному или kubectl apply -k k8s/llm/ |
| 4 | Проверка: kubectl get pods -n llm, kubectl get svc -n llm |
Пример манифестов: kubectl apply -f k8s/llm/namespace.yaml, kubectl apply -f k8s/llm/qwen3.5-27b-instruct-awq.yaml и т.д.
Доступ и управление
Модели доступны по NodePort на IP сервера (например, 30080, 30081, 30082, 30083, 30086). Проверка: kubectl get pods -n llm, kubectl get svc -n llm. Остановка/запуск: kubectl scale deployment ... --replicas=0/1; перезапуск: kubectl rollout restart deployment/....
Итого: ConfigMap для скриптов, манифесты по моделям, NodePort для доступа; масштабирование и перезапуск — через kubectl.