Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 0 additions & 9 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,6 @@ build-installer: manifests generate kustomize ## Generate a consolidated YAML wi
cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG}
$(KUSTOMIZE) build config/default > dist/operator.yaml
$(KUSTOMIZE) build config/gateway > dist/gateway.yaml
$(KUSTOMIZE) build config/dependency > dist/dependency.yaml

##@ Deployment

Expand All @@ -183,14 +182,6 @@ install: manifests kustomize ## Install CRDs into the K8s cluster specified in ~
uninstall: manifests kustomize ## Uninstall CRDs from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion.
$(KUSTOMIZE) build config/crd | $(KUBECTL) delete --ignore-not-found=$(ignore-not-found) -f -

.PHONY: deploy-dependency
deploy-dependency: kustomize ## Deploy dependency to the K8s cluster specified in ~/.kube/config.
$(KUSTOMIZE) build config/dependency | $(KUBECTL) apply -f -

.PHONY: undeploy-dependency
undeploy-dependency: kustomize ## Undeploy dependency from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion.
$(KUSTOMIZE) build config/dependency | $(KUBECTL) delete --ignore-not-found=$(ignore-not-found) -f -

.PHONY: deploy
deploy: manifests kustomize ## Deploy controller to the K8s cluster specified in ~/.kube/config.
cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG}
Expand Down
21 changes: 11 additions & 10 deletions README-zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,18 +66,20 @@ More docs:
- 配置好kubectl访问权限

### 安装部署
```bash
git clone https://github.com/scitix/arks.git
cd arks

# 安装 envoy 网关, lws依赖
kubectl create -f dist/dependency.yaml
> **注意:** Arks 需要 LWS v0.7.0 和 RBGS v0.5.0-alpha.4。请先安装 LWS,再安装 RBGS。

# 安装 arks operator
kubectl create -f dist/operator.yaml
```bash
# 安装依赖(如已安装正确版本可跳过)
kubectl apply --server-side -f https://github.com/envoyproxy/gateway/releases/download/v1.2.8/install.yaml
kubectl apply --server-side -f https://github.com/kubernetes-sigs/lws/releases/download/v0.7.0/manifests.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/sgl-project/rbg/v0.5.0-alpha.4/deploy/kubectl/manifests.yaml

# 安装 arks gateway plugins
kubectl create -f dist/gateway.yaml
# 安装 Arks
git clone https://github.com/scitix/arks.git
cd arks
kubectl apply --server-side -f dist/operator.yaml
kubectl apply --server-side -f dist/gateway.yaml
```

verification:
Expand Down Expand Up @@ -191,7 +193,6 @@ curl http://${ENDPOINT}/v1/chat/completions -k \
kubectl delete -f examples/quickstart/quickstart.yaml --ignore-not-found=true
kubectl delete -f dist/gateway.yaml
kubectl delete -f dist/operator.yaml
kubectl delete -f dist/dependency.yaml
```

## 编译构建
Expand Down
21 changes: 11 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,18 +69,20 @@ More docs:
- kubectl configured to access your cluster

### Installation
```bash
git clone https://github.com/scitix/arks.git
cd arks

# Install envoy gateway, lws dependencies
kubectl create -f dist/dependency.yaml
> **Note:** Arks requires LWS v0.7.0 and RBGS v0.5.0-alpha.4. Install LWS before RBGS.

# Install arks operator
kubectl create -f dist/operator.yaml
```bash
# Install dependencies (skip if already installed with correct version)
kubectl apply --server-side -f https://github.com/envoyproxy/gateway/releases/download/v1.2.8/install.yaml
kubectl apply --server-side -f https://github.com/kubernetes-sigs/lws/releases/download/v0.7.0/manifests.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/sgl-project/rbg/v0.5.0-alpha.4/deploy/kubectl/manifests.yaml

# Install arks gateway plugins
kubectl create -f dist/gateway.yaml
# Install Arks
git clone https://github.com/scitix/arks.git
cd arks
kubectl apply --server-side -f dist/operator.yaml
kubectl apply --server-side -f dist/gateway.yaml
```

verification:
Expand Down Expand Up @@ -194,7 +196,6 @@ Expected response
kubectl delete -f examples/quickstart/quickstart.yaml --ignore-not-found=true
kubectl delete -f dist/gateway.yaml
kubectl delete -f dist/operator.yaml
kubectl delete -f dist/dependency.yaml
```

## Build
Expand Down
6 changes: 6 additions & 0 deletions api/v1/arksapplication_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ type ArksRuntime string
type ArksApplicationPhase string
type ArksApplicationConditionType string

type ArksBackend string

const (
ArksApplicationPhasePending ArksApplicationPhase = "Pending"
ArksApplicationPhaseChecking ArksApplicationPhase = "Checking"
Expand All @@ -45,6 +47,10 @@ const (
ArksRuntimeVLLM ArksRuntime = "vllm"
ArksRuntimeSGLang ArksRuntime = "sglang"
ArksRuntimeDynamo ArksRuntime = "dynamo"

// Backend types for workload orchestration
ArksBackendLWS ArksBackend = "lws" // LeaderWorkerSet backend (no rolling update)
ArksBackendRBG ArksBackend = "rbg" // RoleBasedGroup backend (supports rolling update)
)

const (
Expand Down
2 changes: 2 additions & 0 deletions cmd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/webhook"
lwsapi "sigs.k8s.io/lws/api/leaderworkerset/v1"
lwscli "sigs.k8s.io/lws/client-go/clientset/versioned"
rbgapi "sigs.k8s.io/rbgs/api/workloads/v1alpha1"

gatewayv1 "sigs.k8s.io/gateway-api/apis/v1"

Expand All @@ -59,6 +60,7 @@ func init() {
utilruntime.Must(arksv1.AddToScheme(scheme))
// +kubebuilder:scaffold:scheme
utilruntime.Must(lwsapi.AddToScheme(scheme))
utilruntime.Must(rbgapi.AddToScheme(scheme))

utilruntime.Must(gatewayv1.AddToScheme(scheme))
}
Expand Down
Loading