docs: Update README for PodDisruptionBudget issue during Pulsar upgrade (#420)

This commit is contained in:
Ashok 2023-12-22 20:18:15 +05:30 committed by GitHub
parent 066b40c040
commit 76fb0bb45c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -238,6 +238,37 @@ Caused by: org.rocksdb.RocksDBException: while open a file for lock: /pulsar/dat
... 13 more ... 13 more
``` ```
### Recovering from `helm upgrade` error "unable to build kubernetes objects from current release manifest"
Example of the error message:
```bash
Error: UPGRADE FAILED: unable to build kubernetes objects from current release manifest:
[resource mapping not found for name: "pulsar-bookie" namespace: "pulsar" from "":
no matches for kind "PodDisruptionBudget" in version "policy/v1beta1" ensure CRDs are installed first,
resource mapping not found for name: "pulsar-broker" namespace: "pulsar" from "":
no matches for kind "PodDisruptionBudget" in version "policy/v1beta1" ensure CRDs are installed first,
resource mapping not found for name: "pulsar-zookeeper" namespace: "pulsar" from "":
no matches for kind "PodDisruptionBudget" in version "policy/v1beta1" ensure CRDs are installed first]
```
Helm documentation [explains issues with managing releases deployed using outdated APIs](https://helm.sh/docs/topics/kubernetes_apis/#helm-users) when the Kubernetes cluster has been upgraded
to a version where these APIs are removed. This happens regardless of whether the chart in the upgrade includes supported API versions.
In this case, you can use the following workaround:
1. Install the [Helm mapkubeapis plugin](https://github.com/helm/helm-mapkubeapis):
```bash
helm plugin install https://github.com/helm/helm-mapkubeapis
```
2. Run the `helm mapkubeapis` command with the appropriate namespace and release name. In this example, we use the namespace "pulsar" and release name "pulsar":
```bash
helm mapkubeapis --namespace pulsar pulsar
```
This workaround addresses the issue by updating in-place Helm release metadata that contains deprecated or removed Kubernetes APIs to a new instance with supported Kubernetes APIs and should allow for a successful Helm upgrade.
## Uninstall ## Uninstall
To uninstall the Pulsar Chart, run the following command: To uninstall the Pulsar Chart, run the following command: