¿Por qué no puedo eliminar un espacio de nombres debido a un error de acceso a objetos APIService?
Síntoma
El espacio de nombres permanece en el estado de eliminación. El mensaje de error "DiscoveryFailed" aparece en el archivo YAML de status.
En la figura anterior, el mensaje de error completo es "Discovery failed for some groups, 1 failing: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request".
Esto indica que la eliminación del espacio de nombres se bloquea cuando kube-apiserver accede al objeto de recurso APIService de la API metrics.k8s.io/v1beta1.
Causa posible
Si existe un objeto APIService en el clúster, al eliminar el espacio de nombres se accederá primero al objeto APIService. Si el acceso falla, se bloqueará la eliminación del espacio de nombres. Además de los objetos APIService creados por usted, algunos complementos en el clúster de CCE también crean automáticamente objetos APIService, como complementos métricas-servidor y prometheus.
Para obtener más información sobre APIService, visite https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/.
Solución
Utiliza alguno de estos métodos:
- Rectifique el objeto APIService en el mensaje de error para que se pueda acceder correctamente. Si el objeto es creado por un complemento, asegúrese de que el pod de la instancia del complemento se está ejecutando correctamente.
- Elimine el objeto APIService en el mensaje de error. Si el objeto es creado por un complemento, desinstale el complemento en la página.