Skip to content

Commit 3ef33a6

Browse files
committed
Merge remote-tracking branch 'upstream/main'
2 parents d8c72dc + 90b4795 commit 3ef33a6

16 files changed

Lines changed: 577 additions & 627 deletions

File tree

docs/guides/deploy-k8s.md

Lines changed: 234 additions & 272 deletions
Large diffs are not rendered by default.

examples/deploy-demo/deploy-k8s.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ One-click deployment script for batch-gateway on Kubernetes. Supports `install`,
66

77
**Prerequisites**:
88

9-
- **Tools**: `kubectl`, `helm`, `helmfile`, `git`, `curl`, `jq`, `yq`, and the [`helm-diff`](https://github.com/databus23/helm-diff) plugin.
9+
- **Tools**: `kubectl`, `helm`, `git`, `curl`, `jq`, `yq`.
1010
- **Cluster access**: You must be logged in to the target cluster. Use `kubectl config current-context` (or `oc whoami` on OpenShift) to verify.
1111

1212
## Usage
@@ -23,7 +23,7 @@ bash examples/deploy-demo/deploy-k8s.sh install
2323
|-----------|---------|
2424
| cert-manager | TLS certificate management |
2525
| Istio | Service mesh + ingress gateway (HTTPS:443) |
26-
| llm-d stack | GAIE InferencePool + vllm-sim (single model, default: random) |
26+
| llm-d stack | llm-d Router (gateway mode) + vllm-sim (single model, default: random) |
2727
| Kuadrant | Auth + rate limiting (installed via Helm) |
2828
| Redis | Exchange backend (Bitnami Helm chart, configurable via `BATCH_EXCHANGE_CLIENT_TYPE`) |
2929
| PostgreSQL | Batch metadata store (Bitnami Helm chart) |
@@ -140,13 +140,13 @@ Use that only on **ephemeral or dedicated** demo clusters. See [issue #309](http
140140
| `GATEWAY_LOCAL_PORT` | `8080` | Port-forward local port |
141141
| `BATCH_INTERNAL_GATEWAY_NAME` | `batch-internal-gateway` | Internal Gateway resource name |
142142
| `BATCH_INTERNAL_GATEWAY_NAMESPACE` | `${GATEWAY_NAMESPACE}` | Internal Gateway namespace |
143-
| `LLMD_VERSION` | `v0.7.0` | llm-d git ref to install |
143+
| `LLMD_VERSION` | `v0.8.1` | llm-d git ref to install |
144144
| `LLMD_RELEASE_POSTFIX` | `llmd` | Helm release postfix |
145145
| `MODEL_NAME` | `random` | Model name for routing |
146-
| `CERT_MANAGER_VERSION` | `v1.15.3` | cert-manager Helm chart version |
146+
| `CERT_MANAGER_VERSION` | `v1.20.3` | cert-manager Helm chart version |
147147
| `KUADRANT_VERSION` | `1.3.1` | Kuadrant Helm chart version |
148-
| `GAIE_CHART_VERSION` | `v1.5.0` | InferencePool (GAIE) Helm chart version |
149-
| `MODELSERVICE_CHART_VERSION` | `v0.4.12` | ModelService (vllm-sim) Helm chart version |
148+
| `ROUTER_CHART_VERSION` | (from llm-d env.sh) | llm-d Router chart/CRD version (auto-detected from LLMD_VERSION) |
149+
| `ISTIO_VERSION` | `1.29.2` | Istio Helm chart version |
150150
| `ENABLE_FLOW_CONTROL` | `true` | Enable GIE priority-based flow control |
151151
| `BATCH_FLOW_CONTROL_OBJECTIVE` | `batch-sheddable` | InferenceObjective name for batch requests (priority -1) |
152152
| `UNINSTALL_ALL` | `0` | Set to `1` to remove Kuadrant, Istio, cert-manager, CRDs (ephemeral clusters only) |

examples/deploy-demo/deploy-k8s.sh

Lines changed: 103 additions & 93 deletions
Large diffs are not rendered by default.

examples/deploy-demo/llmd-sim/gaie-sim-values.yaml

Lines changed: 0 additions & 61 deletions
This file was deleted.
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: llmd-sim-decode
5+
labels:
6+
llm-d.ai/role: decode
7+
llm-d.ai/inference-serving: "true"
8+
llm-d.ai/guide: "simulated-accelerators"
9+
llm-d.ai/accelerator-variant: "cpu"
10+
llm-d.ai/model: "random"
11+
spec:
12+
replicas: 3
13+
selector:
14+
matchLabels:
15+
llm-d.ai/role: decode
16+
llm-d.ai/inference-serving: "true"
17+
llm-d.ai/guide: "simulated-accelerators"
18+
llm-d.ai/accelerator-variant: "cpu"
19+
llm-d.ai/model: "random"
20+
template:
21+
metadata:
22+
labels:
23+
llm-d.ai/role: decode
24+
llm-d.ai/inference-serving: "true"
25+
llm-d.ai/guide: "simulated-accelerators"
26+
llm-d.ai/accelerator-variant: "cpu"
27+
llm-d.ai/model: "random"
28+
spec:
29+
serviceAccountName: llmd-sim-sa
30+
containers:
31+
- name: modelserver
32+
image: ghcr.io/llm-d/llm-d-inference-sim:v0.9.2
33+
args:
34+
- "--model"
35+
- "random"
36+
- "--served-model-name"
37+
- "random"
38+
ports:
39+
- name: modelserver
40+
containerPort: 8000
41+
protocol: TCP
42+
livenessProbe:
43+
httpGet:
44+
path: /health
45+
port: modelserver
46+
periodSeconds: 10
47+
timeoutSeconds: 5
48+
failureThreshold: 3
49+
readinessProbe:
50+
httpGet:
51+
path: /v1/models
52+
port: modelserver
53+
periodSeconds: 5
54+
timeoutSeconds: 2
55+
failureThreshold: 3
56+
startupProbe:
57+
httpGet:
58+
path: /v1/models
59+
port: modelserver
60+
initialDelaySeconds: 5
61+
periodSeconds: 10
62+
timeoutSeconds: 5
63+
failureThreshold: 30
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
apiVersion: kustomize.config.k8s.io/v1beta1
2+
kind: Kustomization
3+
resources:
4+
- decode-deployment.yaml
5+
- sa.yaml
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
apiVersion: v1
2+
kind: ServiceAccount
3+
metadata:
4+
name: llmd-sim-sa
5+
automountServiceAccountToken: false

examples/deploy-demo/llmd-sim/ms-sim-values.yaml

Lines changed: 0 additions & 118 deletions
This file was deleted.

examples/deploy-demo/llmd-sim/overlays/flow-control.yaml

Lines changed: 0 additions & 48 deletions
This file was deleted.
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Flow control overlay for llm-d Router chart.
2+
# Use with: helm install ... -f sim-values.yaml -f overlays/flow-control.yaml
3+
#
4+
# Enables flow control with two priority bands:
5+
# - Interactive (priority 100): low-latency, round-robin fairness, FCFS ordering
6+
# - Batch (priority -1): sheddable, throughput-optimized, SLO-deadline ordering
7+
#
8+
# See docs/guides/flow-control-setup.md for details.
9+
10+
router:
11+
epp:
12+
pluginsConfigFile: "flow-control-plugins.yaml"
13+
pluginsCustomConfig:
14+
flow-control-plugins.yaml: |
15+
apiVersion: llm-d.ai/v1alpha1
16+
kind: EndpointPickerConfig
17+
featureGates:
18+
- flowControl
19+
plugins:
20+
- type: round-robin-fairness-policy
21+
- type: global-strict-fairness-policy
22+
- type: slo-deadline-ordering-policy
23+
- type: utilization-detector
24+
parameters:
25+
queueDepthThreshold: 5
26+
kvCacheUtilThreshold: 0.8
27+
flowControl:
28+
maxBytes: 4294967296
29+
defaultRequestTTL: 30s
30+
priorityBands:
31+
- priority: 100
32+
maxBytes: 1073741824
33+
fairnessPolicyRef: round-robin-fairness-policy
34+
orderingPolicyRef: fcfs-ordering-policy
35+
- priority: -1
36+
maxBytes: 3221225472
37+
fairnessPolicyRef: global-strict-fairness-policy
38+
orderingPolicyRef: slo-deadline-ordering-policy
39+
defaultPriorityBand:
40+
maxBytes: 536870912
41+
fairnessPolicyRef: global-strict-fairness-policy
42+
orderingPolicyRef: fcfs-ordering-policy
43+
saturationDetector:
44+
pluginRef: utilization-detector

0 commit comments

Comments
 (0)