|
| 1 | +# v12.0.0a1-snapshot |
| 2 | + |
| 3 | +Kubernetes API Version: 1.16.9 |
| 4 | + |
| 5 | +**API Change:** |
| 6 | + |
| 7 | +- The `MutatingWebhookConfiguration` and `ValidatingWebhookConfiguration` APIs have been promoted to `admissionregistration.k8s.io/v1`: |
| 8 | + - `failurePolicy` default changed from `Ignore` to `Fail` for v1 |
| 9 | + - `matchPolicy` default changed from `Exact` to `Equivalent` for v1 |
| 10 | + - `timeout` default changed from `30s` to `10s` for v1 |
| 11 | + - `sideEffects` default value is removed, and the field made required, and only `None` and `NoneOnDryRun` are permitted for v1 |
| 12 | + - `admissionReviewVersions` default value is removed and the field made required for v1 (supported versions for AdmissionReview are `v1` and `v1beta1`) |
| 13 | + - The `name` field for specified webhooks must be unique for `MutatingWebhookConfiguration` and `ValidatingWebhookConfiguration` objects created via `admissionregistration.k8s.io/v1` |
| 14 | +- The `AdmissionReview` API sent to and received from admission webhooks has been promoted to `admission.k8s.io/v1`. Webhooks can specify a preference for receiving `v1` AdmissionReview objects with `admissionReviewVersions: ["v1","v1beta1"]`, and must respond with an API object in the same `apiVersion` they are sent. When webhooks use `admission.k8s.io/v1`, the following additional validation is performed on their responses: |
| 15 | + - `response.patch` and `response.patchType` are not permitted from validating admission webhooks |
| 16 | + - `apiVersion: "admission.k8s.io/v1"` is required |
| 17 | + - `kind: "AdmissionReview"` is required |
| 18 | + - `response.uid: "<value of request.uid>"` is required |
| 19 | + - `response.patchType: "JSONPatch"` is required (if `response.patch` is set) ([#80231](https://github.com/kubernetes/kubernetes/pull/80231), [@liggitt](https://github.com/liggitt)) |
| 20 | +- The `CustomResourceDefinition` API type is promoted to `apiextensions.k8s.io/v1` with the following changes: |
| 21 | + - Use of the new `default` feature in validation schemas is limited to v1 |
| 22 | + - `spec.scope` is no longer defaulted to `Namespaced` and must be explicitly specified |
| 23 | + - `spec.version` is removed in v1; use `spec.versions` instead |
| 24 | + - `spec.validation` is removed in v1; use `spec.versions[*].schema` instead |
| 25 | + - `spec.subresources` is removed in v1; use `spec.versions[*].subresources` instead |
| 26 | + - `spec.additionalPrinterColumns` is removed in v1; use `spec.versions[*].additionalPrinterColumns` instead |
| 27 | + - `spec.conversion.webhookClientConfig` is moved to `spec.conversion.webhook.clientConfig` in v1 |
| 28 | + - `spec.conversion.conversionReviewVersions` is moved to `spec.conversion.webhook.conversionReviewVersions` in v1 |
| 29 | + - `spec.versions[*].schema.openAPIV3Schema` is now required when creating v1 CustomResourceDefinitions |
| 30 | + - `spec.preserveUnknownFields: true` is disallowed when creating v1 CustomResourceDefinitions; it must be specified within schema definitions as `x-kubernetes-preserve-unknown-fields: true` |
| 31 | + - In `additionalPrinterColumns` items, the `JSONPath` field was renamed to `jsonPath` in v1 (fixes https://github.com/kubernetes/kubernetes/issues/66531) |
| 32 | + The `apiextensions.k8s.io/v1beta1` version of `CustomResourceDefinition` is deprecated and will no longer be served in v1.19. ([#79604](https://github.com/kubernetes/kubernetes/pull/79604), [@liggitt](https://github.com/liggitt)) |
| 33 | +- The `ConversionReview` API sent to and received from custom resource CustomResourceDefinition conversion webhooks has been promoted to `apiextensions.k8s.io/v1`. CustomResourceDefinition conversion webhooks can now indicate they support receiving and responding with `ConversionReview` API objects in the `apiextensions.k8s.io/v1` version by including `v1` in the `conversionReviewVersions` list in their CustomResourceDefinition. Conversion webhooks must respond with a ConversionReview object in the same apiVersion they receive. `apiextensions.k8s.io/v1` `ConversionReview` responses must specify a `response.uid` that matches the `request.uid` of the object they were sent. ([#81476](https://github.com/kubernetes/kubernetes/pull/81476), [@liggitt](https://github.com/liggitt)) |
| 34 | +- Add scheduling support for RuntimeClasses. RuntimeClasses can now specify nodeSelector constraints & tolerations, which are merged into the PodSpec for pods using that RuntimeClass. ([#80825](https://github.com/kubernetes/kubernetes/pull/80825), [@tallclair](https://github.com/tallclair)) |
| 35 | +- Kubelet should now more reliably report the same primary node IP even if the set of node IPs reported by the CloudProvider changes. ([#79391](https://github.com/kubernetes/kubernetes/pull/79391), [@danwinship](https://github.com/danwinship)) |
| 36 | +- Omit nil or empty field when calculating container hash value to avoid hash changed. For a new field with a non-nil default value in the container spec, the hash would still get changed. ([#57741](https://github.com/kubernetes/kubernetes/pull/57741), [@dixudx](https://github.com/dixudx)) |
| 37 | +- Property `conditions` in `apiextensions.v1beta1.CustomResourceDefinitionStatus` and `apiextensions.v1.CustomResourceDefinitionStatus` is now optional instead of required. ([#64996](https://github.com/kubernetes/kubernetes/pull/64996), [@roycaihw](https://github.com/roycaihw)) |
| 38 | +- When the status of a CustomResourceDefinition condition changes, its corresponding `lastTransitionTime` is now updated. ([#69655](https://github.com/kubernetes/kubernetes/pull/69655), [@CaoShuFeng](https://github.com/CaoShuFeng)) |
| 39 | + |
1 | 40 | # v11.0.0
|
2 | 41 |
|
3 | 42 | Kubernetes API Version: 1.15.10
|
|
0 commit comments