mirror of
https://github.com/radixark/miles.git
synced 2026-10-02 07:14:53 +08:00
1674 lines
56 KiB
YAML
1674 lines
56 KiB
YAML
---
|
|
# Source: miles-run/templates/colocate-pairing.yaml
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: "myrun-miles-run-colocate-pairing"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "colocate-pairing"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
---
|
|
# Source: miles-run/templates/platform-rbac.yaml
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: "myrun-miles-run-platform-read"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "platform-read"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
---
|
|
# Source: miles-run/templates/platform-rbac.yaml
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: "myrun-miles-run-platform-read-delete"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "platform-read-delete"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
---
|
|
# Source: miles-run/templates/uninstall-manifest.yaml
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: "myrun-miles-run-uninstall-manifest"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "uninstall"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
data:
|
|
uninstall-job.yaml: |
|
|
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
name: "myrun-miles-run-uninstall"
|
|
namespace: "myns"
|
|
labels:
|
|
miles.radixark.io/uninstall-of: "myrun"
|
|
spec:
|
|
backoffLimit: 2
|
|
ttlSecondsAfterFinished: 3600
|
|
activeDeadlineSeconds: 1020
|
|
template:
|
|
metadata:
|
|
labels:
|
|
miles.radixark.io/uninstall-of: "myrun"
|
|
spec:
|
|
enableServiceLinks: false
|
|
imagePullSecrets:
|
|
- name: "myregistry-pull-secret"
|
|
nodeSelector:
|
|
nvidia.com/gpu.product: NVIDIA-H100-80GB-HBM3
|
|
tolerations:
|
|
- effect: NoSchedule
|
|
key: nvidia.com/gpu
|
|
operator: Exists
|
|
serviceAccountName: "miles-uninstaller"
|
|
restartPolicy: Never
|
|
containers:
|
|
- name: uninstall
|
|
image: "myregistry.example/myteam/miles:v0.9.3-cu128"
|
|
imagePullPolicy: "IfNotPresent"
|
|
command:
|
|
- sh
|
|
- -c
|
|
- "sleep 120 && helm uninstall myrun --namespace myns --ignore-not-found"
|
|
|
|
---
|
|
# Source: miles-run/templates/colocate-pairing.yaml
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: Role
|
|
metadata:
|
|
name: "myrun-miles-run-colocate-pairing"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "colocate-pairing"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
rules:
|
|
- apiGroups: [""]
|
|
resources: ["pods"]
|
|
verbs: ["get", "list", "watch", "patch", "update"]
|
|
---
|
|
# Source: miles-run/templates/platform-rbac.yaml
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: Role
|
|
metadata:
|
|
name: "myrun-miles-run-platform-read"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "platform-read"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
rules:
|
|
- apiGroups: [""]
|
|
resources: ["pods"]
|
|
verbs: ["get", "list", "watch"]
|
|
---
|
|
# Source: miles-run/templates/platform-rbac.yaml
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: Role
|
|
metadata:
|
|
name: "myrun-miles-run-platform-read-delete"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "platform-read-delete"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
rules:
|
|
- apiGroups: [""]
|
|
resources: ["pods"]
|
|
verbs: ["get", "list", "watch", "delete"]
|
|
- apiGroups: ["batch"]
|
|
resources: ["jobs"]
|
|
verbs: ["create"]
|
|
---
|
|
# Source: miles-run/templates/colocate-pairing.yaml
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: RoleBinding
|
|
metadata:
|
|
name: "myrun-miles-run-colocate-pairing"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "colocate-pairing"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: Role
|
|
name: "myrun-miles-run-colocate-pairing"
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: "myrun-miles-run-colocate-pairing"
|
|
namespace: "myns"
|
|
---
|
|
# Source: miles-run/templates/platform-rbac.yaml
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: RoleBinding
|
|
metadata:
|
|
name: "myrun-miles-run-platform-read"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "platform-read"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: Role
|
|
name: "myrun-miles-run-platform-read"
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: "myrun-miles-run-platform-read"
|
|
namespace: "myns"
|
|
---
|
|
# Source: miles-run/templates/platform-rbac.yaml
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: RoleBinding
|
|
metadata:
|
|
name: "myrun-miles-run-platform-read-delete"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "platform-read-delete"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: Role
|
|
name: "myrun-miles-run-platform-read-delete"
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: "myrun-miles-run-platform-read-delete"
|
|
namespace: "myns"
|
|
|
|
---
|
|
# Source: miles-run/templates/orchestrator.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: "myrun-miles-run-orchestrator"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "orchestrator"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
spec:
|
|
clusterIP: None
|
|
selector:
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "orchestrator"
|
|
ports:
|
|
- name: placeholder
|
|
port: 1
|
|
---
|
|
# Source: miles-run/templates/static-workers.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: "myrun-miles-run-rollout-executor"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "rollout-executor"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
spec:
|
|
clusterIP: None
|
|
selector:
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "rollout-executor"
|
|
ports:
|
|
- name: "rpc"
|
|
port: 8000
|
|
---
|
|
# Source: miles-run/templates/static-workers.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: "myrun-miles-run-inference-controller"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "inference-controller"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
spec:
|
|
clusterIP: None
|
|
selector:
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "inference-controller"
|
|
ports:
|
|
- name: "rpc"
|
|
port: 8000
|
|
---
|
|
# Source: miles-run/templates/static-workers.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: "myrun-miles-run-inference-router-0"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "inference-router-0"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
spec:
|
|
clusterIP: None
|
|
selector:
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "inference-router-0"
|
|
ports:
|
|
- name: "primary"
|
|
port: 8000
|
|
- name: "prometheus"
|
|
port: 9000
|
|
---
|
|
# Source: miles-run/templates/static-workers.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: "myrun-miles-run-session-server"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "session-server"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
spec:
|
|
clusterIP: None
|
|
selector:
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "session-server"
|
|
ports:
|
|
- name: "primary"
|
|
port: 8000
|
|
---
|
|
# Source: miles-run/templates/static-workers.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: "myrun-miles-run-trainer-controller-actor"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "trainer-controller-actor"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
spec:
|
|
clusterIP: None
|
|
selector:
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "trainer-controller-actor"
|
|
ports:
|
|
- name: "rpc"
|
|
port: 8000
|
|
---
|
|
# Source: miles-run/templates/colocate-pairing.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: "myrun-miles-run-colocate-pairing"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "colocate-pairing"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
spec:
|
|
replicas: 1
|
|
strategy:
|
|
type: Recreate
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "colocate-pairing"
|
|
template:
|
|
metadata:
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "colocate-pairing"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
spec:
|
|
serviceAccountName: "myrun-miles-run-colocate-pairing"
|
|
automountServiceAccountToken: true
|
|
enableServiceLinks: false
|
|
imagePullSecrets:
|
|
- name: "myregistry-pull-secret"
|
|
nodeSelector:
|
|
nvidia.com/gpu.product: NVIDIA-H100-80GB-HBM3
|
|
tolerations:
|
|
- effect: NoSchedule
|
|
key: nvidia.com/gpu
|
|
operator: Exists
|
|
containers:
|
|
- name: pairing
|
|
image: "myregistry.example/myteam/miles:v0.9.3-cu128"
|
|
imagePullPolicy: "IfNotPresent"
|
|
workingDir: "/root/miles"
|
|
volumeMounts:
|
|
- name: "cluster-storage"
|
|
mountPath: "/cluster-storage"
|
|
- name: "cluster-storage"
|
|
mountPath: "/root/miles"
|
|
subPath: "myuser/miles"
|
|
- name: "cluster-storage"
|
|
mountPath: "/root/Megatron-LM"
|
|
subPath: "myuser/Megatron-LM"
|
|
- name: "models"
|
|
mountPath: "/models"
|
|
readOnly: true
|
|
- name: "scratch"
|
|
mountPath: "/scratch"
|
|
command:
|
|
- python
|
|
- -m
|
|
- miles.utils.external_utils.colocate_pairing
|
|
- --config
|
|
- "{\"inference_pools\":[{\"layout\":{\"gpu_offset\":0,\"num_gpus_per_inference_pod\":8,\"num_gpus_per_node\":8,\"num_inference_cells\":1,\"num_pods_per_inference_cell\":2,\"num_pods_per_trainer_cell\":4,\"num_trainer_cells\":1},\"pool_id\":\"inference-engine-all-0-0\"},{\"layout\":{\"gpu_offset\":16,\"num_gpus_per_inference_pod\":8,\"num_gpus_per_node\":8,\"num_inference_cells\":2,\"num_pods_per_inference_cell\":1,\"num_pods_per_trainer_cell\":4,\"num_trainer_cells\":1},\"pool_id\":\"inference-engine-all-0-1\"}],\"namespace\":\"rl\",\"release\":\"myrun\",\"trainer_pool_id\":\"trainer-engine-actor\"}"
|
|
env:
|
|
- name: "CUDA_DEVICE_MAX_CONNECTIONS"
|
|
value: "1"
|
|
- name: "HF_ENDPOINT"
|
|
value: "https://hf-mirror.example"
|
|
- name: "MILES_K8S_NAMESPACE"
|
|
value: "myns"
|
|
- name: "MILES_K8S_RELEASE"
|
|
value: "myrun"
|
|
- name: "NCCL_IB_HCA"
|
|
value: "mlx5_0,mlx5_1"
|
|
- name: "NCCL_SOCKET_IFNAME"
|
|
value: "bond0"
|
|
- name: "PYTHONPATH"
|
|
value: "/root/miles:/root/Megatron-LM:/sgl-workspace/sglang/python"
|
|
- name: "PYTHONUNBUFFERED"
|
|
value: "1"
|
|
resources:
|
|
requests:
|
|
cpu: "100m"
|
|
memory: 256Mi
|
|
volumes:
|
|
- name: "cluster-storage"
|
|
persistentVolumeClaim:
|
|
claimName: miles-shared-nvme
|
|
- name: "models"
|
|
hostPath:
|
|
path: "/gpfs/models"
|
|
type: "Directory"
|
|
- name: "scratch"
|
|
hostPath:
|
|
path: "/mnt/local-nvme/miles-staging"
|
|
type: "DirectoryOrCreate"
|
|
|
|
---
|
|
# Source: miles-run/templates/orchestrator.yaml
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: "myrun-miles-run-orchestrator"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "orchestrator"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
spec:
|
|
replicas: 1
|
|
serviceName: "myrun-miles-run-orchestrator"
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "orchestrator"
|
|
template:
|
|
metadata:
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "orchestrator"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
spec:
|
|
enableServiceLinks: false
|
|
imagePullSecrets:
|
|
- name: "myregistry-pull-secret"
|
|
nodeSelector:
|
|
nvidia.com/gpu.product: NVIDIA-H100-80GB-HBM3
|
|
tolerations:
|
|
- effect: NoSchedule
|
|
key: nvidia.com/gpu
|
|
operator: Exists
|
|
serviceAccountName: "myrun-miles-run-platform-read-delete"
|
|
restartPolicy: Always
|
|
containers:
|
|
- name: orchestrator
|
|
image: "myregistry.example/myteam/miles:v0.9.3-cu128"
|
|
imagePullPolicy: "IfNotPresent"
|
|
workingDir: "/root/miles"
|
|
volumeMounts:
|
|
- name: "cluster-storage"
|
|
mountPath: "/cluster-storage"
|
|
- name: "cluster-storage"
|
|
mountPath: "/root/miles"
|
|
subPath: "myuser/miles"
|
|
- name: "cluster-storage"
|
|
mountPath: "/root/Megatron-LM"
|
|
subPath: "myuser/Megatron-LM"
|
|
- name: "models"
|
|
mountPath: "/models"
|
|
readOnly: true
|
|
- name: "scratch"
|
|
mountPath: "/scratch"
|
|
- name: uninstall-manifest
|
|
mountPath: "/etc/miles-uninstall"
|
|
readOnly: true
|
|
command:
|
|
- python
|
|
- -m
|
|
- miles.utils.external_utils.command_utils.helm_backend.orchestrator.wrapper
|
|
- --state-file
|
|
- "/cluster-storage/myteam/miles_data/miles-runs/260101-000000-000/state/orchestrator-260101-000000-000001.state"
|
|
- --uninstall-manifest
|
|
- "/etc/miles-uninstall/uninstall-job.yaml"
|
|
- --
|
|
- "python"
|
|
- "scripts/run_qwen3_4b.py"
|
|
- "train"
|
|
- "--cluster-backend"
|
|
- "kubernetes"
|
|
env:
|
|
- name: "CUDA_DEVICE_MAX_CONNECTIONS"
|
|
value: "1"
|
|
- name: "HF_ENDPOINT"
|
|
value: "https://hf-mirror.example"
|
|
- name: "MILES_K8S_NAMESPACE"
|
|
value: "myns"
|
|
- name: "MILES_K8S_RELEASE"
|
|
value: "myrun"
|
|
- name: "NCCL_IB_HCA"
|
|
value: "mlx5_0,mlx5_1"
|
|
- name: "NCCL_SOCKET_IFNAME"
|
|
value: "bond0"
|
|
- name: "PYTHONPATH"
|
|
value: "/root/miles:/root/Megatron-LM:/sgl-workspace/sglang/python"
|
|
- name: "PYTHONUNBUFFERED"
|
|
value: "1"
|
|
resources:
|
|
limits: {}
|
|
requests:
|
|
cpu: "2"
|
|
memory: 8Gi
|
|
volumes:
|
|
- name: "cluster-storage"
|
|
persistentVolumeClaim:
|
|
claimName: miles-shared-nvme
|
|
- name: "models"
|
|
hostPath:
|
|
path: "/gpfs/models"
|
|
type: "Directory"
|
|
- name: "scratch"
|
|
hostPath:
|
|
path: "/mnt/local-nvme/miles-staging"
|
|
type: "DirectoryOrCreate"
|
|
- name: uninstall-manifest
|
|
configMap:
|
|
name: "myrun-miles-run-uninstall-manifest"
|
|
|
|
---
|
|
# Source: miles-run/templates/static-workers.yaml
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: "myrun-miles-run-rollout-executor"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "rollout-executor"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
spec:
|
|
replicas: 1
|
|
serviceName: "myrun-miles-run-rollout-executor"
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "rollout-executor"
|
|
template:
|
|
metadata:
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "rollout-executor"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
miles.radixark.io/pool: "rollout-executor"
|
|
spec:
|
|
enableServiceLinks: false
|
|
imagePullSecrets:
|
|
- name: "myregistry-pull-secret"
|
|
nodeSelector:
|
|
nvidia.com/gpu.product: NVIDIA-H100-80GB-HBM3
|
|
tolerations:
|
|
- effect: NoSchedule
|
|
key: nvidia.com/gpu
|
|
operator: Exists
|
|
restartPolicy: Always
|
|
containers:
|
|
- name: worker
|
|
image: "myregistry.example/myteam/miles:v0.9.3-cu128"
|
|
imagePullPolicy: "IfNotPresent"
|
|
workingDir: "/root/miles"
|
|
volumeMounts:
|
|
- name: "cluster-storage"
|
|
mountPath: "/cluster-storage"
|
|
- name: "cluster-storage"
|
|
mountPath: "/root/miles"
|
|
subPath: "myuser/miles"
|
|
- name: "cluster-storage"
|
|
mountPath: "/root/Megatron-LM"
|
|
subPath: "myuser/Megatron-LM"
|
|
- name: "models"
|
|
mountPath: "/models"
|
|
readOnly: true
|
|
- name: "scratch"
|
|
mountPath: "/scratch"
|
|
command:
|
|
- "<PYTHON>"
|
|
- "-m"
|
|
- "miles.utils.workers.serving.serve"
|
|
- "--specs"
|
|
- "miles.ray.specs.entrypoint.compute_specs_from_argv"
|
|
- "--pool-id"
|
|
- "rollout-executor"
|
|
- "--"
|
|
- "--cluster-backend"
|
|
- "kubernetes"
|
|
- "--rollout-num-gpus"
|
|
- "32"
|
|
env:
|
|
- name: MILES_CELL_INDEX
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.labels['apps.kubernetes.io/pod-index']
|
|
- name: "CUDA_DEVICE_MAX_CONNECTIONS"
|
|
value: "1"
|
|
- name: "HF_ENDPOINT"
|
|
value: "https://hf-mirror.example"
|
|
- name: "MILES_K8S_NAMESPACE"
|
|
value: "myns"
|
|
- name: "MILES_K8S_RELEASE"
|
|
value: "myrun"
|
|
- name: "NCCL_IB_HCA"
|
|
value: "mlx5_0,mlx5_1"
|
|
- name: "NCCL_SOCKET_IFNAME"
|
|
value: "bond0"
|
|
- name: "PYTHONPATH"
|
|
value: "/root/miles:/root/Megatron-LM:/sgl-workspace/sglang/python"
|
|
- name: "PYTHONUNBUFFERED"
|
|
value: "1"
|
|
ports:
|
|
- name: "rpc"
|
|
containerPort: 8000
|
|
resources:
|
|
{}
|
|
volumes:
|
|
- name: "cluster-storage"
|
|
persistentVolumeClaim:
|
|
claimName: miles-shared-nvme
|
|
- name: "models"
|
|
hostPath:
|
|
path: "/gpfs/models"
|
|
type: "Directory"
|
|
- name: "scratch"
|
|
hostPath:
|
|
path: "/mnt/local-nvme/miles-staging"
|
|
type: "DirectoryOrCreate"
|
|
---
|
|
# Source: miles-run/templates/static-workers.yaml
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: "myrun-miles-run-inference-controller"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "inference-controller"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
spec:
|
|
replicas: 1
|
|
serviceName: "myrun-miles-run-inference-controller"
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "inference-controller"
|
|
template:
|
|
metadata:
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "inference-controller"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
miles.radixark.io/pool: "inference-controller"
|
|
spec:
|
|
enableServiceLinks: false
|
|
imagePullSecrets:
|
|
- name: "myregistry-pull-secret"
|
|
nodeSelector:
|
|
nvidia.com/gpu.product: NVIDIA-H100-80GB-HBM3
|
|
tolerations:
|
|
- effect: NoSchedule
|
|
key: nvidia.com/gpu
|
|
operator: Exists
|
|
serviceAccountName: "myrun-miles-run-platform-read"
|
|
restartPolicy: Always
|
|
containers:
|
|
- name: worker
|
|
image: "myregistry.example/myteam/miles:v0.9.3-cu128"
|
|
imagePullPolicy: "IfNotPresent"
|
|
workingDir: "/root/miles"
|
|
volumeMounts:
|
|
- name: "cluster-storage"
|
|
mountPath: "/cluster-storage"
|
|
- name: "cluster-storage"
|
|
mountPath: "/root/miles"
|
|
subPath: "myuser/miles"
|
|
- name: "cluster-storage"
|
|
mountPath: "/root/Megatron-LM"
|
|
subPath: "myuser/Megatron-LM"
|
|
- name: "models"
|
|
mountPath: "/models"
|
|
readOnly: true
|
|
- name: "scratch"
|
|
mountPath: "/scratch"
|
|
command:
|
|
- "<PYTHON>"
|
|
- "-m"
|
|
- "miles.utils.workers.serving.serve"
|
|
- "--specs"
|
|
- "miles.ray.specs.entrypoint.compute_specs_from_argv"
|
|
- "--pool-id"
|
|
- "inference-controller"
|
|
- "--"
|
|
- "--cluster-backend"
|
|
- "kubernetes"
|
|
- "--rollout-num-gpus"
|
|
- "32"
|
|
env:
|
|
- name: MILES_CELL_INDEX
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.labels['apps.kubernetes.io/pod-index']
|
|
- name: "CUDA_DEVICE_MAX_CONNECTIONS"
|
|
value: "1"
|
|
- name: "HF_ENDPOINT"
|
|
value: "https://hf-mirror.example"
|
|
- name: "MILES_K8S_NAMESPACE"
|
|
value: "myns"
|
|
- name: "MILES_K8S_RELEASE"
|
|
value: "myrun"
|
|
- name: "NCCL_IB_HCA"
|
|
value: "mlx5_0,mlx5_1"
|
|
- name: "NCCL_SOCKET_IFNAME"
|
|
value: "bond0"
|
|
- name: "PYTHONPATH"
|
|
value: "/root/miles:/root/Megatron-LM:/sgl-workspace/sglang/python"
|
|
- name: "PYTHONUNBUFFERED"
|
|
value: "1"
|
|
ports:
|
|
- name: "rpc"
|
|
containerPort: 8000
|
|
resources:
|
|
{}
|
|
volumes:
|
|
- name: "cluster-storage"
|
|
persistentVolumeClaim:
|
|
claimName: miles-shared-nvme
|
|
- name: "models"
|
|
hostPath:
|
|
path: "/gpfs/models"
|
|
type: "Directory"
|
|
- name: "scratch"
|
|
hostPath:
|
|
path: "/mnt/local-nvme/miles-staging"
|
|
type: "DirectoryOrCreate"
|
|
---
|
|
# Source: miles-run/templates/static-workers.yaml
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: "myrun-miles-run-inference-router-0"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "inference-router-0"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
spec:
|
|
replicas: 1
|
|
serviceName: "myrun-miles-run-inference-router-0"
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "inference-router-0"
|
|
template:
|
|
metadata:
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "inference-router-0"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
miles.radixark.io/pool: "inference-router-0"
|
|
spec:
|
|
enableServiceLinks: false
|
|
imagePullSecrets:
|
|
- name: "myregistry-pull-secret"
|
|
nodeSelector:
|
|
nvidia.com/gpu.product: NVIDIA-H100-80GB-HBM3
|
|
tolerations:
|
|
- effect: NoSchedule
|
|
key: nvidia.com/gpu
|
|
operator: Exists
|
|
restartPolicy: Always
|
|
containers:
|
|
- name: worker
|
|
image: "myregistry.example/myteam/miles:v0.9.3-cu128"
|
|
imagePullPolicy: "IfNotPresent"
|
|
workingDir: "/root/miles"
|
|
volumeMounts:
|
|
- name: "cluster-storage"
|
|
mountPath: "/cluster-storage"
|
|
- name: "cluster-storage"
|
|
mountPath: "/root/miles"
|
|
subPath: "myuser/miles"
|
|
- name: "cluster-storage"
|
|
mountPath: "/root/Megatron-LM"
|
|
subPath: "myuser/Megatron-LM"
|
|
- name: "models"
|
|
mountPath: "/models"
|
|
readOnly: true
|
|
- name: "scratch"
|
|
mountPath: "/scratch"
|
|
command:
|
|
- "<PYTHON>"
|
|
- "-m"
|
|
- "sglang_router.launch_router"
|
|
- "--policy"
|
|
- "manual"
|
|
- "--assignment-mode"
|
|
- "min_load"
|
|
- "--pd-disaggregation"
|
|
- "--log-level"
|
|
- "warn"
|
|
- "--prometheus-port"
|
|
- "9000"
|
|
- "--request-timeout-secs"
|
|
- "14400"
|
|
- "--port"
|
|
- "8000"
|
|
env:
|
|
- name: MILES_CELL_INDEX
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.labels['apps.kubernetes.io/pod-index']
|
|
- name: "CUDA_DEVICE_MAX_CONNECTIONS"
|
|
value: "1"
|
|
- name: "HF_ENDPOINT"
|
|
value: "https://hf-mirror.example"
|
|
- name: "MILES_K8S_NAMESPACE"
|
|
value: "myns"
|
|
- name: "MILES_K8S_RELEASE"
|
|
value: "myrun"
|
|
- name: "NCCL_IB_HCA"
|
|
value: "mlx5_0,mlx5_1"
|
|
- name: "NCCL_SOCKET_IFNAME"
|
|
value: "bond0"
|
|
- name: "PYTHONPATH"
|
|
value: "/root/miles:/root/Megatron-LM:/sgl-workspace/sglang/python"
|
|
- name: "PYTHONUNBUFFERED"
|
|
value: "1"
|
|
ports:
|
|
- name: "primary"
|
|
containerPort: 8000
|
|
- name: "prometheus"
|
|
containerPort: 9000
|
|
resources:
|
|
{}
|
|
volumes:
|
|
- name: "cluster-storage"
|
|
persistentVolumeClaim:
|
|
claimName: miles-shared-nvme
|
|
- name: "models"
|
|
hostPath:
|
|
path: "/gpfs/models"
|
|
type: "Directory"
|
|
- name: "scratch"
|
|
hostPath:
|
|
path: "/mnt/local-nvme/miles-staging"
|
|
type: "DirectoryOrCreate"
|
|
---
|
|
# Source: miles-run/templates/static-workers.yaml
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: "myrun-miles-run-session-server"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "session-server"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
spec:
|
|
replicas: 32
|
|
serviceName: "myrun-miles-run-session-server"
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "session-server"
|
|
template:
|
|
metadata:
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "session-server"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
miles.radixark.io/pool: "session-server"
|
|
spec:
|
|
enableServiceLinks: false
|
|
imagePullSecrets:
|
|
- name: "myregistry-pull-secret"
|
|
nodeSelector:
|
|
nvidia.com/gpu.product: NVIDIA-H100-80GB-HBM3
|
|
tolerations:
|
|
- effect: NoSchedule
|
|
key: nvidia.com/gpu
|
|
operator: Exists
|
|
restartPolicy: Always
|
|
containers:
|
|
- name: worker
|
|
image: "myregistry.example/myteam/miles:v0.9.3-cu128"
|
|
imagePullPolicy: "IfNotPresent"
|
|
workingDir: "/root/miles"
|
|
volumeMounts:
|
|
- name: "cluster-storage"
|
|
mountPath: "/cluster-storage"
|
|
- name: "cluster-storage"
|
|
mountPath: "/root/miles"
|
|
subPath: "myuser/miles"
|
|
- name: "cluster-storage"
|
|
mountPath: "/root/Megatron-LM"
|
|
subPath: "myuser/Megatron-LM"
|
|
- name: "models"
|
|
mountPath: "/models"
|
|
readOnly: true
|
|
- name: "scratch"
|
|
mountPath: "/scratch"
|
|
command:
|
|
- "<PYTHON>"
|
|
- "-m"
|
|
- "miles.rollout.session.server"
|
|
- "--config-json"
|
|
- "{\"host\":\"0.0.0.0\",\"port\":8000,\"instance_id\":\"0123456789abcdef-0\",\"backend_url\":\"http://myrun-miles-run-inference-router-0-0.myrun-miles-run-inference-router-0:8000\",\"timeout\":null,\"hf_checkpoint\":\"<FIXTURE_DIR>/typical-model\",\"chat_template_path\":null,\"tito_model\":\"default\",\"apply_chat_template_kwargs\":{},\"use_rollout_routing_replay\":false,\"use_rollout_indexer_replay\":false,\"use_sampling_support_replay\":false,\"sglang_speculative_algorithm\":null,\"num_layers\":36,\"moe_router_topk\":2,\"save_debug_trajectory_data\":null,\"lora_rank\":0,\"lora_adapter_path\":null,\"lora_train_only\":false,\"use_session_server\":true,\"session_message_matcher\":\"strict\",\"pause_generation_mode\":\"retract\",\"session_sample_picker_path\":\"miles.rollout.session.v2.picker_hub.drop_same_prompt_retries\",\"session_sample_postprocessor_path\":\"miles.rollout.session.v2.postprocessor_hub.default_postprocess\"}"
|
|
env:
|
|
- name: MILES_CELL_INDEX
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.labels['apps.kubernetes.io/pod-index']
|
|
- name: "CUDA_DEVICE_MAX_CONNECTIONS"
|
|
value: "1"
|
|
- name: "HF_ENDPOINT"
|
|
value: "https://hf-mirror.example"
|
|
- name: "MILES_K8S_NAMESPACE"
|
|
value: "myns"
|
|
- name: "MILES_K8S_RELEASE"
|
|
value: "myrun"
|
|
- name: "NCCL_IB_HCA"
|
|
value: "mlx5_0,mlx5_1"
|
|
- name: "NCCL_SOCKET_IFNAME"
|
|
value: "bond0"
|
|
- name: "PYTHONPATH"
|
|
value: "/root/miles:/root/Megatron-LM:/sgl-workspace/sglang/python"
|
|
- name: "PYTHONUNBUFFERED"
|
|
value: "1"
|
|
ports:
|
|
- name: "primary"
|
|
containerPort: 8000
|
|
resources:
|
|
{}
|
|
volumes:
|
|
- name: "cluster-storage"
|
|
persistentVolumeClaim:
|
|
claimName: miles-shared-nvme
|
|
- name: "models"
|
|
hostPath:
|
|
path: "/gpfs/models"
|
|
type: "Directory"
|
|
- name: "scratch"
|
|
hostPath:
|
|
path: "/mnt/local-nvme/miles-staging"
|
|
type: "DirectoryOrCreate"
|
|
---
|
|
# Source: miles-run/templates/static-workers.yaml
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: "myrun-miles-run-trainer-controller-actor"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "trainer-controller-actor"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
spec:
|
|
replicas: 1
|
|
serviceName: "myrun-miles-run-trainer-controller-actor"
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "trainer-controller-actor"
|
|
template:
|
|
metadata:
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "trainer-controller-actor"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
miles.radixark.io/pool: "trainer-controller-actor"
|
|
spec:
|
|
enableServiceLinks: false
|
|
imagePullSecrets:
|
|
- name: "myregistry-pull-secret"
|
|
nodeSelector:
|
|
nvidia.com/gpu.product: NVIDIA-H100-80GB-HBM3
|
|
tolerations:
|
|
- effect: NoSchedule
|
|
key: nvidia.com/gpu
|
|
operator: Exists
|
|
serviceAccountName: "myrun-miles-run-platform-read-delete"
|
|
restartPolicy: Always
|
|
containers:
|
|
- name: worker
|
|
image: "myregistry.example/myteam/miles:v0.9.3-cu128"
|
|
imagePullPolicy: "IfNotPresent"
|
|
workingDir: "/root/miles"
|
|
volumeMounts:
|
|
- name: "cluster-storage"
|
|
mountPath: "/cluster-storage"
|
|
- name: "cluster-storage"
|
|
mountPath: "/root/miles"
|
|
subPath: "myuser/miles"
|
|
- name: "cluster-storage"
|
|
mountPath: "/root/Megatron-LM"
|
|
subPath: "myuser/Megatron-LM"
|
|
- name: "models"
|
|
mountPath: "/models"
|
|
readOnly: true
|
|
- name: "scratch"
|
|
mountPath: "/scratch"
|
|
command:
|
|
- "<PYTHON>"
|
|
- "-m"
|
|
- "miles.utils.workers.serving.serve"
|
|
- "--specs"
|
|
- "miles.ray.specs.entrypoint.compute_specs_from_argv"
|
|
- "--pool-id"
|
|
- "trainer-controller-actor"
|
|
- "--"
|
|
- "--cluster-backend"
|
|
- "kubernetes"
|
|
- "--rollout-num-gpus"
|
|
- "32"
|
|
env:
|
|
- name: MILES_CELL_INDEX
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.labels['apps.kubernetes.io/pod-index']
|
|
- name: "CUDA_DEVICE_MAX_CONNECTIONS"
|
|
value: "1"
|
|
- name: "HF_ENDPOINT"
|
|
value: "https://hf-mirror.example"
|
|
- name: "MILES_K8S_NAMESPACE"
|
|
value: "myns"
|
|
- name: "MILES_K8S_RELEASE"
|
|
value: "myrun"
|
|
- name: "NCCL_IB_HCA"
|
|
value: "mlx5_0,mlx5_1"
|
|
- name: "NCCL_SOCKET_IFNAME"
|
|
value: "bond0"
|
|
- name: "PYTHONPATH"
|
|
value: "/root/miles:/root/Megatron-LM:/sgl-workspace/sglang/python"
|
|
- name: "PYTHONUNBUFFERED"
|
|
value: "1"
|
|
ports:
|
|
- name: "rpc"
|
|
containerPort: 8000
|
|
resources:
|
|
{}
|
|
volumes:
|
|
- name: "cluster-storage"
|
|
persistentVolumeClaim:
|
|
claimName: miles-shared-nvme
|
|
- name: "models"
|
|
hostPath:
|
|
path: "/gpfs/models"
|
|
type: "Directory"
|
|
- name: "scratch"
|
|
hostPath:
|
|
path: "/mnt/local-nvme/miles-staging"
|
|
type: "DirectoryOrCreate"
|
|
|
|
---
|
|
# Source: miles-run/templates/inference-engines.yaml
|
|
apiVersion: leaderworkerset.x-k8s.io/v1
|
|
kind: LeaderWorkerSet
|
|
metadata:
|
|
name: "myrun-miles-run-inference-engine-all-0-0"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "inference-engine-all-0-0"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
spec:
|
|
replicas: 1
|
|
startupPolicy: LeaderCreated
|
|
leaderWorkerTemplate:
|
|
size: 2
|
|
restartPolicy: RecreateGroupOnPodRestart
|
|
workerTemplate:
|
|
metadata:
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "inference-engine-all-0-0"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
miles.radixark.io/pool: "inference-engine-all-0-0"
|
|
annotations:
|
|
miles.radixark.io/meta-gpu_ids: "0,1,2,3,4,5,6,7"
|
|
spec:
|
|
enableServiceLinks: false
|
|
imagePullSecrets:
|
|
- name: "myregistry-pull-secret"
|
|
nodeSelector:
|
|
nvidia.com/gpu.product: NVIDIA-H100-80GB-HBM3
|
|
tolerations:
|
|
- effect: NoSchedule
|
|
key: nvidia.com/gpu
|
|
operator: Exists
|
|
hostIPC: true
|
|
schedulingGates:
|
|
- name: "miles.radixark.io/colocate-pairing"
|
|
containers:
|
|
- name: "engine"
|
|
image: "myregistry.example/myteam/miles:v0.9.3-cu128"
|
|
imagePullPolicy: "IfNotPresent"
|
|
workingDir: "/root/miles"
|
|
volumeMounts:
|
|
- name: "cluster-storage"
|
|
mountPath: "/cluster-storage"
|
|
- name: "cluster-storage"
|
|
mountPath: "/root/miles"
|
|
subPath: "myuser/miles"
|
|
- name: "cluster-storage"
|
|
mountPath: "/root/Megatron-LM"
|
|
subPath: "myuser/Megatron-LM"
|
|
- name: "models"
|
|
mountPath: "/models"
|
|
readOnly: true
|
|
- name: "scratch"
|
|
mountPath: "/scratch"
|
|
- name: dev-shm
|
|
mountPath: "/dev/shm"
|
|
command:
|
|
- "<PYTHON>"
|
|
- "-m"
|
|
- "sglang.launch_server"
|
|
- "--trust-remote-code"
|
|
- "--model-path"
|
|
- "<FIXTURE_DIR>/typical-model"
|
|
- "--host"
|
|
- "0.0.0.0"
|
|
- "--port"
|
|
- "8000"
|
|
- "--device"
|
|
- "cuda"
|
|
- "--random-seed"
|
|
- "<RANDOM_SEED>"
|
|
- "--enable-memory-saver"
|
|
- "--nccl-port"
|
|
- "10000"
|
|
- "--nnodes"
|
|
- "2"
|
|
- "--node-rank"
|
|
- "$(LWS_WORKER_INDEX)"
|
|
- "--dist-init-addr"
|
|
- "$(LWS_LEADER_ADDRESS):9000"
|
|
- "--gated-launch-port"
|
|
- "13000"
|
|
- "--tp-size"
|
|
- "16"
|
|
- "--skip-server-warmup"
|
|
- "--enable-draft-weights-cpu-backup"
|
|
- "--enable-metrics"
|
|
- "--disaggregation-mode"
|
|
- "prefill"
|
|
- "--load-balance-method"
|
|
- "round_robin"
|
|
- "--disaggregation-bootstrap-port"
|
|
- "11000"
|
|
- "--engine-info-bootstrap-port"
|
|
- "12000"
|
|
- "--mem-fraction-static"
|
|
- "0.7"
|
|
- "--chunked-prefill-size"
|
|
- "4096"
|
|
- "--cuda-graph-backend-prefill"
|
|
- "disabled"
|
|
- "--lora-use-virtual-experts"
|
|
env:
|
|
- name: MILES_CELL_INDEX
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.labels['leaderworkerset.sigs.k8s.io/group-index']
|
|
- name: MILES_POD_INDEX
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.labels['leaderworkerset.sigs.k8s.io/worker-index']
|
|
- name: MILES_BASE_GPU_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.annotations['miles.radixark.io/base-gpu-id']
|
|
- name: "CUDA_DEVICE_MAX_CONNECTIONS"
|
|
value: "1"
|
|
- name: "HF_ENDPOINT"
|
|
value: "https://hf-mirror.example"
|
|
- name: "MILES_K8S_NAMESPACE"
|
|
value: "myns"
|
|
- name: "MILES_K8S_RELEASE"
|
|
value: "myrun"
|
|
- name: "NCCL_IB_HCA"
|
|
value: "mlx5_0,mlx5_1"
|
|
- name: "NCCL_SOCKET_IFNAME"
|
|
value: "bond0"
|
|
- name: "NVIDIA_VISIBLE_DEVICES"
|
|
value: "all"
|
|
- name: "NVSHMEM_DISABLE_NCCL"
|
|
value: "1"
|
|
- name: "PYTHONPATH"
|
|
value: "/root/miles:/root/Megatron-LM:/sgl-workspace/sglang/python"
|
|
- name: "PYTHONUNBUFFERED"
|
|
value: "1"
|
|
- name: "RAY_EXPERIMENTAL_NOSET_ASCEND_RT_VISIBLE_DEVICES"
|
|
value: "1"
|
|
- name: "RAY_EXPERIMENTAL_NOSET_CUDA_VISIBLE_DEVICES"
|
|
value: "1"
|
|
- name: "RAY_EXPERIMENTAL_NOSET_HABANA_VISIBLE_MODULES"
|
|
value: "1"
|
|
- name: "RAY_EXPERIMENTAL_NOSET_HIP_VISIBLE_DEVICES"
|
|
value: "1"
|
|
- name: "RAY_EXPERIMENTAL_NOSET_NEURON_RT_VISIBLE_CORES"
|
|
value: "1"
|
|
- name: "RAY_EXPERIMENTAL_NOSET_ONEAPI_DEVICE_SELECTOR"
|
|
value: "1"
|
|
- name: "RAY_EXPERIMENTAL_NOSET_TPU_VISIBLE_CHIPS"
|
|
value: "1"
|
|
- name: "SGLANG_BATCH_INVARIANT_OPS_ENABLE_MM_FALLBACK_VARIANT"
|
|
value: "true"
|
|
- name: "SGLANG_DG_CACHE_DIR_PER_PROCESS"
|
|
value: "1"
|
|
- name: "SGLANG_ENABLE_HEALTH_ENDPOINT_GENERATION"
|
|
value: "false"
|
|
- name: "SGLANG_ENABLE_STRICT_MEM_CHECK_DURING_IDLE"
|
|
value: "false"
|
|
- name: "SGLANG_ENABLE_TP_MEMORY_INBALANCE_CHECK"
|
|
value: "false"
|
|
- name: "SGLANG_EXPOSE_OWN_ENV_VARS"
|
|
value: "1"
|
|
- name: "SGLANG_JIT_DEEPGEMM_PRECOMPILE"
|
|
value: "false"
|
|
- name: "SGLANG_MEMORY_SAVER_CUDA_GRAPH"
|
|
value: "true"
|
|
- name: "SGLANG_OPT_USE_CUSTOM_ALL_REDUCE_V2"
|
|
value: "1"
|
|
ports:
|
|
- name: "primary"
|
|
containerPort: 8000
|
|
- name: "dist-init"
|
|
containerPort: 9000
|
|
- name: "nccl"
|
|
containerPort: 10000
|
|
- name: "disaggregation"
|
|
containerPort: 11000
|
|
- name: "engine-info-boo"
|
|
containerPort: 12000
|
|
- name: "gate"
|
|
containerPort: 13000
|
|
resources:
|
|
limits:
|
|
nvidia.com/gpu: 0
|
|
volumes:
|
|
- name: "cluster-storage"
|
|
persistentVolumeClaim:
|
|
claimName: miles-shared-nvme
|
|
- name: "models"
|
|
hostPath:
|
|
path: "/gpfs/models"
|
|
type: "Directory"
|
|
- name: "scratch"
|
|
hostPath:
|
|
path: "/mnt/local-nvme/miles-staging"
|
|
type: "DirectoryOrCreate"
|
|
- name: dev-shm
|
|
hostPath:
|
|
path: "/dev/shm"
|
|
type: "Directory"
|
|
---
|
|
# Source: miles-run/templates/inference-engines.yaml
|
|
apiVersion: leaderworkerset.x-k8s.io/v1
|
|
kind: LeaderWorkerSet
|
|
metadata:
|
|
name: "myrun-miles-run-inference-engine-all-0-1"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "inference-engine-all-0-1"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
spec:
|
|
replicas: 2
|
|
startupPolicy: LeaderCreated
|
|
leaderWorkerTemplate:
|
|
size: 1
|
|
restartPolicy: RecreateGroupOnPodRestart
|
|
workerTemplate:
|
|
metadata:
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "inference-engine-all-0-1"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
miles.radixark.io/pool: "inference-engine-all-0-1"
|
|
annotations:
|
|
miles.radixark.io/meta-gpu_ids: "0,1,2,3,4,5,6,7"
|
|
spec:
|
|
enableServiceLinks: false
|
|
imagePullSecrets:
|
|
- name: "myregistry-pull-secret"
|
|
nodeSelector:
|
|
nvidia.com/gpu.product: NVIDIA-H100-80GB-HBM3
|
|
tolerations:
|
|
- effect: NoSchedule
|
|
key: nvidia.com/gpu
|
|
operator: Exists
|
|
hostIPC: true
|
|
schedulingGates:
|
|
- name: "miles.radixark.io/colocate-pairing"
|
|
containers:
|
|
- name: "engine"
|
|
image: "myregistry.example/myteam/miles:v0.9.3-cu128"
|
|
imagePullPolicy: "IfNotPresent"
|
|
workingDir: "/root/miles"
|
|
volumeMounts:
|
|
- name: "cluster-storage"
|
|
mountPath: "/cluster-storage"
|
|
- name: "cluster-storage"
|
|
mountPath: "/root/miles"
|
|
subPath: "myuser/miles"
|
|
- name: "cluster-storage"
|
|
mountPath: "/root/Megatron-LM"
|
|
subPath: "myuser/Megatron-LM"
|
|
- name: "models"
|
|
mountPath: "/models"
|
|
readOnly: true
|
|
- name: "scratch"
|
|
mountPath: "/scratch"
|
|
- name: dev-shm
|
|
mountPath: "/dev/shm"
|
|
command:
|
|
- "<PYTHON>"
|
|
- "-m"
|
|
- "sglang.launch_server"
|
|
- "--trust-remote-code"
|
|
- "--model-path"
|
|
- "<FIXTURE_DIR>/typical-model"
|
|
- "--host"
|
|
- "0.0.0.0"
|
|
- "--port"
|
|
- "8000"
|
|
- "--device"
|
|
- "cuda"
|
|
- "--random-seed"
|
|
- "<RANDOM_SEED>"
|
|
- "--enable-memory-saver"
|
|
- "--nccl-port"
|
|
- "10000"
|
|
- "--node-rank"
|
|
- "$(LWS_WORKER_INDEX)"
|
|
- "--dist-init-addr"
|
|
- "$(LWS_LEADER_ADDRESS):9000"
|
|
- "--gated-launch-port"
|
|
- "13000"
|
|
- "--tp-size"
|
|
- "8"
|
|
- "--skip-server-warmup"
|
|
- "--enable-draft-weights-cpu-backup"
|
|
- "--enable-metrics"
|
|
- "--disaggregation-mode"
|
|
- "decode"
|
|
- "--engine-info-bootstrap-port"
|
|
- "12000"
|
|
- "--mem-fraction-static"
|
|
- "0.7"
|
|
- "--chunked-prefill-size"
|
|
- "4096"
|
|
- "--cuda-graph-backend-prefill"
|
|
- "disabled"
|
|
- "--lora-use-virtual-experts"
|
|
env:
|
|
- name: MILES_CELL_INDEX
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.labels['leaderworkerset.sigs.k8s.io/group-index']
|
|
- name: MILES_POD_INDEX
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.labels['leaderworkerset.sigs.k8s.io/worker-index']
|
|
- name: MILES_BASE_GPU_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.annotations['miles.radixark.io/base-gpu-id']
|
|
- name: "CUDA_DEVICE_MAX_CONNECTIONS"
|
|
value: "1"
|
|
- name: "HF_ENDPOINT"
|
|
value: "https://hf-mirror.example"
|
|
- name: "MILES_K8S_NAMESPACE"
|
|
value: "myns"
|
|
- name: "MILES_K8S_RELEASE"
|
|
value: "myrun"
|
|
- name: "NCCL_IB_HCA"
|
|
value: "mlx5_0,mlx5_1"
|
|
- name: "NCCL_SOCKET_IFNAME"
|
|
value: "bond0"
|
|
- name: "NVIDIA_VISIBLE_DEVICES"
|
|
value: "all"
|
|
- name: "NVSHMEM_DISABLE_NCCL"
|
|
value: "1"
|
|
- name: "PYTHONPATH"
|
|
value: "/root/miles:/root/Megatron-LM:/sgl-workspace/sglang/python"
|
|
- name: "PYTHONUNBUFFERED"
|
|
value: "1"
|
|
- name: "RAY_EXPERIMENTAL_NOSET_ASCEND_RT_VISIBLE_DEVICES"
|
|
value: "1"
|
|
- name: "RAY_EXPERIMENTAL_NOSET_CUDA_VISIBLE_DEVICES"
|
|
value: "1"
|
|
- name: "RAY_EXPERIMENTAL_NOSET_HABANA_VISIBLE_MODULES"
|
|
value: "1"
|
|
- name: "RAY_EXPERIMENTAL_NOSET_HIP_VISIBLE_DEVICES"
|
|
value: "1"
|
|
- name: "RAY_EXPERIMENTAL_NOSET_NEURON_RT_VISIBLE_CORES"
|
|
value: "1"
|
|
- name: "RAY_EXPERIMENTAL_NOSET_ONEAPI_DEVICE_SELECTOR"
|
|
value: "1"
|
|
- name: "RAY_EXPERIMENTAL_NOSET_TPU_VISIBLE_CHIPS"
|
|
value: "1"
|
|
- name: "SGLANG_BATCH_INVARIANT_OPS_ENABLE_MM_FALLBACK_VARIANT"
|
|
value: "true"
|
|
- name: "SGLANG_DG_CACHE_DIR_PER_PROCESS"
|
|
value: "1"
|
|
- name: "SGLANG_ENABLE_HEALTH_ENDPOINT_GENERATION"
|
|
value: "false"
|
|
- name: "SGLANG_ENABLE_STRICT_MEM_CHECK_DURING_IDLE"
|
|
value: "false"
|
|
- name: "SGLANG_ENABLE_TP_MEMORY_INBALANCE_CHECK"
|
|
value: "false"
|
|
- name: "SGLANG_EXPOSE_OWN_ENV_VARS"
|
|
value: "1"
|
|
- name: "SGLANG_JIT_DEEPGEMM_PRECOMPILE"
|
|
value: "false"
|
|
- name: "SGLANG_MEMORY_SAVER_CUDA_GRAPH"
|
|
value: "true"
|
|
- name: "SGLANG_OPT_USE_CUSTOM_ALL_REDUCE_V2"
|
|
value: "1"
|
|
ports:
|
|
- name: "primary"
|
|
containerPort: 8000
|
|
- name: "dist-init"
|
|
containerPort: 9000
|
|
- name: "nccl"
|
|
containerPort: 10000
|
|
- name: "engine-info-boo"
|
|
containerPort: 12000
|
|
- name: "gate"
|
|
containerPort: 13000
|
|
resources:
|
|
limits:
|
|
nvidia.com/gpu: 0
|
|
volumes:
|
|
- name: "cluster-storage"
|
|
persistentVolumeClaim:
|
|
claimName: miles-shared-nvme
|
|
- name: "models"
|
|
hostPath:
|
|
path: "/gpfs/models"
|
|
type: "Directory"
|
|
- name: "scratch"
|
|
hostPath:
|
|
path: "/mnt/local-nvme/miles-staging"
|
|
type: "DirectoryOrCreate"
|
|
- name: dev-shm
|
|
hostPath:
|
|
path: "/dev/shm"
|
|
type: "Directory"
|
|
|
|
---
|
|
# Source: miles-run/templates/trainer-engines.yaml
|
|
apiVersion: leaderworkerset.x-k8s.io/v1
|
|
kind: LeaderWorkerSet
|
|
metadata:
|
|
name: "myrun-miles-run-trainer-engine-actor"
|
|
namespace: "myns"
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "trainer-engine-actor"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
spec:
|
|
replicas: 1
|
|
startupPolicy: LeaderCreated
|
|
leaderWorkerTemplate:
|
|
size: 4
|
|
restartPolicy: RecreateGroupOnPodRestart
|
|
workerTemplate:
|
|
metadata:
|
|
labels:
|
|
helm.sh/chart: "miles-run-0.1.0"
|
|
app.kubernetes.io/name: "miles-run"
|
|
app.kubernetes.io/instance: "myrun"
|
|
app.kubernetes.io/component: "trainer-engine-actor"
|
|
app.kubernetes.io/version: "0.1.0"
|
|
app.kubernetes.io/managed-by: "Helm"
|
|
miles.radixark.io/pool: "trainer-engine-actor"
|
|
annotations:
|
|
miles.radixark.io/meta-gpu_ids: "0,1,2,3,4,5,6,7"
|
|
spec:
|
|
enableServiceLinks: false
|
|
imagePullSecrets:
|
|
- name: "myregistry-pull-secret"
|
|
nodeSelector:
|
|
nvidia.com/gpu.product: NVIDIA-H100-80GB-HBM3
|
|
tolerations:
|
|
- effect: NoSchedule
|
|
key: nvidia.com/gpu
|
|
operator: Exists
|
|
hostIPC: true
|
|
containers:
|
|
- name: "trainer"
|
|
image: "myregistry.example/myteam/miles:v0.9.3-cu128"
|
|
imagePullPolicy: "IfNotPresent"
|
|
workingDir: "/root/miles"
|
|
volumeMounts:
|
|
- name: "cluster-storage"
|
|
mountPath: "/cluster-storage"
|
|
- name: "cluster-storage"
|
|
mountPath: "/root/miles"
|
|
subPath: "myuser/miles"
|
|
- name: "cluster-storage"
|
|
mountPath: "/root/Megatron-LM"
|
|
subPath: "myuser/Megatron-LM"
|
|
- name: "models"
|
|
mountPath: "/models"
|
|
readOnly: true
|
|
- name: "scratch"
|
|
mountPath: "/scratch"
|
|
- name: dev-shm
|
|
mountPath: "/dev/shm"
|
|
command:
|
|
- "bash"
|
|
- "-c"
|
|
- "mkdir -p /scratch/Qwen3-4B && rsync -a --info=progress2 /cluster-storage/models/Qwen3-4B/ /scratch/Qwen3-4B && exec <PYTHON> -m miles.utils.workers.process_supervisor --num-subprocesses 8 -- <PYTHON> -m miles.utils.workers.serving.serve --specs miles.ray.specs.entrypoint.compute_specs_from_argv --pool-id trainer-engine-actor -- --cluster-backend kubernetes --rollout-num-gpus 32"
|
|
env:
|
|
- name: MILES_CELL_INDEX
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.labels['leaderworkerset.sigs.k8s.io/group-index']
|
|
- name: MILES_POD_INDEX
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.labels['leaderworkerset.sigs.k8s.io/worker-index']
|
|
- name: "CUDA_DEVICE_MAX_CONNECTIONS"
|
|
value: "1"
|
|
- name: "HF_ENDPOINT"
|
|
value: "https://hf-mirror.example"
|
|
- name: "MILES_K8S_NAMESPACE"
|
|
value: "myns"
|
|
- name: "MILES_K8S_RELEASE"
|
|
value: "myrun"
|
|
- name: "NCCL_IB_HCA"
|
|
value: "mlx5_0,mlx5_1"
|
|
- name: "NCCL_SOCKET_IFNAME"
|
|
value: "bond0"
|
|
- name: "PYTHONPATH"
|
|
value: "/root/miles:/root/Megatron-LM:/sgl-workspace/sglang/python"
|
|
- name: "PYTHONUNBUFFERED"
|
|
value: "1"
|
|
ports:
|
|
- name: "master"
|
|
containerPort: 9000
|
|
- name: "rpc"
|
|
containerPort: 8000
|
|
resources:
|
|
limits:
|
|
nvidia.com/gpu: 8
|
|
volumes:
|
|
- name: "cluster-storage"
|
|
persistentVolumeClaim:
|
|
claimName: miles-shared-nvme
|
|
- name: "models"
|
|
hostPath:
|
|
path: "/gpfs/models"
|
|
type: "Directory"
|
|
- name: "scratch"
|
|
hostPath:
|
|
path: "/mnt/local-nvme/miles-staging"
|
|
type: "DirectoryOrCreate"
|
|
- name: dev-shm
|
|
hostPath:
|
|
path: "/dev/shm"
|
|
type: "Directory"
|