Skip to content

Commit 857e8a6

Browse files
docs(kserve): add v0.16.x to v0.17.0 upgrade notes
Signed-off-by: abdullahpathan22 <abdullahpathan22@users.noreply.github.com>
1 parent bf01ad1 commit 857e8a6

1 file changed

Lines changed: 51 additions & 0 deletions

File tree

UPGRADING.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Upgrading Kubeflow Manifests
2+
3+
This document describes breaking changes and manual upgrade steps required when moving between versions of Kubeflow manifests.
4+
5+
## Upgrading KServe from v0.16.x to v0.17.0
6+
7+
This section covers the upgrade of KServe to v0.17.0, which is part of the latest synchronization with upstream manifests.
8+
9+
### 1. Pre-upgrade Step: Delete Conflicting ClusterRoleBinding (Breaking Change)
10+
11+
Before applying the new manifests, you **must** manually delete the following ClusterRoleBinding.
12+
13+
```bash
14+
kubectl delete clusterrolebinding llmisvc-manager-rolebinding --ignore-not-found
15+
```
16+
17+
**Why this is required:**
18+
In KServe v0.17.0, the `llmisvc` role bindings were restructured. The old `ClusterRoleBinding` from v0.16.x conflicts with the new ones defined in the v0.17.0 manifests. If you do not delete it manually, the `kubectl apply` (or `kustomize build | kubectl apply`) will fail due to naming conflicts.
19+
20+
### 2. Note on the v0.17.0 Tag and Manifest Source
21+
22+
The official `v0.17.0` tag in the upstream [kserve/kserve](https://github.com/kserve/kserve) repository was released without the necessary `install` files (see [kserve/kserve#5255](https://github.com/kserve/kserve/issues/5255)).
23+
24+
To ensure a working installation, the manifests in this repository have been synchronized from the upstream **`release-0.17`** branch instead of the `v0.17.0` git tag. Users should be aware of this distinction when cross-referencing upstream source code or release notes.
25+
26+
### 3. Webhook Certificate SAN Fix
27+
28+
KServe v0.17.0 introduced some duplicate `Certificate` resources that continued to reference the upstream `kserve` namespace for Subject Alternative Names (SANs) instead of the `kubeflow` namespace used in this distribution. This would normally cause TLS verification failures on the webhook server.
29+
30+
The manifests in this repository have been patched to fix SANs for the following resources:
31+
- `serving-cert`
32+
- `llmisvc-serving-cert`
33+
- `localmodel-serving-cert`
34+
35+
If you encounter TLS verification failures after upgrading, ensure you are using the manifests provided in this repository and not attempting to apply them directly from the upstream KServe repository.
36+
37+
### 4. How to Apply the Upgrade
38+
39+
After performing the pre-upgrade step in Section 1, you can apply the upgrade using the standard Kustomize pattern.
40+
41+
**Single Command Upgrade:**
42+
If you are using the default single-command installation:
43+
```bash
44+
while ! kustomize build example | kubectl apply --server-side --force-conflicts -f -; do echo "Retrying to apply resources"; sleep 20; done
45+
```
46+
47+
**Individual Component Upgrade:**
48+
To upgrade KServe specifically:
49+
```bash
50+
kustomize build applications/kserve/kserve | kubectl apply -f -
51+
```

0 commit comments

Comments
 (0)