<p>I have two apiservice with a Certificate kind: cert-manager.io and certmanager.k8s.io. When I use <code>kubectl get certificate --all-namespaces</code> it says no resources found because it appears to be checking certmanager.k8s.io, but my certs are created under cert-manager.io.</p>
<p>I don't need certmanager.k8s.io so I tried deleting it but it won't delete even though it reports it was deleted.</p>
<pre><code>kubectl delete apiservice v1alpha1.certmanager.k8s.io  
apiservice.apiregistration.k8s.io &quot;v1alpha1.certmanager.k8s.io&quot; deleted
</code></pre>
<p>Is there a way to prefer a different apiservice for a specific resource or get the one I don't need deleted?</p>

Michael St Clair
<p>You might have a CRD somewhere. You can find out 🔎🔎.</p>
<pre class="lang-sh prettyprint-override"><code>$ kubectl get crd --all-namespaces
</code></pre>
<p>Then if you do, delete it 🔥🔥:</p>
<pre class="lang-sh prettyprint-override"><code>$ kubectl delete crd &lt;crd-name&gt;
</code></pre>
<p>Sometimes the CRDs have finalizers that will prevent them from being deleted. In which case.</p>
<pre class="lang-sh prettyprint-override"><code>$ kubectl edit crd &lt;crd-name&gt;
</code></pre>
<p>Remove the finalizer section in the YAML file:</p>
<pre class="lang-yaml prettyprint-override"><code>finalizers: 👈🔥
  - xxxxxx 👈🔥
</code></pre>
<p>Check that the CRD is not there anymore:</p>
<pre class="lang-sh prettyprint-override"><code>$ kubectl get crd --all-namespaces
</code></pre>
<p>🎉🎉</p>
