## background

The `apiextensions.k8s.io/v1beta1` API version of CustomResourceDefinition is 
no longer served as of v1.22. 
ref: 
https://kubernetes.io/docs/reference/using-api/deprecation-guide/#customresourcedefinition-v122

And the `apiextensions.k8s.io/v1` API version, available since v1.16.

* All existing persisted objects are accessible via the new API
* Notable changes:
    * `spec.scope` is no longer defaulted to `Namespaced` and must be 
explicitly specified
    * `spec.version` is removed in v1; use `spec.versions` instead
    * `spec.validation` is removed in v1; use `spec.versions[*].schema` instead
    * `spec.subresources` is removed in v1; use `spec.versions[*].subresources` 
instead
    * `spec.additionalPrinterColumns` is removed in v1; use 
`spec.versions[*].additionalPrinterColumns` instead
    * `spec.conversion.webhookClientConfig` is moved to 
`spec.conversion.webhook.clientConfig` in v1
    * `spec.conversion.conversionReviewVersions` is moved to 
`spec.conversion.webhook.conversionReviewVersions` in v1
    * `spec.versions[*].schema.openAPIV3Schema` is now required when creating 
v1 CustomResourceDefinition objects, and must be a [structural 
schema](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#specifying-a-structural-schema)
    * `spec.preserveUnknownFields: true` is disallowed when creating v1 
CustomResourceDefinition objects; it must be specified within schema 
definitions as `x-kubernetes-preserve-unknown-fields: true`
    * In `additionalPrinterColumns` items, the `JSONPath` field was renamed to 
`jsonPath` in v1 (fixes 
[#66531](https://github.com/kubernetes/kubernetes/issues/66531))


Should we drop the `apiextensions.k8s.io/v1beta1` API version support?

Reply via email to