1. Installation Method
| |
OpenEBS is mainly used as the default storage for Tekton pipelines. I had also tried Longhorn before, but it could not hold up during peak hours and the pipelines went Pending. And after uninstalling Longhorn there were leftovers, which caused kube-apiserver to keep reporting errors, and in the end it took a great deal of effort to remove.
2. After the Kubernetes Cluster Certificate Expired, OpenEBS Became Unavailable
The Kubernetes cluster and the OpenEBS components were installed on the same day. After the Kubernetes certificate expired, I renewed it quickly with kubeadm certs renew all; the OpenEBS certificate, which I had never paid much attention to, had also expired.
- Tekton Controller error
| |
- OpenEBS Admission Server error
| |
3. Solution
- Back up openebs-validation-webhook-cfg
| |
- Delete openebs-validation-webhook-cfg
| |
This is one solution given in the community Issues, reference link: https://github.com/openebs/openebs/issues/3329 .
It looks like the OpenEBS community has not yet reproduced this problem, nor has it had time to fix it. Recently I had just upgraded OpenEBS to the openebs/admission-server:2.12.1 version.
4. Why
- When we delete openebs-validation-webhook-cfg, what exactly are we deleting
Look at the object being deleted:
| |
Base64-decode the certificate:
| |
View the certificate details:
| |
In fact, the certificate in openebs-validation-webhook-cfg has not expired; deleting openebs-validation-webhook-cfg means that when calling OpenEBS services, no admission control is performed and the validity of the data is not verified. kube-apiserver will not call admission-server-svc.openebs.svc, and so it will not report an error.
- Which certificate actually expired
In admission-server-secret, I found two certificates, one is app.crt and the other is ca.crt.
| |
The ca.crt certificate is the same as the one above, a ten-year certificate. While app.crt is a one-year certificate. View the certificate details:
| |
- How to renew the certificate
In the most recently installed OpenEBS version, the admission-server-secret object can no longer be found, and there is no openebs-validation-webhook-cfg either. At the same time, on the cluster where OpenEBS was upgraded I also could not find anywhere that references the certificate, which is very strange.
| |
My suspicion is that the OpenEBS installed a year ago did have admission-server-secret used for the ValidatingWebhookConfiguration. The most recent OpenEBS upgrade left behind configuration from the previous version, which caused this strange phenomenon.
Since nothing references this certificate, there is no need to renew it β just back it up and delete it.
