Skip to content

Commit ca82fd6

Browse files
committed
modify to deploy kserve via helm charts
Signed-off-by: Aneesh Puttur <aneeshputtur@gmail.com>
1 parent 8a30e66 commit ca82fd6

File tree

8 files changed

+236
-419
lines changed

8 files changed

+236
-419
lines changed

Makefile

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
.PHONY: deploy deploy-all undeploy undeploy-kserve status help check-kubeconfig sync clear-cache
2-
.PHONY: deploy-cert-manager deploy-istio deploy-lws deploy-kserve
2+
.PHONY: deploy-cert-manager deploy-istio deploy-lws deploy-kserve deploy-opendatahub-prerequisites deploy-cert-manager-pki
33
.PHONY: test conformance
44

55
HELMFILE_CACHE := $(HOME)/.cache/helmfile
6-
KSERVE_REF ?= release-v0.15
76
KSERVE_NAMESPACE ?= opendatahub
87

98
check-kubeconfig:
@@ -13,8 +12,8 @@ help:
1312
@echo "rhaii-on-xks - Infrastructure for llm-d on xKS (AKS/CoreWeave)"
1413
@echo ""
1514
@echo "Deploy:"
16-
@echo " make deploy - Deploy cert-manager + istio"
17-
@echo " make deploy-all - Deploy all (cert-manager + istio + lws)"
15+
@echo " make deploy - Deploy cert-manager + istio + lws"
16+
@echo " make deploy-all - Deploy all (cert-manager + istio + lws + kserve)"
1817
@echo " make deploy-kserve - Deploy KServe"
1918
@echo ""
2019
@echo "Undeploy:"
@@ -40,10 +39,10 @@ sync: clear-cache
4039
deploy: check-kubeconfig clear-cache
4140
helmfile apply --selector name=cert-manager-operator
4241
helmfile apply --selector name=sail-operator
42+
helmfile apply --selector name=lws-operator
4343
@$(MAKE) status
4444

45-
deploy-all: check-kubeconfig clear-cache
46-
helmfile apply
45+
deploy-all: check-kubeconfig deploy-cert-manager deploy-istio deploy-lws deploy-kserve
4746
@$(MAKE) status
4847

4948
deploy-cert-manager: check-kubeconfig clear-cache
@@ -55,21 +54,20 @@ deploy-istio: check-kubeconfig clear-cache
5554
deploy-lws: check-kubeconfig clear-cache
5655
helmfile apply --selector name=lws-operator
5756

58-
deploy-kserve: check-kubeconfig
59-
@echo "=== Deploying KServe (ref=$(KSERVE_REF)) ==="
57+
deploy-opendatahub-prerequisites: check-kubeconfig
58+
@echo "=== Deploying OpenDataHub prerequisites ==="
6059
kubectl create namespace $(KSERVE_NAMESPACE) --dry-run=client -o yaml | kubectl apply -f -
6160
-kubectl get secret redhat-pull-secret -n istio-system -o yaml 2>/dev/null | \
6261
sed 's/namespace: istio-system/namespace: $(KSERVE_NAMESPACE)/' | \
6362
kubectl apply -f - 2>/dev/null || true
64-
kubectl apply -k "https://github.com/opendatahub-io/kserve/config/overlays/odh-test/cert-manager?ref=$(KSERVE_REF)"
63+
64+
deploy-cert-manager-pki: check-kubeconfig deploy-opendatahub-prerequisites
65+
kubectl apply -f ./charts/kserve/pki-prereq.yaml
6566
kubectl wait --for=condition=Ready clusterissuer/opendatahub-ca-issuer --timeout=120s
66-
@echo "Applying CRDs and deployment (CR errors expected, will retry)..."
67-
-kustomize build "https://github.com/opendatahub-io/kserve/config/overlays/odh-xks?ref=$(KSERVE_REF)" | kubectl apply --server-side --force-conflicts -f - 2>/dev/null || true
68-
@echo "Removing webhooks to allow controller startup..."
69-
-kubectl delete validatingwebhookconfiguration llminferenceservice.serving.kserve.io llminferenceserviceconfig.serving.kserve.io --ignore-not-found 2>/dev/null || true
70-
kubectl wait --for=condition=Available deployment/kserve-controller-manager -n $(KSERVE_NAMESPACE) --timeout=300s
71-
@echo "Controller ready, applying CRs..."
72-
kustomize build "https://github.com/opendatahub-io/kserve/config/overlays/odh-xks?ref=$(KSERVE_REF)" | kubectl apply --server-side --force-conflicts -f -
67+
68+
deploy-kserve: check-kubeconfig deploy-cert-manager-pki
69+
@echo "Applying KServe via Helm..."
70+
helmfile sync --wait --selector name=kserve-rhaii-xks --skip-crds
7371
@echo "=== KServe deployed ==="
7472

7573
# Undeploy
@@ -79,11 +77,14 @@ undeploy: check-kubeconfig
7977
undeploy-kserve: check-kubeconfig
8078
-@kubectl delete llminferenceservice --all -A --ignore-not-found 2>/dev/null || true
8179
-@kubectl delete inferencepool --all -A --ignore-not-found 2>/dev/null || true
82-
-@kubectl delete deployment kserve-controller-manager -n $(KSERVE_NAMESPACE) --ignore-not-found 2>/dev/null || true
80+
-@helm uninstall kserve-rhaii-xks --namespace $(KSERVE_NAMESPACE) 2>/dev/null || true
8381
-@kubectl delete validatingwebhookconfiguration llminferenceservice.serving.kserve.io llminferenceserviceconfig.serving.kserve.io --ignore-not-found 2>/dev/null || true
84-
-@# Removes KServe CRDs and Inference Extension CRDs (InferencePool, InferenceModel)
82+
-@# Removes KServe CRDs and Inference Extension CRDs (Helm does not remove CRDs on uninstall)
8583
-@kubectl get crd -o name | grep -E "serving.kserve.io|inference.networking" | xargs -r kubectl delete --ignore-not-found 2>/dev/null || true
86-
-@kubectl delete clusterissuer opendatahub-ca-issuer --ignore-not-found 2>/dev/null || true
84+
-@# Removes cluster-scoped RBAC resources
85+
-@kubectl get clusterrole,clusterrolebinding -o name | grep -i kserve | xargs -r kubectl delete --ignore-not-found 2>/dev/null || true
86+
-@kubectl delete clusterissuer opendatahub-ca-issuer opendatahub-selfsigned-issuer --ignore-not-found 2>/dev/null || true
87+
-@kubectl delete certificate opendatahub-ca -n cert-manager --ignore-not-found 2>/dev/null || true
8788
-@kubectl delete namespace $(KSERVE_NAMESPACE) --ignore-not-found --wait=false 2>/dev/null || true
8889
@echo "=== KServe removed ==="
8990

@@ -103,6 +104,12 @@ status: check-kubeconfig
103104
@echo "lws-operator:"
104105
@kubectl get pods -n openshift-lws-operator 2>/dev/null || echo " Not deployed"
105106
@echo ""
107+
@echo "kserve:"
108+
@kubectl get pods -n $(KSERVE_NAMESPACE) -l control-plane=kserve-controller-manager 2>/dev/null || echo " Not deployed"
109+
@echo ""
110+
@echo "kserve config:"
111+
@kubectl get llminferenceserviceconfig -n $(KSERVE_NAMESPACE) 2>/dev/null || echo " Not deployed"
112+
@echo ""
106113
@echo "=== API Versions ==="
107114
@echo -n "InferencePool API: "
108115
@if kubectl get crd inferencepools.inference.networking.k8s.io >/dev/null 2>&1; then \

0 commit comments

Comments
 (0)