Add links to CustomResourceDefinition reference. (#5788)

* Add links to CustomResourceDefinition reference.

* Add links to ThirdPartyResource page.
This commit is contained in:
Steve Perry 2017-10-06 12:05:16 -07:00 committed by GitHub
parent 8cf6b54e77
commit 004a166985
3 changed files with 27 additions and 6 deletions

View File

@ -6,19 +6,26 @@ approvers:
--- ---
{% capture overview %} {% capture overview %}
This page shows how to install a [custom resource](/docs/concepts/api-extension/custom-resources/) This page shows how to install a
into the Kubernetes API by creating a CustomResourceDefinition. [custom resource](/docs/concepts/api-extension/custom-resources/)
into the Kubernetes API by creating a
[CustomResourceDefinition](/docs/api-reference/{{page.version}}/#customresourcedefinition-v1beta1-apiextensions).
{% endcapture %} {% endcapture %}
{% capture prerequisites %} {% capture prerequisites %}
* Read about [custom resources](/docs/concepts/api-extension/custom-resources/).
{% include task-tutorial-prereqs.md %}
* Make sure your Kubernetes cluster has a master version of 1.7.0 or higher. * Make sure your Kubernetes cluster has a master version of 1.7.0 or higher.
* Read about [custom resources](/docs/concepts/api-extension/custom-resources/).
{% endcapture %} {% endcapture %}
{% capture steps %} {% capture steps %}
## Create a CustomResourceDefinition ## Create a CustomResourceDefinition
When you create a new *CustomResourceDefinition* (CRD), the Kubernetes API Server When you create a new CustomResourceDefinition (CRD), the Kubernetes API Server
reacts by creating a new RESTful resource path, either namespaced or cluster-scoped, reacts by creating a new RESTful resource path, either namespaced or cluster-scoped,
as specified in the CRD's `scope` field. As with existing built-in objects, deleting a as specified in the CRD's `scope` field. As with existing built-in objects, deleting a
namespace deletes all custom objects in that namespace. namespace deletes all custom objects in that namespace.
@ -174,7 +181,8 @@ meaning all finalizers are done.
### Validation ### Validation
Validation of custom objects is possible via [OpenAPI v3 schema](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#schemaObject). Validation of custom objects is possible via
[OpenAPI v3 schema](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#schemaObject).
Additionally, the following restrictions are applied to the schema: Additionally, the following restrictions are applied to the schema:
- The fields `default`, `nullable`, `discriminator`, `readOnly`, `writeOnly`, `xml` and - The fields `default`, `nullable`, `discriminator`, `readOnly`, `writeOnly`, `xml` and
@ -293,6 +301,7 @@ crontab "my-new-cron-object" created
{% capture whatsnext %} {% capture whatsnext %}
* Learn how to [Migrate a ThirdPartyResource to CustomResourceDefinition](/docs/tasks/access-kubernetes-api/migrate-third-party-resource/). * Learn how to [Migrate a ThirdPartyResource to CustomResourceDefinition](/docs/tasks/access-kubernetes-api/migrate-third-party-resource/).
* See [CustomResourceDefinition](/docs/api-reference/{{page.version}}/#customresourcedefinition-v1beta1-apiextensions).
{% endcapture %} {% endcapture %}
{% include templates/task.md %} {% include templates/task.md %}

View File

@ -134,3 +134,11 @@ $ kubectl get crontab -o json
"selfLink": "" "selfLink": ""
} }
``` ```
## What's next
* [Migrate a ThirdPartyResource to a CustomResourceDefinition](/docs/tasks/access-kubernetes-api/migrate-third-party-resource/)
* [Extend the Kubernetes API with CustomResourceDefinitions](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/)
* [ThirdPartyResource](/docs/api-reference/v1.7/#thirdpartyresource-v1beta1-extensions)

View File

@ -6,7 +6,8 @@ approvers:
--- ---
{% capture overview %} {% capture overview %}
This page shows how to migrate data stored in a ThirdPartyResource (TPR) to a CustomResourceDefinition (CRD). This page shows how to migrate data stored in a ThirdPartyResource (TPR) to a
[CustomResourceDefinition](/docs/api-reference/{{page.version}}/#customresourcedefinition-v1beta1-apiextensions) (CRD).
Kubernetes does not automatically migrate existing TPRs. Kubernetes does not automatically migrate existing TPRs.
This is due to API changes introduced as part of This is due to API changes introduced as part of
@ -22,6 +23,8 @@ you **on a best-effort basis**.
{% endcapture %} {% endcapture %}
{% capture prerequisites %} {% capture prerequisites %}
{% include task-tutorial-prereqs.md %}
* Make sure your Kubernetes cluster has a **master version of exactly 1.7.x** (any patch release), * Make sure your Kubernetes cluster has a **master version of exactly 1.7.x** (any patch release),
as this is the only version that supports both TPR and CRD. as this is the only version that supports both TPR and CRD.
* If you use a TPR-based custom controller, check with the author of the controller first. * If you use a TPR-based custom controller, check with the author of the controller first.
@ -160,6 +163,7 @@ you **on a best-effort basis**.
{% capture whatsnext %} {% capture whatsnext %}
* Learn more about [custom resources](/docs/concepts/api-extension/custom-resources/). * Learn more about [custom resources](/docs/concepts/api-extension/custom-resources/).
* Learn more about [using CustomResourceDefinitions](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/). * Learn more about [using CustomResourceDefinitions](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/).
* See [CustomResourceDefinition](/docs/api-reference/{{page.version}}/#customresourcedefinition-v1beta1-apiextensions).
{% endcapture %} {% endcapture %}
{% include templates/task.md %} {% include templates/task.md %}