<p>I have created a new GKE Cluster in the region 'us-west-1' and gave full access to the cloud services. I want to deploy the kubeflow pipeline on the cluster. I am getting the following error when I click the deploy button...</p>
<p>Error: Failed to create CustomResourceDefinition.</p>
<pre><code>{&quot;metadata&quot;:{},&quot;status&quot;:&quot;Failure&quot;,&quot;message&quot;:&quot;CustomResourceDefinition.apiextensions.k8s.io \&quot;applications.app.k8s.io\&quot; is invalid: [spec.versions[0].schema.openAPIV3Schema: Required value: schemas are required, spec.versions: Invalid value: []apiextensions.CustomResourceDefinitionVersion{apiextensions.CustomResourceDefinitionVersion{Name:\&quot;v1beta1\&quot;, Served:false, Storage:false, Schema:(*apiextensions.CustomResourceValidation)(nil), Subresources:(*apiextensions.CustomResourceSubresources)(nil), AdditionalPrinterColumns:[]apiextensions.CustomResourceColumnDefinition(nil)}}: must have exactly one version marked as storage version, status.storedVersions: Invalid value: []string(nil): must have at least one stored version, metadata.annotations[api-approved.kubernetes.io]: Required value: protected groups must have approval annotation \&quot;api-approved.kubernetes.io\&quot;, see https://github.com/kubernetes/enhancements/pull/1111]&quot;,&quot;reason&quot;:&quot;Invalid&quot;,&quot;details&quot;:{&quot;name&quot;:&quot;applications.app.k8s.io&quot;,&quot;group&quot;:&quot;apiextensions.k8s.io&quot;,&quot;kind&quot;:&quot;CustomResourceDefinition&quot;,&quot;causes&quot;:[{&quot;reason&quot;:&quot;FieldValueRequired&quot;,&quot;message&quot;:&quot;Required value: schemas are required&quot;,&quot;field&quot;:&quot;spec.versions[0].schema.openAPIV3Schema&quot;},{&quot;reason&quot;:&quot;FieldValueInvalid&quot;,&quot;message&quot;:&quot;Invalid value: []apiextensions.CustomResourceDefinitionVersion{apiextensions.CustomResourceDefinitionVersion{Name:\&quot;v1beta1\&quot;, Served:false, Storage:false, Schema:(*apiextensions.CustomResourceValidation)(nil), Subresources:(*apiextensions.CustomResourceSubresources)(nil), AdditionalPrinterColumns:[]apiextensions.CustomResourceColumnDefinition(nil)}}: must have exactly one version marked as storage version&quot;,&quot;field&quot;:&quot;spec.versions&quot;},{&quot;reason&quot;:&quot;FieldValueInvalid&quot;,&quot;message&quot;:&quot;Invalid value: []string(nil): must have at least one stored version&quot;,&quot;field&quot;:&quot;status.storedVersions&quot;},{&quot;reason&quot;:&quot;FieldValueRequired&quot;,&quot;message&quot;:&quot;Required value: protected groups must have approval annotation \&quot;api-approved.kubernetes.io\&quot;, see https://github.com/kubernetes/enhancements/pull/1111&quot;,&quot;field&quot;:&quot;metadata.annotations[api-approved.kubernetes.io]&quot;}]},&quot;code&quot;:422} 
</code></pre>
<p>I have left all the other fields default and not accessing any database.</p>
<p>This is my first project using GCP. Any help is much appreciated.</p>

<p>Which version of <strong>Kubernetes</strong> you are running in your cluster.</p>
<p>Error you are getting is due to wrong API version in CRD files</p>
<p>you can check the supported API version of your kubernetes by running the command :</p>
<pre><code>kubectl api-resources
</code></pre>
<p><a href="https://i.stack.imgur.com/viNRj.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/viNRj.png" alt="enter image description here" /></a></p>
<p>check the CRD supported API version</p>
<pre><code>apiextensions.k8s.io
</code></pre>
<p>update supported API version in file and try applying same.</p>
<p><strong>kube-flow</strong> also provide the way to validate the necessary all API first</p>
<p>you can check at : <a href="https://github.com/kubeflow/crd-validation" rel="nofollow noreferrer">https://github.com/kubeflow/crd-validation</a></p>
