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
55HELMFILE_CACHE := $(HOME ) /.cache/helmfile
6- KSERVE_REF ?= release-v0.15
76KSERVE_NAMESPACE ?= opendatahub
87
98check-kubeconfig :
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
4039deploy : 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
4948deploy-cert-manager : check-kubeconfig clear-cache
@@ -55,21 +54,20 @@ deploy-istio: check-kubeconfig clear-cache
5554deploy-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
7977undeploy-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