Merge pull request #32784 from apelisse/openapi-v3-beta
Add documentation for OpenAPI v3 Beta
This commit is contained in:
@@ -82,18 +82,42 @@ packages that define the API objects.
|
|||||||
|
|
||||||
### OpenAPI V3
|
### OpenAPI V3
|
||||||
|
|
||||||
{{< feature-state state="alpha" for_k8s_version="v1.23" >}}
|
{{< feature-state state="beta" for_k8s_version="v1.24" >}}
|
||||||
|
|
||||||
Kubernetes v1.23 offers initial support for publishing its APIs as OpenAPI v3; this is an
|
Kubernetes {{< param "version" >}} offers beta support for publishing its APIs as OpenAPI v3; this is a
|
||||||
alpha feature that is disabled by default.
|
beta feature that is enabled by default.
|
||||||
You can enable the alpha feature by turning on the
|
You can disable the beta feature by turning off the
|
||||||
[feature gate](/docs/reference/command-line-tools-reference/feature-gates/) named `OpenAPIV3`
|
[feature gate](/docs/reference/command-line-tools-reference/feature-gates/) named `OpenAPIV3`
|
||||||
for the kube-apiserver component.
|
for the kube-apiserver component.
|
||||||
|
|
||||||
With the feature enabled, the Kubernetes API server serves an
|
A discovery endpoint `/openapi/v3` is provided to see a list of all
|
||||||
aggregated OpenAPI v3 spec per Kubernetes group version at the
|
group/versions available. This endpoint only returns JSON. These group/versions
|
||||||
`/openapi/v3/apis/<group>/<version>` endpoint. Please refer to the
|
are provided in the following format:
|
||||||
table below for accepted request headers.
|
```json
|
||||||
|
{
|
||||||
|
"paths": {
|
||||||
|
...
|
||||||
|
"api/v1": {
|
||||||
|
"serverRelativeURL": "/openapi/v3/api/v1?hash=CC0E9BFD992D8C59AEC98A1E2336F899E8318D3CF4C68944C3DEC640AF5AB52D864AC50DAA8D145B3494F75FA3CFF939FCBDDA431DAD3CA79738B297795818CF"
|
||||||
|
},
|
||||||
|
"apis/admissionregistration.k8s.io/v1": {
|
||||||
|
"serverRelativeURL": "/openapi/v3/apis/admissionregistration.k8s.io/v1?hash=E19CC93A116982CE5422FC42B590A8AFAD92CDE9AE4D59B5CAAD568F083AD07946E6CB5817531680BCE6E215C16973CD39003B0425F3477CFD854E89A9DB6597"
|
||||||
|
},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
The relative URLs are pointing to immutable OpenAPI descriptions, in
|
||||||
|
order to improve client-side caching. The proper HTTP caching headers
|
||||||
|
are also set by the API server for that purpose (`Expires` to 1 year in
|
||||||
|
the future, and `Cache-Control` to `immutable`). When an obsolete URL is
|
||||||
|
used, the API server returns a redirect to the newest URL.
|
||||||
|
|
||||||
|
The Kubernetes API server publishes an OpenAPI v3 spec per Kubernetes
|
||||||
|
group version at the `/openapi/v3/apis/<group>/<version>?hash=<hash>`
|
||||||
|
endpoint.
|
||||||
|
|
||||||
|
Refer to the table below for accepted request headers.
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<caption style="display:none">Valid request header values for OpenAPI v3 queries</caption>
|
<caption style="display:none">Valid request header values for OpenAPI v3 queries</caption>
|
||||||
@@ -126,9 +150,6 @@ table below for accepted request headers.
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
A discovery endpoint `/openapi/v3` is provided to see a list of all
|
|
||||||
group/versions available. This endpoint only returns JSON.
|
|
||||||
|
|
||||||
## Persistence
|
## Persistence
|
||||||
|
|
||||||
Kubernetes stores the serialized state of objects by writing them into
|
Kubernetes stores the serialized state of objects by writing them into
|
||||||
|
|||||||
@@ -158,7 +158,8 @@ different Kubernetes components.
|
|||||||
| `NodeOutOfServiceVolumeDetach` | `false` | Alpha | 1.24 | |
|
| `NodeOutOfServiceVolumeDetach` | `false` | Alpha | 1.24 | |
|
||||||
| `OpenAPIEnums` | `false` | Alpha | 1.23 | 1.23 |
|
| `OpenAPIEnums` | `false` | Alpha | 1.23 | 1.23 |
|
||||||
| `OpenAPIEnums` | `false` | Beta | 1.24 | |
|
| `OpenAPIEnums` | `false` | Beta | 1.24 | |
|
||||||
| `OpenAPIV3` | `false` | Alpha | 1.23 | |
|
| `OpenAPIV3` | `false` | Alpha | 1.23 | 1.23 |
|
||||||
|
| `OpenAPIV3` | `true` | Beta | 1.24 | |
|
||||||
| `PodAndContainerStatsFromCRI` | `false` | Alpha | 1.23 | |
|
| `PodAndContainerStatsFromCRI` | `false` | Alpha | 1.23 | |
|
||||||
| `PodDeletionCost` | `false` | Alpha | 1.21 | 1.21 |
|
| `PodDeletionCost` | `false` | Alpha | 1.21 | 1.21 |
|
||||||
| `PodDeletionCost` | `true` | Beta | 1.22 | |
|
| `PodDeletionCost` | `true` | Beta | 1.22 | |
|
||||||
|
|||||||
Reference in New Issue
Block a user