<p>With Kubernetes 1.22, the beta API for the <code>CustomResourceDefinition</code> <code>apiextensions.k8s.io/v1beta1</code> was removed and replaced with <code>apiextensions.k8s.io/v1</code>. While changing the CRDs, I have come to realize that my older controller (operator pattern, originally written for <code>v1alpha1</code>) still tries to list <code>apiextensions.k8s.io/v1alpha1</code> even though I have changed the CRD to <code>apiextensions.k8s.io/v1</code>.</p>
<p>I have read <a href="https://stackoverflow.com/questions/58481850/no-matches-for-kind-deployment-in-version-extensions-v1beta1">this source</a> and it states that for deployment, I should change the API version but my case is an extension of this since I don't have the controller for the new API.</p>
<p>Do I need to write a new controller for the new API version?</p>

The_Lost_Avatar
<blockquote>
<p>Do I need to write a new controller for the new API version ?</p>
</blockquote>
<p>Unfortunately, it looks like it does. If you are unable to apply what is described in <a href="https://stackoverflow.com/questions/54778620/how-to-update-resources-after-customresourcedefinitions-changes">this similar question</a>, because you are using a custom controller then you need to create your own new controller (if you cannot change API inside it) that will work with the supported API. Look at <a href="https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#custom-controllers" rel="nofollow noreferrer">Custom controllers</a> page in the official documentation.</p>
<blockquote>
<p>I am not sure if the controller can manage the new API version. Even after changing the API version of the CRD to v1 from v1Alpha1, I get an error message stating that tha controller is trying to list CRD with API version v1alpha1.</p>
</blockquote>
<p>It looks like the controller has some bugs. There should be no problem referencing the new API as written [in this documentation](It looks like the controller is badly written. There should be no problem referencing the new API as written in this documentation.):</p>
<blockquote>
<p>The  <strong>v1.22</strong>  release will stop serving the following deprecated API versions in favor of newer and more stable API versions:</p>
<ul>
<li>Ingress in the  <strong>extensions/v1beta1</strong>  API version will no longer be served</li>
<li>Migrate to use the  <strong>networking.k8s.io/v1beta1</strong>  API version, available since v1.14. &gt;Existing persisted data can be retrieved/updated via the new version.</li>
</ul>
</blockquote>
<blockquote>
<p>Kubernetes 1.16 is due to be released in September 2019, so be sure to audit your configuration and integrations now!</p>
<ul>
<li>Change YAML files to reference the newer APIs</li>
<li><strong>Update custom integrations and controllers to call the newer APIs</strong></li>
<li>Update third party tools (ingress controllers, continuous delivery systems) to call the newer APIs</li>
</ul>
</blockquote>
<p>See also <a href="https://kubernetes.io/blog/2021/07/14/upcoming-changes-in-kubernetes-1-22/" rel="nofollow noreferrer">Kubernetes API and Feature Removals In 1.22: Here’s What You Need To Know</a>.</p>
