Question: What is Parameters?

Answer: n a m e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d n a m e   o f   t h e   C o n t r o l l e r R e v i s i o n n a m e s p a c e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d n a m e s p a c e b o d y :   C o n t r o l l e r R e v i s i o n ,   r e q u i r e d d r y R u n   ( i n   q u e r y ) :   s t r i n g d r y R u n f i e l d M a n a g e r   ( i n   q u e r y ) :   s t r i n g f i e l d M a n a g e r f i e l d V a l i d a t i o n   ( i n   q u e r y ) :   s t r i n g f i e l d V a l i d a t i o n p r e t t y   ( i n   q u e r y ) :   s t r i n g p r e t t y   n a m e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d   n a m e   o f   t h e   C o n t r o l l e r R e v i s i o n   n a m e s p a c e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d   n a m e s p a c e   b o d y :   C o n t r o l l e r R e v i s i o n ,   r e q u i r e d   d r y R u n   ( i n   q u e r y ) :   s t r i n g   d r y R u n   f i e l d M a n a g e r   ( i n   q u e r y ) :   s t r i n g   f i e l d M a n a g e r   f i e l d V a l i d a t i o n   ( i n   q u e r y ) :   s t r i n g   f i e l d V a l i d a t i o n   p r e t t y   ( i n   q u e r y ) :   s t r i n g   p r e t t y


Question: What is Response?

Answer: 2 0 0   ( C o n t r o l l e r R e v i s i o n ) :   O K   2 0 1   ( C o n t r o l l e r R e v i s i o n ) :   C r e a t e d   4 0 1 :   U n a u t h o r i z e d


Question: What is HTTP Request?

Answer: P A T C H   / a p i s / a p p s / v 1 / n a m e s p a c e s / { n a m e s p a c e } / c o n t r o l l e r r e v i s i o n s / { n a m e }


Question: What is Parameters?

Answer: n a m e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d n a m e   o f   t h e   C o n t r o l l e r R e v i s i o n n a m e s p a c e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d n a m e s p a c e b o d y :   P a t c h ,   r e q u i r e d d r y R u n   ( i n   q u e r y ) :   s t r i n g d r y R u n f i e l d M a n a g e r   ( i n   q u e r y ) :   s t r i n g f i e l d M a n a g e r f i e l d V a l i d a t i o n   ( i n   q u e r y ) :   s t r i n g f i e l d V a l i d a t i o n f o r c e   ( i n   q u e r y ) :   b o o l e a n f o r c e p r e t t y   ( i n   q u e r y ) :   s t r i n g p r e t t y   n a m e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d   n a m e   o f   t h e   C o n t r o l l e r R e v i s i o n   n a m e s p a c e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d   n a m e s p a c e   b o d y :   P a t c h ,   r e q u i r e d   d r y R u n   ( i n   q u e r y ) :   s t r i n g   d r y R u n   f i e l d M a n a g e r   ( i n   q u e r y ) :   s t r i n g   f i e l d M a n a g e r   f i e l d V a l i d a t i o n   ( i n   q u e r y ) :   s t r i n g   f i e l d V a l i d a t i o n   f o r c e   ( i n   q u e r y ) :   b o o l e a n   f o r c e   p r e t t y   ( i n   q u e r y ) :   s t r i n g   p r e t t y


Question: What is Response?

Answer: 2 0 0   ( C o n t r o l l e r R e v i s i o n ) :   O K   2 0 1   ( C o n t r o l l e r R e v i s i o n ) :   C r e a t e d   4 0 1 :   U n a u t h o r i z e d


Question: What is HTTP Request?

Answer: D E L E T E   / a p i s / a p p s / v 1 / n a m e s p a c e s / { n a m e s p a c e } / c o n t r o l l e r r e v i s i o n s / { n a m e }


Question: What is Parameters?

Answer: n a m e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d n a m e   o f   t h e   C o n t r o l l e r R e v i s i o n n a m e s p a c e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d n a m e s p a c e b o d y :   D e l e t e O p t i o n s d r y R u n   ( i n   q u e r y ) :   s t r i n g d r y R u n g r a c e P e r i o d S e c o n d s   ( i n   q u e r y ) :   i n t e g e r g r a c e P e r i o d S e c o n d s i g n o r e S t o r e R e a d E r r o r W i t h C l u s t e r B r e a k i n g P o t e n t i a l   ( i n   q u e r y ) :   b o o l e a n i g n o r e S t o r e R e a d E r r o r W i t h C l u s t e r B r e a k i n g P o t e n t i a l p r e t t y   ( i n   q u e r y ) :   s t r i n g p r e t t y p r o p a g a t i o n P o l i c y   ( i n   q u e r y ) :   s t r i n g p r o p a g a t i o n P o l i c y   n a m e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d   n a m e   o f   t h e   C o n t r o l l e r R e v i s i o n   n a m e s p a c e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d   n a m e s p a c e   b o d y :   D e l e t e O p t i o n s   d r y R u n   ( i n   q u e r y ) :   s t r i n g   d r y R u n   g r a c e P e r i o d S e c o n d s   ( i n   q u e r y ) :   i n t e g e r   g r a c e P e r i o d S e c o n d s   i g n o r e S t o r e R e a d E r r o r W i t h C l u s t e r B r e a k i n g P o t e n t i a l   ( i n   q u e r y ) :   b o o l e a n   i g n o r e S t o r e R e a d E r r o r W i t h C l u s t e r B r e a k i n g P o t e n t i a l   p r e t t y   ( i n   q u e r y ) :   s t r i n g   p r e t t y   p r o p a g a t i o n P o l i c y   ( i n   q u e r y ) :   s t r i n g   p r o p a g a t i o n P o l i c y


Question: What is Response?

Answer: 2 0 0   ( S t a t u s ) :   O K   2 0 2   ( S t a t u s ) :   A c c e p t e d   4 0 1 :   U n a u t h o r i z e d


Question: What is HTTP Request?

Answer: D E L E T E   / a p i s / a p p s / v 1 / n a m e s p a c e s / { n a m e s p a c e } / c o n t r o l l e r r e v i s i o n s


Question: What is Parameters?

Answer: n a m e s p a c e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d n a m e s p a c e b o d y :   D e l e t e O p t i o n s c o n t i n u e   ( i n   q u e r y ) :   s t r i n g c o n t i n u e d r y R u n   ( i n   q u e r y ) :   s t r i n g d r y R u n f i e l d S e l e c t o r   ( i n   q u e r y ) :   s t r i n g f i e l d S e l e c t o r g r a c e P e r i o d S e c o n d s   ( i n   q u e r y ) :   i n t e g e r g r a c e P e r i o d S e c o n d s i g n o r e S t o r e R e a d E r r o r W i t h C l u s t e r B r e a k i n g P o t e n t i a l   ( i n   q u e r y ) :   b o o l e a n i g n o r e S t o r e R e a d E r r o r W i t h C l u s t e r B r e a k i n g P o t e n t i a l l a b e l S e l e c t o r   ( i n   q u e r y ) :   s t r i n g l a b e l S e l e c t o r l i m i t   ( i n   q u e r y ) :   i n t e g e r l i m i t p r e t t y   ( i n   q u e r y ) :   s t r i n g p r e t t y p r o p a g a t i o n P o l i c y   ( i n   q u e r y ) :   s t r i n g p r o p a g a t i o n P o l i c y r e s o u r c e V e r s i o n   ( i n   q u e r y ) :   s t r i n g r e s o u r c e V e r s i o n r e s o u r c e V e r s i o n M a t c h   ( i n   q u e r y ) :   s t r i n g r e s o u r c e V e r s i o n M a t c h s e n d I n i t i a l E v e n t s   ( i n   q u e r y ) :   b o o l e a n s e n d I n i t i a l E v e n t s t i m e o u t S e c o n d s   ( i n   q u e r y ) :   i n t e g e r t i m e o u t S e c o n d s   n a m e s p a c e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d   n a m e s p a c e   b o d y :   D e l e t e O p t i o n s   c o n t i n u e   ( i n   q u e r y ) :   s t r i n g   c o n t i n u e   d r y R u n   ( i n   q u e r y ) :   s t r i n g   d r y R u n   f i e l d S e l e c t o r   ( i n   q u e r y ) :   s t r i n g   f i e l d S e l e c t o r   g r a c e P e r i o d S e c o n d s   ( i n   q u e r y ) :   i n t e g e r   g r a c e P e r i o d S e c o n d s   i g n o r e S t o r e R e a d E r r o r W i t h C l u s t e r B r e a k i n g


Question: What is Response?

Answer: 2 0 0   ( S t a t u s ) :   O K   4 0 1 :   U n a u t h o r i z e d   T h i s   p a g e   i s   a u t o m a t i c a l l y   g e n e r a t e d .   I f   y o u   p l a n   t o   r e p o r t   a n   i s s u e   w i t h   t h i s   p a g e ,   m e n t i o n   t h a t   t h e   p a g e   i s   a u t o - g e n e r a t e d   i n   y o u r   i s s u e   d e s c r i p t i o n .   T h e   f i x   m a y   n e e d   t o   h a p p e n   e l s e w h e r e   i n   t h e   K u b e r n e t e s   p r o j e c t .


Question: What is Reference Documentation Quickstart?

Answer: Reference Documentation QuickstartThis page shows how to use the update-imported-docs.py script to generate the Kubernetes reference documentation. The script automates the build setup and generates the reference documentation for a release.Before you beginRequirements:You need a machine that is running Linux or macOS.You need to have these tools installed:Python v3.7.x+GitGolang version 1.13+Pip used to install PyYAMLPyYAML v5.1.2makegcc compiler/linkerDocker (Required only for kubectl command reference)Your PATH environment variable must include the required build tools, such as the Go binary and python.You need to know how to create a pull request to a GitHub repository. This involves creating your own fork of the repository. For more information, see Work from a local clone.Getting the docs repositoryMake sure your website fork is up-to-date with the kubernetes/website remote on GitHub (main branch), and clone your website fork.mkdir github.com cd github.com git clone git@github.com:<your_github_username>/website.git Determine the base directory of your clone. For example, if you followed the preceding step to get the repository, your base directory is github.com/website. The remaining steps refer to your base directory as <web-base>.Note:If you want to change the content of the component tools and API reference, see the contributing upstream guide.Overview of update-imported-docsThe update-imported-docs.py script is located in the <web-base>/update-imported-docs/ directory.The script builds the following references:Component and tool reference pagesThe kubectl command referenceThe Kubernetes API referenceNote:The kubelet reference page is not generated by this script and is maintained manually. To update the kubelet reference, follow the standard contribution process described in Opening a pull request.The update-imported-docs.py script generates the Kubernetes reference documentation from the Kubernetes source code. The script creates a temporary directory under /tmp on your machine and clones the required repositories: kubernetes/kubernetes and kubernetes-sigs/reference-docs into this directory. The script sets your GOPATH to this temporary directory. Three additional environment variables are set:K8S_RELEASEK8S_ROOTK8S_WEBROOTThe script requires two arguments to run successfully:A YAML configuration file (reference.yml)A release version, for example:1.17The configuration file contains a generate-command field. The generate-command field defines a series of build instructions from kubernetes-sigs/reference-docs/Makefile. The K8S_RELEASE variable determines the version of the release.The update-imported-docs.py script performs the following steps:Clones the related repositories specified in a configuration file. For the purpose of generating reference docs, the repository that is cloned by default is kubernetes-sigs/reference-docs.Runs commands under the cloned repositories to prepare the docs generator and then generates the HTML and Markd


Question: How does Reference Documentation Quickstart work?

Answer: Reference Documentation QuickstartThis page shows how to use the update-imported-docs.py script to generate the Kubernetes reference documentation. The script automates the build setup and generates the reference documentation for a release.Before you beginRequirements:You need a machine that is running Linux or macOS.You need to have these tools installed:Python v3.7.x+GitGolang version 1.13+Pip used to install PyYAMLPyYAML v5.1.2makegcc compiler/linkerDocker (Required only for kubectl command reference)Your PATH environment variable must include the required build tools, such as the Go binary and python.You need to know how to create a pull request to a GitHub repository. This involves creating your own fork of the repository. For more information, see Work from a local clone.Getting the docs repositoryMake sure your website fork is up-to-date with the kubernetes/website remote on GitHub (main branch), and clone your website fork.mkdir github.com cd github.com git clone git@github.com:<your_github_username>/website.git Determine the base directory of your clone. For example, if you followed the preceding step to get the repository, your base directory is github.com/website. The remaining steps refer to your base directory as <web-base>.Note:If you want to change the content of the component tools and API reference, see the contributing upstream guide.Overview of update-imported-docsThe update-imported-docs.py script is located in the <web-base>/update-imported-docs/ directory.The script builds the following references:Component and tool reference pagesThe kubectl command referenceThe Kubernetes API referenceNote:The kubelet reference page is not generated by this script and is maintained manually. To update the kubelet reference, follow the standard contribution process described in Opening a pull request.The update-imported-docs.py script generates the Kubernetes reference documentation from the Kubernetes source code. The script creates a temporary directory under /tmp on your machine and clones the required repositories: kubernetes/kubernetes and kubernetes-sigs/reference-docs into this directory. The script sets your GOPATH to this temporary directory. Three additional environment variables are set:K8S_RELEASEK8S_ROOTK8S_WEBROOTThe script requires two arguments to run successfully:A YAML configuration file (reference.yml)A release version, for example:1.17The configuration file contains a generate-command field. The generate-command field defines a series of build instructions from kubernetes-sigs/reference-docs/Makefile. The K8S_RELEASE variable determines the version of the release.The update-imported-docs.py script performs the following steps:Clones the related repositories specified in a configuration file. For the purpose of generating reference docs, the repository that is cloned by default is kubernetes-sigs/reference-docs.Runs commands under the cloned repositories to prepare the docs generator and then generates the HTML and Markd


Question: When would you use Reference Documentation Quickstart?

Answer: Reference Documentation QuickstartThis page shows how to use the update-imported-docs.py script to generate the Kubernetes reference documentation. The script automates the build setup and generates the reference documentation for a release.Before you beginRequirements:You need a machine that is running Linux or macOS.You need to have these tools installed:Python v3.7.x+GitGolang version 1.13+Pip used to install PyYAMLPyYAML v5.1.2makegcc compiler/linkerDocker (Required only for kubectl command reference)Your PATH environment variable must include the required build tools, such as the Go binary and python.You need to know how to create a pull request to a GitHub repository. This involves creating your own fork of the repository. For more information, see Work from a local clone.Getting the docs repositoryMake sure your website fork is up-to-date with the kubernetes/website remote on GitHub (main branch), and clone your website fork.mkdir github.com cd github.com git clone git@github.com:<your_github_username>/website.git Determine the base directory of your clone. For example, if you followed the preceding step to get the repository, your base directory is github.com/website. The remaining steps refer to your base directory as <web-base>.Note:If you want to change the content of the component tools and API reference, see the contributing upstream guide.Overview of update-imported-docsThe update-imported-docs.py script is located in the <web-base>/update-imported-docs/ directory.The script builds the following references:Component and tool reference pagesThe kubectl command referenceThe Kubernetes API referenceNote:The kubelet reference page is not generated by this script and is maintained manually. To update the kubelet reference, follow the standard contribution process described in Opening a pull request.The update-imported-docs.py script generates the Kubernetes reference documentation from the Kubernetes source code. The script creates a temporary directory under /tmp on your machine and clones the required repositories: kubernetes/kubernetes and kubernetes-sigs/reference-docs into this directory. The script sets your GOPATH to this temporary directory. Three additional environment variables are set:K8S_RELEASEK8S_ROOTK8S_WEBROOTThe script requires two arguments to run successfully:A YAML configuration file (reference.yml)A release version, for example:1.17The configuration file contains a generate-command field. The generate-command field defines a series of build instructions from kubernetes-sigs/reference-docs/Makefile. The K8S_RELEASE variable determines the version of the release.The update-imported-docs.py script performs the following steps:Clones the related repositories specified in a configuration file. For the purpose of generating reference docs, the repository that is cloned by default is kubernetes-sigs/reference-docs.Runs commands under the cloned repositories to prepare the docs generator and then generates the HTML and Markd


Question: What are the benefits of Reference Documentation Quickstart?

Answer: Reference Documentation QuickstartThis page shows how to use the update-imported-docs.py script to generate the Kubernetes reference documentation. The script automates the build setup and generates the reference documentation for a release.Before you beginRequirements:You need a machine that is running Linux or macOS.You need to have these tools installed:Python v3.7.x+GitGolang version 1.13+Pip used to install PyYAMLPyYAML v5.1.2makegcc compiler/linkerDocker (Required only for kubectl command reference)Your PATH environment variable must include the required build tools, such as the Go binary and python.You need to know how to create a pull request to a GitHub repository. This involves creating your own fork of the repository. For more information, see Work from a local clone.Getting the docs repositoryMake sure your website fork is up-to-date with the kubernetes/website remote on GitHub (main branch), and clone your website fork.mkdir github.com cd github.com git clone git@github.com:<your_github_username>/website.git Determine the base directory of your clone. For example, if you followed the preceding step to get the repository, your base directory is github.com/website. The remaining steps refer to your base directory as <web-base>.Note:If you want to change the content of the component tools and API reference, see the contributing upstream guide.Overview of update-imported-docsThe update-imported-docs.py script is located in the <web-base>/update-imported-docs/ directory.The script builds the following references:Component and tool reference pagesThe kubectl command referenceThe Kubernetes API referenceNote:The kubelet reference page is not generated by this script and is maintained manually. To update the kubelet reference, follow the standard contribution process described in Opening a pull request.The update-imported-docs.py script generates the Kubernetes reference documentation from the Kubernetes source code. The script creates a temporary directory under /tmp on your machine and clones the required repositories: kubernetes/kubernetes and kubernetes-sigs/reference-docs into this directory. The script sets your GOPATH to this temporary directory. Three additional environment variables are set:K8S_RELEASEK8S_ROOTK8S_WEBROOTThe script requires two arguments to run successfully:A YAML configuration file (reference.yml)A release version, for example:1.17The configuration file contains a generate-command field. The generate-command field defines a series of build instructions from kubernetes-sigs/reference-docs/Makefile. The K8S_RELEASE variable determines the version of the release.The update-imported-docs.py script performs the following steps:Clones the related repositories specified in a configuration file. For the purpose of generating reference docs, the repository that is cloned by default is kubernetes-sigs/reference-docs.Runs commands under the cloned repositories to prepare the docs generator and then generates the HTML and Markd


Question: What is Reference Documentation Quickstart?

Answer: T h i s   p a g e   s h o w s   h o w   t o   u s e   t h e   u p d a t e - i m p o r t e d - d o c s . p y   s c r i p t   t o   g e n e r a t e   t h e   K u b e r n e t e s   r e f e r e n c e   d o c u m e n t a t i o n .   T h e   s c r i p t   a u t o m a t e s   t h e   b u i l d   s e t u p   a n d   g e n e r a t e s   t h e   r e f e r e n c e   d o c u m e n t a t i o n   f o r   a   r e l e a s e .


Question: What is Requirements:?

Answer: Y o u   n e e d   a   m a c h i n e   t h a t   i s   r u n n i n g   L i n u x   o r   m a c O S . Y o u   n e e d   t o   h a v e   t h e s e   t o o l s   i n s t a l l e d : P y t h o n   v 3 . 7 . x + G i t G o l a n g   v e r s i o n   1 . 1 3 + P i p   u s e d   t o   i n s t a l l   P y Y A M L P y Y A M L   v 5 . 1 . 2 m a k e g c c   c o m p i l e r / l i n k e r D o c k e r   ( R e q u i r e d   o n l y   f o r   k u b e c t l   c o m m a n d   r e f e r e n c e ) Y o u r   P A T H   e n v i r o n m e n t   v a r i a b l e   m u s t   i n c l u d e   t h e   r e q u i r e d   b u i l d   t o o l s ,   s u c h   a s   t h e   G o   b i n a r y   a n d   p y t h o n . Y o u   n e e d   t o   k n o w   h o w   t o   c r e a t e   a   p u l l   r e q u e s t   t o   a   G i t H u b   r e p o s i t o r y .   T h i s   i n v o l v e s   c r e a t i n g   y o u r   o w n   f o r k   o f   t h e   r e p o s i t o r y .   F o r   m o r e   i n f o r m a t i o n ,   s e e   W o r k   f r o m   a   l o c a l   c l o n e .   Y o u   n e e d   a   m a c h i n e   t h a t   i s   r u n n i n g   L i n u x   o r   m a c O S .   Y o u   n e e d   t o   h a v e   t h e s e   t o o l s   i n s t a l l e d :   P y t h o n   v 3 . 7 . x + G i t G o l a n g   v e r s i o n   1 . 1 3 + P i p   u s e d   t o   i n s t a l l   P y Y A M L P y Y A M L   v 5 . 1 . 2 m a k e g c c   c o m p i l e r / l i n k e r D o c k e r   ( R e q u i r e d   o n l y   f o r   k u b e c t l   c o m m a n d   r e f e r e n c e )   Y o u r   P A T H   e n v i r o n m e n t   v a r i a b l e   m u s t   i n c l u d e   t h e   r e q u i r e d   b u i l d   t o o l s ,   s u c h   a s   t h e   G o   b i n a r y   a n d   p y t h o n .   Y o u   n e e d   t o   k n o w   h o w   t o   c r e a t e   a   p u l l   r e q u e s t   t o   a   G i t H u b   r e p o s i t o r y .   T h i s   i n v o l v e s   c r e a t i n g   y o u r   o w n   f o r k   o f   t h e   r e p o s i t o r y .   F o r   m o r


Question: What is Getting the docs repository?

Answer: M a k e   s u r e   y o u r   w e b s i t e   f o r k   i s   u p - t o - d a t e   w i t h   t h e   k u b e r n e t e s / w e b s i t e   r e m o t e   o n   G i t H u b   ( m a i n   b r a n c h ) ,   a n d   c l o n e   y o u r   w e b s i t e   f o r k .   m k d i r   g i t h u b . c o m   c d   g i t h u b . c o m   g i t   c l o n e   g i t @ g i t h u b . c o m : < y o u r _ g i t h u b _ u s e r n a m e > / w e b s i t e . g i t   D e t e r m i n e   t h e   b a s e   d i r e c t o r y   o f   y o u r   c l o n e .   F o r   e x a m p l e ,   i f   y o u   f o l l o w e d   t h e   p r e c e d i n g   s t e p   t o   g e t   t h e   r e p o s i t o r y ,   y o u r   b a s e   d i r e c t o r y   i s   g i t h u b . c o m / w e b s i t e .   T h e   r e m a i n i n g   s t e p s   r e f e r   t o   y o u r   b a s e   d i r e c t o r y   a s   < w e b - b a s e > .


Question: What is Overview of update-imported-docs?

Answer: T h e   u p d a t e - i m p o r t e d - d o c s . p y   s c r i p t   i s   l o c a t e d   i n   t h e   < w e b - b a s e > / u p d a t e - i m p o r t e d - d o c s /   d i r e c t o r y .   T h e   s c r i p t   b u i l d s   t h e   f o l l o w i n g   r e f e r e n c e s :   C o m p o n e n t   a n d   t o o l   r e f e r e n c e   p a g e s T h e   k u b e c t l   c o m m a n d   r e f e r e n c e T h e   K u b e r n e t e s   A P I   r e f e r e n c e


Question: What is Note:?

Answer: T h e   u p d a t e - i m p o r t e d - d o c s . p y   s c r i p t   g e n e r a t e s   t h e   K u b e r n e t e s   r e f e r e n c e   d o c u m e n t a t i o n   f r o m   t h e   K u b e r n e t e s   s o u r c e   c o d e .   T h e   s c r i p t   c r e a t e s   a   t e m p o r a r y   d i r e c t o r y   u n d e r   / t m p   o n   y o u r   m a c h i n e   a n d   c l o n e s   t h e   r e q u i r e d   r e p o s i t o r i e s :   k u b e r n e t e s / k u b e r n e t e s   a n d   k u b e r n e t e s - s i g s / r e f e r e n c e - d o c s   i n t o   t h i s   d i r e c t o r y .   T h e   s c r i p t   s e t s   y o u r   G O P A T H   t o   t h i s   t e m p o r a r y   d i r e c t o r y .   T h r e e   a d d i t i o n a l   e n v i r o n m e n t   v a r i a b l e s   a r e   s e t :   K 8 S _ R E L E A S E K 8 S _ R O O T K 8 S _ W E B R O O T   T h e   s c r i p t   r e q u i r e s   t w o   a r g u m e n t s   t o   r u n   s u c c e s s f u l l y :   A   Y A M L   c o n f i g u r a t i o n   f i l e   ( r e f e r e n c e . y m l ) A   r e l e a s e   v e r s i o n ,   f o r   e x a m p l e : 1 . 1 7   T h e   c o n f i g u r a t i o n   f i l e   c o n t a i n s   a   g e n e r a t e - c o m m a n d   f i e l d .   T h e   g e n e r a t e - c o m m a n d   f i e l d   d e f i n e s   a   s e r i e s   o f   b u i l d   i n s t r u c t i o n s   f r o m   k u b e r n e t e s - s i g s / r e f e r e n c e - d o c s / M a k e f i l e .   T h e   K 8 S _ R E L E A S E   v a r i a b l e   d e t e r m i n e s   t h e   v e r s i o n   o f   t h e   r e l e a s e .   T h e   u p d a t e - i m p o r t e d - d o c s . p y   s c r i p t   p e r f o r m s   t h e   f o l l o w i n g   s t e p s :   C l o n e s   t h e   r e l a t e d   r e p o s i t o r i e s   s p e c i f i e d   i n   a   c o n f i g u r a t i o n   f i l e .   F o r   t h e   p u r p o s e   o f   g e n e r a t i n g   r e f e r e n c e   d o c s ,   t h e   r e p o s i t o r y   t h a t


Question: What is Configuration file format?

Answer: E a c h   c o n f i g u r a t i o n   f i l e   m a y   c o n t a i n   m u l t i p l e   r e p o s   t h a t   w i l l   b e   i m p o r t e d   t o g e t h e r .   W h e n   n e c e s s a r y ,   y o u   c a n   c u s t o m i z e   t h e   c o n f i g u r a t i o n   f i l e   b y   m a n u a l l y   e d i t i n g   i t .   Y o u   m a y   c r e a t e   n e w   c o n f i g   f i l e s   f o r   i m p o r t i n g   o t h e r   g r o u p s   o f   d o c u m e n t s .   T h e   f o l l o w i n g   i s   a n   e x a m p l e   o f   t h e   Y A M L   c o n f i g u r a t i o n   f i l e :   r e p o s :   -   n a m e :   c o m m u n i t y   r e m o t e :   h t t p s : / / g i t h u b . c o m / k u b e r n e t e s / c o m m u n i t y . g i t   b r a n c h :   m a s t e r   f i l e s :   -   s r c :   c o n t r i b u t o r s / d e v e l / R E A D M E . m d   d s t :   d o c s / i m p o r t e d / c o m m u n i t y / d e v e l . m d   -   s r c :   c o n t r i b u t o r s / g u i d e / R E A D M E . m d   d s t :   d o c s / i m p o r t e d / c o m m u n i t y / g u i d e . m d   S i n g l e   p a g e   M a r k d o w n   d o c u m e n t s ,   i m p o r t e d   b y   t h e   t o o l ,   m u s t   a d h e r e   t o   t h e   D o c u m e n t a t i o n   S t y l e   G u i d e .


Question: What is Customizing reference.yml?

Answer: O p e n   < w e b - b a s e > / u p d a t e - i m p o r t e d - d o c s / r e f e r e n c e . y m l   f o r   e d i t i n g .   D o   n o t   c h a n g e   t h e   c o n t e n t   f o r   t h e   g e n e r a t e - c o m m a n d   f i e l d   u n l e s s   y o u   u n d e r s t a n d   h o w   t h e   c o m m a n d   i s   u s e d   t o   b u i l d   t h e   r e f e r e n c e s .   Y o u   s h o u l d   n o t   n e e d   t o   u p d a t e   r e f e r e n c e . y m l .   A t   t i m e s ,   c h a n g e s   i n   t h e   u p s t r e a m   s o u r c e   c o d e ,   m a y   r e q u i r e   c h a n g e s   t o   t h e   c o n f i g u r a t i o n   f i l e   ( f o r   e x a m p l e :   g o l a n g   v e r s i o n   d e p e n d e n c i e s   a n d   t h i r d - p a r t y   l i b r a r y   c h a n g e s ) .   I f   y o u   e n c o u n t e r   b u i l d   i s s u e s ,   c o n t a c t   t h e   S I G - D o c s   t e a m   o n   t h e   # s i g - d o c s   K u b e r n e t e s   S l a c k   c h a n n e l .


Question: What is Note:?

Answer: I n   r e f e r e n c e . y m l ,   f i l e s   c o n t a i n s   a   l i s t   o f   s r c   a n d   d s t   f i e l d s .   T h e   s r c   f i e l d   c o n t a i n s   t h e   l o c a t i o n   o f   a   g e n e r a t e d   M a r k d o w n   f i l e   i n   t h e   c l o n e d   k u b e r n e t e s - s i g s / r e f e r e n c e - d o c s   b u i l d   d i r e c t o r y ,   a n d   t h e   d s t   f i e l d   s p e c i f i e s   w h e r e   t o   c o p y   t h i s   f i l e   i n   t h e   c l o n e d   k u b e r n e t e s / w e b s i t e   r e p o s i t o r y .   F o r   e x a m p l e :   r e p o s :   -   n a m e :   r e f e r e n c e - d o c s   r e m o t e :   h t t p s : / / g i t h u b . c o m / k u b e r n e t e s - s i g s / r e f e r e n c e - d o c s . g i t   f i l e s :   -   s r c :   g e n - c o m p d o c s / b u i l d / k u b e - a p i s e r v e r . m d   d s t :   c o n t e n t / e n / d o c s / r e f e r e n c e / c o m m a n d - l i n e - t o o l s - r e f e r e n c e / k u b e - a p i s e r v e r . m d   . . .   N o t e   t h a t   w h e n   t h e r e   a r e   m a n y   f i l e s   t o   b e   c o p i e d   f r o m   t h e   s a m e   s o u r c e   d i r e c t o r y   t o   t h e   s a m e   d e s t i n a t i o n   d i r e c t o r y ,   y o u   c a n   u s e   w i l d c a r d s   i n   t h e   v a l u e   g i v e n   t o   s r c .   Y o u   m u s t   p r o v i d e   t h e   d i r e c t o r y   n a m e   a s   t h e   v a l u e   f o r   d s t .   F o r   e x a m p l e :   f i l e s :   -   s r c :   g e n - c o m p d o c s / b u i l d / k u b e a d m * . m d   d s t :   c o n t e n t / e n / d o c s / r e f e r e n c e / s e t u p - t o o l s / k u b e a d m / g e n e r a t e d /


Question: What is Running the update-imported-docs tool?

Answer: Y o u   c a n   r u n   t h e   u p d a t e - i m p o r t e d - d o c s . p y   t o o l   a s   f o l l o w s :   c d   < w e b - b a s e > / u p d a t e - i m p o r t e d - d o c s   . / u p d a t e - i m p o r t e d - d o c s . p y   < c o n f i g u r a t i o n - f i l e . y m l >   < r e l e a s e - v e r s i o n >   F o r   e x a m p l e :   . / u p d a t e - i m p o r t e d - d o c s . p y   r e f e r e n c e . y m l   1 . 1 7


Question: What is Fixing Links?

Answer: T h e   r e l e a s e . y m l   c o n f i g u r a t i o n   f i l e   c o n t a i n s   i n s t r u c t i o n s   t o   f i x   r e l a t i v e   l i n k s .   T o   f i x   r e l a t i v e   l i n k s   w i t h i n   y o u r   i m p o r t e d   f i l e s ,   s e t   t h e g e n - a b s o l u t e - l i n k s   p r o p e r t y   t o   t r u e .   Y o u   c a n   f i n d   a n   e x a m p l e   o f   t h i s   i n   r e l e a s e . y m l .


Question: What is Adding and committing changes in kubernetes/website?

Answer: L i s t   t h e   f i l e s   t h a t   w e r e   g e n e r a t e d   a n d   c o p i e d   t o   < w e b - b a s e > :   c d   < w e b - b a s e >   g i t   s t a t u s   T h e   o u t p u t   s h o w s   t h e   n e w   a n d   m o d i f i e d   f i l e s .   T h e   g e n e r a t e d   o u t p u t   v a r i e s   d e p e n d i n g   u p o n   c h a n g e s   m a d e   t o   t h e   u p s t r e a m   s o u r c e   c o d e .


Question: What is Generated component tool files?

Answer: c o n t e n t / e n / d o c s / r e f e r e n c e / c o m m a n d - l i n e - t o o l s - r e f e r e n c e / k u b e - a p i s e r v e r . m d   c o n t e n t / e n / d o c s / r e f e r e n c e / c o m m a n d - l i n e - t o o l s - r e f e r e n c e / k u b e - c o n t r o l l e r - m a n a g e r . m d   c o n t e n t / e n / d o c s / r e f e r e n c e / c o m m a n d - l i n e - t o o l s - r e f e r e n c e / k u b e - p r o x y . m d   c o n t e n t / e n / d o c s / r e f e r e n c e / c o m m a n d - l i n e - t o o l s - r e f e r e n c e / k u b e - s c h e d u l e r . m d   c o n t e n t / e n / d o c s / r e f e r e n c e / s e t u p - t o o l s / k u b e a d m / g e n e r a t e d / k u b e a d m . m d   c o n t e n t / e n / d o c s / r e f e r e n c e / k u b e c t l / k u b e c t l . m d


Question: What is Generated kubectl command reference files?

Answer: s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e c t l / k u b e c t l - c o m m a n d s . h t m l   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e c t l / n a v D a t a . j s   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e c t l / s c r o l l . j s   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e c t l / s t y l e s h e e t . c s s   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e c t l / t a b v i s i b i l i t y . j s   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e c t l / n o d e _ m o d u l e s / b o o t s t r a p / d i s t / c s s / b o o t s t r a p . m i n . c s s   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e c t l / n o d e _ m o d u l e s / h i g h l i g h t . j s / s t y l e s / d e f a u l t . c s s   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e c t l / n o d e _ m o d u l e s / j q u e r y . s c r o l l t o / j q u e r y . s c r o l l T o . m i n . j s   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e c t l / n o d e _ m o d u l e s / j q u e r y / d i s t / j q u e r y . m i n . j s   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e c t l / c s s / f o n t - a w e s o m e . m i n . c s s


Question: What is Generated Kubernetes API reference directories and files?

Answer: s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e r n e t e s - a p i / v 1 . 3 4 / i n d e x . h t m l   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e r n e t e s - a p i / v 1 . 3 4 / j s / n a v D a t a . j s   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e r n e t e s - a p i / v 1 . 3 4 / j s / s c r o l l . j s   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e r n e t e s - a p i / v 1 . 3 4 / j s / q u e r y . s c r o l l T o . m i n . j s   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e r n e t e s - a p i / v 1 . 3 4 / c s s / f o n t - a w e s o m e . m i n . c s s   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e r n e t e s - a p i / v 1 . 3 4 / c s s / b o o t s t r a p . m i n . c s s   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e r n e t e s - a p i / v 1 . 3 4 / c s s / s t y l e s h e e t . c s s   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e r n e t e s - a p i / v 1 . 3 4 / f o n t s / F o n t A w e s o m e . o t f   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e r n e t e s - a p i / v 1 . 3 4 / f o n t s / f o n t a w e s o m e - w e b f o n t . e o t   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e r n e t e s - a p i / v 1 . 3 4 / f o n t s / f o n t a w e s o m e - w e b f o n t . s v g   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e r n e t e s - a p i / v 1 . 3 4 / f o n t s / f o n t a w e s o m e - w e b f o n t . t t f   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e r n e t e s - a p i / v 1 . 3 4 / f o n t s / f o n t a w e s o m e - w e b f o n t . w o f f   s t a t i c / d o c s / r e f e r e n c e / g e n e r a t e d / k u b e r n e t e s - a p i / v 1 . 3 4 / f o n t s / f o n t a w e s o m e - w e b f o n t . w o f f 2   R u n   g i t


Question: What is Creating a pull request?

Answer: C r e a t e   a   p u l l   r e q u e s t   t o   t h e   k u b e r n e t e s / w e b s i t e   r e p o s i t o r y .   M o n i t o r   y o u r   p u l l   r e q u e s t ,   a n d   r e s p o n d   t o   r e v i e w   c o m m e n t s   a s   n e e d e d .   C o n t i n u e   t o   m o n i t o r   y o u r   p u l l   r e q u e s t   u n t i l   i t   i s   m e r g e d .   A   f e w   m i n u t e s   a f t e r   y o u r   p u l l   r e q u e s t   i s   m e r g e d ,   y o u r   u p d a t e d   r e f e r e n c e   t o p i c s   w i l l   b e   v i s i b l e   i n   t h e   p u b l i s h e d   d o c u m e n t a t i o n .


Question: What is What's next?

Answer: T o   g e n e r a t e   t h e   i n d i v i d u a l   r e f e r e n c e   d o c u m e n t a t i o n   b y   m a n u a l l y   s e t t i n g   u p   t h e   r e q u i r e d   b u i l d   r e p o s i t o r i e s   a n d   r u n n i n g   t h e   b u i l d   t a r g e t s ,   s e e   t h e   f o l l o w i n g   g u i d e s :   G e n e r a t i n g   R e f e r e n c e   D o c u m e n t a t i o n   f o r   K u b e r n e t e s   C o m p o n e n t s   a n d   T o o l s G e n e r a t i n g   R e f e r e n c e   D o c u m e n t a t i o n   f o r   k u b e c t l   C o m m a n d s G e n e r a t i n g   R e f e r e n c e   D o c u m e n t a t i o n   f o r   t h e   K u b e r n e t e s   A P I


Question: What is Assign Extended Resources to a Container?

Answer: Assign Extended Resources to a ContainerFEATURE STATE: Kubernetes v1.34 [stable]This page shows how to assign extended resources to a Container.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:iximiuz LabsKillercodaKodeKloudPlay with KubernetesTo check the version, enter kubectl version.Before you do this exercise, do the exercise in Advertise Extended Resources for a Node. That will configure one of your Nodes to advertise a dongle resource.Assign an extended resource to a PodTo request an extended resource, include the resources:requests field in your Container manifest. Extended resources are fully qualified with any domain outside of *.kubernetes.io/. Valid extended resource names have the form example.com/foo where example.com is replaced with your organization's domain and foo is a descriptive resource name.Here is the configuration file for a Pod that has one Container:pods/resource/extended-resource-pod.yaml apiVersion: v1 kind: Pod metadata: name: extended-resource-demo spec: containers: - name: extended-resource-demo-ctr image: nginx resources: requests: example.com/dongle: 3 limits: example.com/dongle: 3 In the configuration file, you can see that the Container requests 3 dongles.Create a Pod:kubectl apply -f https://k8s.io/examples/pods/resource/extended-resource-pod.yaml Verify that the Pod is running:kubectl get pod extended-resource-demo Describe the Pod:kubectl describe pod extended-resource-demo The output shows dongle requests:Limits: example.com/dongle: 3 Requests: example.com/dongle: 3 Attempt to create a second PodHere is the configuration file for a Pod that has one Container. The Container requests two dongles.pods/resource/extended-resource-pod-2.yaml apiVersion: v1 kind: Pod metadata: name: extended-resource-demo-2 spec: containers: - name: extended-resource-demo-2-ctr image: nginx resources: requests: example.com/dongle: 2 limits: example.com/dongle: 2 Kubernetes will not be able to satisfy the request for two dongles, because the first Pod used three of the four available dongles.Attempt to create a Pod:kubectl apply -f https://k8s.io/examples/pods/resource/extended-resource-pod-2.yaml Describe the Podkubectl describe pod extended-resource-demo-2 The output shows that the Pod cannot be scheduled, because there is no Node that has 2 dongles available:Conditions: Type Status PodScheduled False ... Events: ... ... Warning FailedScheduling pod (extended-resource-demo-2) failed to fit in any node fit failure summary on nodes : Insufficient example.com/dongle (1) View the Pod status:kubectl get pod extended-resource-demo-2 The output shows that the Pod was created, but not scheduled to run on


Question: How does Assign Extended Resources to a Container work?

Answer: Assign Extended Resources to a ContainerFEATURE STATE: Kubernetes v1.34 [stable]This page shows how to assign extended resources to a Container.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:iximiuz LabsKillercodaKodeKloudPlay with KubernetesTo check the version, enter kubectl version.Before you do this exercise, do the exercise in Advertise Extended Resources for a Node. That will configure one of your Nodes to advertise a dongle resource.Assign an extended resource to a PodTo request an extended resource, include the resources:requests field in your Container manifest. Extended resources are fully qualified with any domain outside of *.kubernetes.io/. Valid extended resource names have the form example.com/foo where example.com is replaced with your organization's domain and foo is a descriptive resource name.Here is the configuration file for a Pod that has one Container:pods/resource/extended-resource-pod.yaml apiVersion: v1 kind: Pod metadata: name: extended-resource-demo spec: containers: - name: extended-resource-demo-ctr image: nginx resources: requests: example.com/dongle: 3 limits: example.com/dongle: 3 In the configuration file, you can see that the Container requests 3 dongles.Create a Pod:kubectl apply -f https://k8s.io/examples/pods/resource/extended-resource-pod.yaml Verify that the Pod is running:kubectl get pod extended-resource-demo Describe the Pod:kubectl describe pod extended-resource-demo The output shows dongle requests:Limits: example.com/dongle: 3 Requests: example.com/dongle: 3 Attempt to create a second PodHere is the configuration file for a Pod that has one Container. The Container requests two dongles.pods/resource/extended-resource-pod-2.yaml apiVersion: v1 kind: Pod metadata: name: extended-resource-demo-2 spec: containers: - name: extended-resource-demo-2-ctr image: nginx resources: requests: example.com/dongle: 2 limits: example.com/dongle: 2 Kubernetes will not be able to satisfy the request for two dongles, because the first Pod used three of the four available dongles.Attempt to create a Pod:kubectl apply -f https://k8s.io/examples/pods/resource/extended-resource-pod-2.yaml Describe the Podkubectl describe pod extended-resource-demo-2 The output shows that the Pod cannot be scheduled, because there is no Node that has 2 dongles available:Conditions: Type Status PodScheduled False ... Events: ... ... Warning FailedScheduling pod (extended-resource-demo-2) failed to fit in any node fit failure summary on nodes : Insufficient example.com/dongle (1) View the Pod status:kubectl get pod extended-resource-demo-2 The output shows that the Pod was created, but not scheduled to run on


Question: When would you use Assign Extended Resources to a Container?

Answer: Assign Extended Resources to a ContainerFEATURE STATE: Kubernetes v1.34 [stable]This page shows how to assign extended resources to a Container.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:iximiuz LabsKillercodaKodeKloudPlay with KubernetesTo check the version, enter kubectl version.Before you do this exercise, do the exercise in Advertise Extended Resources for a Node. That will configure one of your Nodes to advertise a dongle resource.Assign an extended resource to a PodTo request an extended resource, include the resources:requests field in your Container manifest. Extended resources are fully qualified with any domain outside of *.kubernetes.io/. Valid extended resource names have the form example.com/foo where example.com is replaced with your organization's domain and foo is a descriptive resource name.Here is the configuration file for a Pod that has one Container:pods/resource/extended-resource-pod.yaml apiVersion: v1 kind: Pod metadata: name: extended-resource-demo spec: containers: - name: extended-resource-demo-ctr image: nginx resources: requests: example.com/dongle: 3 limits: example.com/dongle: 3 In the configuration file, you can see that the Container requests 3 dongles.Create a Pod:kubectl apply -f https://k8s.io/examples/pods/resource/extended-resource-pod.yaml Verify that the Pod is running:kubectl get pod extended-resource-demo Describe the Pod:kubectl describe pod extended-resource-demo The output shows dongle requests:Limits: example.com/dongle: 3 Requests: example.com/dongle: 3 Attempt to create a second PodHere is the configuration file for a Pod that has one Container. The Container requests two dongles.pods/resource/extended-resource-pod-2.yaml apiVersion: v1 kind: Pod metadata: name: extended-resource-demo-2 spec: containers: - name: extended-resource-demo-2-ctr image: nginx resources: requests: example.com/dongle: 2 limits: example.com/dongle: 2 Kubernetes will not be able to satisfy the request for two dongles, because the first Pod used three of the four available dongles.Attempt to create a Pod:kubectl apply -f https://k8s.io/examples/pods/resource/extended-resource-pod-2.yaml Describe the Podkubectl describe pod extended-resource-demo-2 The output shows that the Pod cannot be scheduled, because there is no Node that has 2 dongles available:Conditions: Type Status PodScheduled False ... Events: ... ... Warning FailedScheduling pod (extended-resource-demo-2) failed to fit in any node fit failure summary on nodes : Insufficient example.com/dongle (1) View the Pod status:kubectl get pod extended-resource-demo-2 The output shows that the Pod was created, but not scheduled to run on


Question: What are the benefits of Assign Extended Resources to a Container?

Answer: Assign Extended Resources to a ContainerFEATURE STATE: Kubernetes v1.34 [stable]This page shows how to assign extended resources to a Container.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:iximiuz LabsKillercodaKodeKloudPlay with KubernetesTo check the version, enter kubectl version.Before you do this exercise, do the exercise in Advertise Extended Resources for a Node. That will configure one of your Nodes to advertise a dongle resource.Assign an extended resource to a PodTo request an extended resource, include the resources:requests field in your Container manifest. Extended resources are fully qualified with any domain outside of *.kubernetes.io/. Valid extended resource names have the form example.com/foo where example.com is replaced with your organization's domain and foo is a descriptive resource name.Here is the configuration file for a Pod that has one Container:pods/resource/extended-resource-pod.yaml apiVersion: v1 kind: Pod metadata: name: extended-resource-demo spec: containers: - name: extended-resource-demo-ctr image: nginx resources: requests: example.com/dongle: 3 limits: example.com/dongle: 3 In the configuration file, you can see that the Container requests 3 dongles.Create a Pod:kubectl apply -f https://k8s.io/examples/pods/resource/extended-resource-pod.yaml Verify that the Pod is running:kubectl get pod extended-resource-demo Describe the Pod:kubectl describe pod extended-resource-demo The output shows dongle requests:Limits: example.com/dongle: 3 Requests: example.com/dongle: 3 Attempt to create a second PodHere is the configuration file for a Pod that has one Container. The Container requests two dongles.pods/resource/extended-resource-pod-2.yaml apiVersion: v1 kind: Pod metadata: name: extended-resource-demo-2 spec: containers: - name: extended-resource-demo-2-ctr image: nginx resources: requests: example.com/dongle: 2 limits: example.com/dongle: 2 Kubernetes will not be able to satisfy the request for two dongles, because the first Pod used three of the four available dongles.Attempt to create a Pod:kubectl apply -f https://k8s.io/examples/pods/resource/extended-resource-pod-2.yaml Describe the Podkubectl describe pod extended-resource-demo-2 The output shows that the Pod cannot be scheduled, because there is no Node that has 2 dongles available:Conditions: Type Status PodScheduled False ... Events: ... ... Warning FailedScheduling pod (extended-resource-demo-2) failed to fit in any node fit failure summary on nodes : Insufficient example.com/dongle (1) View the Pod status:kubectl get pod extended-resource-demo-2 The output shows that the Pod was created, but not scheduled to run on


Question: What is Assign Extended Resources to a Container?

Answer: T h i s   p a g e   s h o w s   h o w   t o   a s s i g n   e x t e n d e d   r e s o u r c e s   t o   a   C o n t a i n e r .


Question: What is Before you begin?

Answer: Y o u   n e e d   t o   h a v e   a   K u b e r n e t e s   c l u s t e r ,   a n d   t h e   k u b e c t l   c o m m a n d - l i n e   t o o l   m u s t   b e   c o n f i g u r e d   t o   c o m m u n i c a t e   w i t h   y o u r   c l u s t e r .   I t   i s   r e c o m m e n d e d   t o   r u n   t h i s   t u t o r i a l   o n   a   c l u s t e r   w i t h   a t   l e a s t   t w o   n o d e s   t h a t   a r e   n o t   a c t i n g   a s   c o n t r o l   p l a n e   h o s t s .   I f   y o u   d o   n o t   a l r e a d y   h a v e   a   c l u s t e r ,   y o u   c a n   c r e a t e   o n e   b y   u s i n g   m i n i k u b e   o r   y o u   c a n   u s e   o n e   o f   t h e s e   K u b e r n e t e s   p l a y g r o u n d s : i x i m i u z   L a b s K i l l e r c o d a K o d e K l o u d P l a y   w i t h   K u b e r n e t e s T o   c h e c k   t h e   v e r s i o n ,   e n t e r   k u b e c t l   v e r s i o n .   Y o u   n e e d   t o   h a v e   a   K u b e r n e t e s   c l u s t e r ,   a n d   t h e   k u b e c t l   c o m m a n d - l i n e   t o o l   m u s t   b e   c o n f i g u r e d   t o   c o m m u n i c a t e   w i t h   y o u r   c l u s t e r .   I t   i s   r e c o m m e n d e d   t o   r u n   t h i s   t u t o r i a l   o n   a   c l u s t e r   w i t h   a t   l e a s t   t w o   n o d e s   t h a t   a r e   n o t   a c t i n g   a s   c o n t r o l   p l a n e   h o s t s .   I f   y o u   d o   n o t   a l r e a d y   h a v e   a   c l u s t e r ,   y o u   c a n   c r e a t e   o n e   b y   u s i n g   m i n i k u b e   o r   y o u   c a n   u s e   o n e   o f   t h e s e   K u b e r n e t e s   p l a y g r o u n d s :   i x i m i u z   L a b s K i l l e r c o d a K o d e K l o u d P l a y   w i t h   K u b e r n e t e s   T o   c h e c k   t h e   v e r s i o n ,   e n t e r   k u b e c t l   v e r s i o n .   B e f o r e   y o u   d o   t h i s   e x e r c i s e ,   d o   t h e   e x e r c i s e   i n   A d v e r t i s e   E x t e


Question: What is Assign an extended resource to a Pod?

Answer: T o   r e q u e s t   a n   e x t e n d e d   r e s o u r c e ,   i n c l u d e   t h e   r e s o u r c e s : r e q u e s t s   f i e l d   i n   y o u r   C o n t a i n e r   m a n i f e s t .   E x t e n d e d   r e s o u r c e s   a r e   f u l l y   q u a l i f i e d   w i t h   a n y   d o m a i n   o u t s i d e   o f   * . k u b e r n e t e s . i o / .   V a l i d   e x t e n d e d   r e s o u r c e   n a m e s   h a v e   t h e   f o r m   e x a m p l e . c o m / f o o   w h e r e   e x a m p l e . c o m   i s   r e p l a c e d   w i t h   y o u r   o r g a n i z a t i o n ' s   d o m a i n   a n d   f o o   i s   a   d e s c r i p t i v e   r e s o u r c e   n a m e .   H e r e   i s   t h e   c o n f i g u r a t i o n   f i l e   f o r   a   P o d   t h a t   h a s   o n e   C o n t a i n e r :   a p i V e r s i o n :   v 1   k i n d :   P o d   m e t a d a t a :   n a m e :   e x t e n d e d - r e s o u r c e - d e m o   s p e c :   c o n t a i n e r s :   -   n a m e :   e x t e n d e d - r e s o u r c e - d e m o - c t r   i m a g e :   n g i n x   r e s o u r c e s :   r e q u e s t s :   e x a m p l e . c o m / d o n g l e :   3   l i m i t s :   e x a m p l e . c o m / d o n g l e :   3   I n   t h e   c o n f i g u r a t i o n   f i l e ,   y o u   c a n   s e e   t h a t   t h e   C o n t a i n e r   r e q u e s t s   3   d o n g l e s .   C r e a t e   a   P o d :   k u b e c t l   a p p l y   - f   h t t p s : / / k 8 s . i o / e x a m p l e s / p o d s / r e s o u r c e / e x t e n d e d - r e s o u r c e - p o d . y a m l   V e r i f y   t h a t   t h e   P o d   i s   r u n n i n g :   k u b e c t l   g e t   p o d   e x t e n d e d - r e s o u r c e - d e m o   D e s c r i b e   t h e   P o d :   k u b e c t l   d e s c r i b e   p o d   e x t e n d e d - r e s o u r c e - d e m o   T h e   o u t p u t   s h o w s   d o n g l e   r e q u e s t s :   L i m i t s :   e x a m p l e . c o m / d o n g l e :   3   R e q u e s t s :   e x a m p l e


Question: What is Attempt to create a second Pod?

Answer: H e r e   i s   t h e   c o n f i g u r a t i o n   f i l e   f o r   a   P o d   t h a t   h a s   o n e   C o n t a i n e r .   T h e   C o n t a i n e r   r e q u e s t s   t w o   d o n g l e s .   a p i V e r s i o n :   v 1   k i n d :   P o d   m e t a d a t a :   n a m e :   e x t e n d e d - r e s o u r c e - d e m o - 2   s p e c :   c o n t a i n e r s :   -   n a m e :   e x t e n d e d - r e s o u r c e - d e m o - 2 - c t r   i m a g e :   n g i n x   r e s o u r c e s :   r e q u e s t s :   e x a m p l e . c o m / d o n g l e :   2   l i m i t s :   e x a m p l e . c o m / d o n g l e :   2   K u b e r n e t e s   w i l l   n o t   b e   a b l e   t o   s a t i s f y   t h e   r e q u e s t   f o r   t w o   d o n g l e s ,   b e c a u s e   t h e   f i r s t   P o d   u s e d   t h r e e   o f   t h e   f o u r   a v a i l a b l e   d o n g l e s .   A t t e m p t   t o   c r e a t e   a   P o d :   k u b e c t l   a p p l y   - f   h t t p s : / / k 8 s . i o / e x a m p l e s / p o d s / r e s o u r c e / e x t e n d e d - r e s o u r c e - p o d - 2 . y a m l   D e s c r i b e   t h e   P o d   k u b e c t l   d e s c r i b e   p o d   e x t e n d e d - r e s o u r c e - d e m o - 2   T h e   o u t p u t   s h o w s   t h a t   t h e   P o d   c a n n o t   b e   s c h e d u l e d ,   b e c a u s e   t h e r e   i s   n o   N o d e   t h a t   h a s   2   d o n g l e s   a v a i l a b l e :   C o n d i t i o n s :   T y p e   S t a t u s   P o d S c h e d u l e d   F a l s e   . . .   E v e n t s :   . . .   . . .   W a r n i n g   F a i l e d S c h e d u l i n g   p o d   ( e x t e n d e d - r e s o u r c e - d e m o - 2 )   f a i l e d   t o   f i t   i n   a n y   n o d e   f i t   f a i l u r e   s u m m a r y   o n   n o d e s   :   I n s u f f i c i e n t   e x a m p l e . c o m / d o n g l e   ( 1 )   V i e w   t h e   P o d   s t a t u s :   k u b e c t l   g e t   p o d   e x t e n d e d - r e s o u r c e - d e m o - 2   T h e   o u t p


Question: What is Clean up?

Answer: D e l e t e   t h e   P o d s   t h a t   y o u   c r e a t e d   f o r   t h i s   e x e r c i s e :   k u b e c t l   d e l e t e   p o d   e x t e n d e d - r e s o u r c e - d e m o   k u b e c t l   d e l e t e   p o d   e x t e n d e d - r e s o u r c e - d e m o - 2


Question: What is For application developers?

Answer: A s s i g n   M e m o r y   R e s o u r c e s   t o   C o n t a i n e r s   a n d   P o d s A s s i g n   C P U   R e s o u r c e s   t o   C o n t a i n e r s   a n d   P o d s


Question: What is For cluster administrators?

Answer: A d v e r t i s e   E x t e n d e d   R e s o u r c e s   f o r   a   N o d e


Question: What is Extend the Kubernetes API with CustomResourceDefinitions?

Answer: Extend the Kubernetes API with CustomResourceDefinitionsThis page shows how to install a custom resource into the Kubernetes API by creating a CustomResourceDefinition.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:iximiuz LabsKillercodaKodeKloudPlay with KubernetesYour Kubernetes server must be at or later than version 1.16.To check the version, enter kubectl version.If you are using an older version of Kubernetes that is still supported, switch to the documentation for that version to see advice that is relevant for your cluster.Create a CustomResourceDefinitionWhen you create a new CustomResourceDefinition (CRD), the Kubernetes API Server creates a new RESTful resource path for each version you specify. The custom resource created from a CRD object can be either namespaced or cluster-scoped, as specified in the CRD's spec.scope field. As with existing built-in objects, deleting a namespace deletes all custom objects in that namespace. CustomResourceDefinitions themselves are non-namespaced and are available to all namespaces.For example, if you save the following CustomResourceDefinition to resourcedefinition.yaml:apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: # name must match the spec fields below, and be in the form: <plural>.<group> name: crontabs.stable.example.com spec: # group name to use for REST API: /apis/<group>/<version> group: stable.example.com # list of versions supported by this CustomResourceDefinition versions: - name: v1 # Each version can be enabled/disabled by Served flag. served: true # One and only one version must be marked as the storage version. storage: true schema: openAPIV3Schema: type: object properties: spec: type: object properties: cronSpec: type: string image: type: string replicas: type: integer # either Namespaced or Cluster scope: Namespaced names: # plural name to be used in the URL: /apis/<group>/<version>/<plural> plural: crontabs # singular name to be used as an alias on the CLI and for display singular: crontab # kind is normally the CamelCased singular type. Your resource manifests use this. kind: CronTab # shortNames allow shorter string to match your resource on the CLI shortNames: - ct and create it:kubectl apply -f resourcedefinition.yaml Then a new namespaced RESTful API endpoint is created at:/apis/stable.example.com/v1/namespaces/*/crontabs/... This endpoint URL can then be used to create and manage custom objects. The kind of these objects will be CronTab from the spec of the CustomResourceDefinition object you created above.It might take a few seconds for the endpoint to be created. You can watch the Established condition of you


Question: How does Extend the Kubernetes API with CustomResourceDefinitions work?

Answer: Extend the Kubernetes API with CustomResourceDefinitionsThis page shows how to install a custom resource into the Kubernetes API by creating a CustomResourceDefinition.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:iximiuz LabsKillercodaKodeKloudPlay with KubernetesYour Kubernetes server must be at or later than version 1.16.To check the version, enter kubectl version.If you are using an older version of Kubernetes that is still supported, switch to the documentation for that version to see advice that is relevant for your cluster.Create a CustomResourceDefinitionWhen you create a new CustomResourceDefinition (CRD), the Kubernetes API Server creates a new RESTful resource path for each version you specify. The custom resource created from a CRD object can be either namespaced or cluster-scoped, as specified in the CRD's spec.scope field. As with existing built-in objects, deleting a namespace deletes all custom objects in that namespace. CustomResourceDefinitions themselves are non-namespaced and are available to all namespaces.For example, if you save the following CustomResourceDefinition to resourcedefinition.yaml:apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: # name must match the spec fields below, and be in the form: <plural>.<group> name: crontabs.stable.example.com spec: # group name to use for REST API: /apis/<group>/<version> group: stable.example.com # list of versions supported by this CustomResourceDefinition versions: - name: v1 # Each version can be enabled/disabled by Served flag. served: true # One and only one version must be marked as the storage version. storage: true schema: openAPIV3Schema: type: object properties: spec: type: object properties: cronSpec: type: string image: type: string replicas: type: integer # either Namespaced or Cluster scope: Namespaced names: # plural name to be used in the URL: /apis/<group>/<version>/<plural> plural: crontabs # singular name to be used as an alias on the CLI and for display singular: crontab # kind is normally the CamelCased singular type. Your resource manifests use this. kind: CronTab # shortNames allow shorter string to match your resource on the CLI shortNames: - ct and create it:kubectl apply -f resourcedefinition.yaml Then a new namespaced RESTful API endpoint is created at:/apis/stable.example.com/v1/namespaces/*/crontabs/... This endpoint URL can then be used to create and manage custom objects. The kind of these objects will be CronTab from the spec of the CustomResourceDefinition object you created above.It might take a few seconds for the endpoint to be created. You can watch the Established condition of you


Question: When would you use Extend the Kubernetes API with CustomResourceDefinitions?

Answer: Extend the Kubernetes API with CustomResourceDefinitionsThis page shows how to install a custom resource into the Kubernetes API by creating a CustomResourceDefinition.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:iximiuz LabsKillercodaKodeKloudPlay with KubernetesYour Kubernetes server must be at or later than version 1.16.To check the version, enter kubectl version.If you are using an older version of Kubernetes that is still supported, switch to the documentation for that version to see advice that is relevant for your cluster.Create a CustomResourceDefinitionWhen you create a new CustomResourceDefinition (CRD), the Kubernetes API Server creates a new RESTful resource path for each version you specify. The custom resource created from a CRD object can be either namespaced or cluster-scoped, as specified in the CRD's spec.scope field. As with existing built-in objects, deleting a namespace deletes all custom objects in that namespace. CustomResourceDefinitions themselves are non-namespaced and are available to all namespaces.For example, if you save the following CustomResourceDefinition to resourcedefinition.yaml:apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: # name must match the spec fields below, and be in the form: <plural>.<group> name: crontabs.stable.example.com spec: # group name to use for REST API: /apis/<group>/<version> group: stable.example.com # list of versions supported by this CustomResourceDefinition versions: - name: v1 # Each version can be enabled/disabled by Served flag. served: true # One and only one version must be marked as the storage version. storage: true schema: openAPIV3Schema: type: object properties: spec: type: object properties: cronSpec: type: string image: type: string replicas: type: integer # either Namespaced or Cluster scope: Namespaced names: # plural name to be used in the URL: /apis/<group>/<version>/<plural> plural: crontabs # singular name to be used as an alias on the CLI and for display singular: crontab # kind is normally the CamelCased singular type. Your resource manifests use this. kind: CronTab # shortNames allow shorter string to match your resource on the CLI shortNames: - ct and create it:kubectl apply -f resourcedefinition.yaml Then a new namespaced RESTful API endpoint is created at:/apis/stable.example.com/v1/namespaces/*/crontabs/... This endpoint URL can then be used to create and manage custom objects. The kind of these objects will be CronTab from the spec of the CustomResourceDefinition object you created above.It might take a few seconds for the endpoint to be created. You can watch the Established condition of you


Question: What are the benefits of Extend the Kubernetes API with CustomResourceDefinitions?

Answer: Extend the Kubernetes API with CustomResourceDefinitionsThis page shows how to install a custom resource into the Kubernetes API by creating a CustomResourceDefinition.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:iximiuz LabsKillercodaKodeKloudPlay with KubernetesYour Kubernetes server must be at or later than version 1.16.To check the version, enter kubectl version.If you are using an older version of Kubernetes that is still supported, switch to the documentation for that version to see advice that is relevant for your cluster.Create a CustomResourceDefinitionWhen you create a new CustomResourceDefinition (CRD), the Kubernetes API Server creates a new RESTful resource path for each version you specify. The custom resource created from a CRD object can be either namespaced or cluster-scoped, as specified in the CRD's spec.scope field. As with existing built-in objects, deleting a namespace deletes all custom objects in that namespace. CustomResourceDefinitions themselves are non-namespaced and are available to all namespaces.For example, if you save the following CustomResourceDefinition to resourcedefinition.yaml:apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: # name must match the spec fields below, and be in the form: <plural>.<group> name: crontabs.stable.example.com spec: # group name to use for REST API: /apis/<group>/<version> group: stable.example.com # list of versions supported by this CustomResourceDefinition versions: - name: v1 # Each version can be enabled/disabled by Served flag. served: true # One and only one version must be marked as the storage version. storage: true schema: openAPIV3Schema: type: object properties: spec: type: object properties: cronSpec: type: string image: type: string replicas: type: integer # either Namespaced or Cluster scope: Namespaced names: # plural name to be used in the URL: /apis/<group>/<version>/<plural> plural: crontabs # singular name to be used as an alias on the CLI and for display singular: crontab # kind is normally the CamelCased singular type. Your resource manifests use this. kind: CronTab # shortNames allow shorter string to match your resource on the CLI shortNames: - ct and create it:kubectl apply -f resourcedefinition.yaml Then a new namespaced RESTful API endpoint is created at:/apis/stable.example.com/v1/namespaces/*/crontabs/... This endpoint URL can then be used to create and manage custom objects. The kind of these objects will be CronTab from the spec of the CustomResourceDefinition object you created above.It might take a few seconds for the endpoint to be created. You can watch the Established condition of you


Question: What is Extend the Kubernetes API with CustomResourceDefinitions?

Answer: T h i s   p a g e   s h o w s   h o w   t o   i n s t a l l   a   c u s t o m   r e s o u r c e   i n t o   t h e   K u b e r n e t e s   A P I   b y   c r e a t i n g   a   C u s t o m R e s o u r c e D e f i n i t i o n .


Question: What is Before you begin?

Answer: Y o u   n e e d   t o   h a v e   a   K u b e r n e t e s   c l u s t e r ,   a n d   t h e   k u b e c t l   c o m m a n d - l i n e   t o o l   m u s t   b e   c o n f i g u r e d   t o   c o m m u n i c a t e   w i t h   y o u r   c l u s t e r .   I t   i s   r e c o m m e n d e d   t o   r u n   t h i s   t u t o r i a l   o n   a   c l u s t e r   w i t h   a t   l e a s t   t w o   n o d e s   t h a t   a r e   n o t   a c t i n g   a s   c o n t r o l   p l a n e   h o s t s .   I f   y o u   d o   n o t   a l r e a d y   h a v e   a   c l u s t e r ,   y o u   c a n   c r e a t e   o n e   b y   u s i n g   m i n i k u b e   o r   y o u   c a n   u s e   o n e   o f   t h e s e   K u b e r n e t e s   p l a y g r o u n d s : i x i m i u z   L a b s K i l l e r c o d a K o d e K l o u d P l a y   w i t h   K u b e r n e t e s Y o u r   K u b e r n e t e s   s e r v e r   m u s t   b e   a t   o r   l a t e r   t h a n   v e r s i o n   1 . 1 6 . T o   c h e c k   t h e   v e r s i o n ,   e n t e r   k u b e c t l   v e r s i o n . I f   y o u   a r e   u s i n g   a n   o l d e r   v e r s i o n   o f   K u b e r n e t e s   t h a t   i s   s t i l l   s u p p o r t e d ,   s w i t c h   t o   t h e   d o c u m e n t a t i o n   f o r   t h a t   v e r s i o n   t o   s e e   a d v i c e   t h a t   i s   r e l e v a n t   f o r   y o u r   c l u s t e r .   Y o u   n e e d   t o   h a v e   a   K u b e r n e t e s   c l u s t e r ,   a n d   t h e   k u b e c t l   c o m m a n d - l i n e   t o o l   m u s t   b e   c o n f i g u r e d   t o   c o m m u n i c a t e   w i t h   y o u r   c l u s t e r .   I t   i s   r e c o m m e n d e d   t o   r u n   t h i s   t u t o r i a l   o n   a   c l u s t e r   w i t h   a t   l e a s t   t w o   n o d e s   t h a t   a r e   n o t   a c t i n g   a s   c o n t r o l   p l a n e   h o s t s .   I f   y o u   d o   n o t   a l r e a d y   h a v e   a   c l u s t e r ,   y o u   c a n   c r e a t e   o n e   b y


Question: What is Create a CustomResourceDefinition?

Answer: W h e n   y o u   c r e a t e   a   n e w   C u s t o m R e s o u r c e D e f i n i t i o n   ( C R D ) ,   t h e   K u b e r n e t e s   A P I   S e r v e r   c r e a t e s   a   n e w   R E S T f u l   r e s o u r c e   p a t h   f o r   e a c h   v e r s i o n   y o u   s p e c i f y .   T h e   c u s t o m   r e s o u r c e   c r e a t e d   f r o m   a   C R D   o b j e c t   c a n   b e   e i t h e r   n a m e s p a c e d   o r   c l u s t e r - s c o p e d ,   a s   s p e c i f i e d   i n   t h e   C R D ' s   s p e c . s c o p e   f i e l d .   A s   w i t h   e x i s t i n g   b u i l t - i n   o b j e c t s ,   d e l e t i n g   a   n a m e s p a c e   d e l e t e s   a l l   c u s t o m   o b j e c t s   i n   t h a t   n a m e s p a c e .   C u s t o m R e s o u r c e D e f i n i t i o n s   t h e m s e l v e s   a r e   n o n - n a m e s p a c e d   a n d   a r e   a v a i l a b l e   t o   a l l   n a m e s p a c e s .   F o r   e x a m p l e ,   i f   y o u   s a v e   t h e   f o l l o w i n g   C u s t o m R e s o u r c e D e f i n i t i o n   t o   r e s o u r c e d e f i n i t i o n . y a m l :   a p i V e r s i o n :   a p i e x t e n s i o n s . k 8 s . i o / v 1   k i n d :   C u s t o m R e s o u r c e D e f i n i t i o n   m e t a d a t a :   #   n a m e   m u s t   m a t c h   t h e   s p e c   f i e l d s   b e l o w ,   a n d   b e   i n   t h e   f o r m :   < p l u r a l > . < g r o u p >   n a m e :   c r o n t a b s . s t a b l e . e x a m p l e . c o m   s p e c :   #   g r o u p   n a m e   t o   u s e   f o r   R E S T   A P I :   / a p i s / < g r o u p > / < v e r s i o n >   g r o u p :   s t a b l e . e x a m p l e . c o m   #   l i s t   o f   v e r s i o n s   s u p p o r t e d   b y   t h i s   C u s t o m R e s o u r c e D e f i n i t i o n   v e r s i o n s :   -   n a m e :   v 1   #   E a c h   v e r s i o n   c a n   b e   e n a b l e d / d i s a b l e d   b y   S e r v e d   f l a g .   s e r v e d :   t r u e   #   O


Question: What is Create custom objects?

Answer: A f t e r   t h e   C u s t o m R e s o u r c e D e f i n i t i o n   o b j e c t   h a s   b e e n   c r e a t e d ,   y o u   c a n   c r e a t e   c u s t o m   o b j e c t s .   C u s t o m   o b j e c t s   c a n   c o n t a i n   c u s t o m   f i e l d s .   T h e s e   f i e l d s   c a n   c o n t a i n   a r b i t r a r y   J S O N .   I n   t h e   f o l l o w i n g   e x a m p l e ,   t h e   c r o n S p e c   a n d   i m a g e   c u s t o m   f i e l d s   a r e   s e t   i n   a   c u s t o m   o b j e c t   o f   k i n d   C r o n T a b .   T h e   k i n d   C r o n T a b   c o m e s   f r o m   t h e   s p e c   o f   t h e   C u s t o m R e s o u r c e D e f i n i t i o n   o b j e c t   y o u   c r e a t e d   a b o v e .   I f   y o u   s a v e   t h e   f o l l o w i n g   Y A M L   t o   m y - c r o n t a b . y a m l :   a p i V e r s i o n :   " s t a b l e . e x a m p l e . c o m / v 1 "   k i n d :   C r o n T a b   m e t a d a t a :   n a m e :   m y - n e w - c r o n - o b j e c t   s p e c :   c r o n S p e c :   " *   *   *   *   * / 5 "   i m a g e :   m y - a w e s o m e - c r o n - i m a g e   a n d   c r e a t e   i t :   k u b e c t l   a p p l y   - f   m y - c r o n t a b . y a m l   Y o u   c a n   t h e n   m a n a g e   y o u r   C r o n T a b   o b j e c t s   u s i n g   k u b e c t l .   F o r   e x a m p l e :   k u b e c t l   g e t   c r o n t a b   S h o u l d   p r i n t   a   l i s t   l i k e   t h i s :   N A M E   A G E   m y - n e w - c r o n - o b j e c t   6 s   R e s o u r c e   n a m e s   a r e   n o t   c a s e - s e n s i t i v e   w h e n   u s i n g   k u b e c t l ,   a n d   y o u   c a n   u s e   e i t h e r   t h e   s i n g u l a r   o r   p l u r a l   f o r m s   d e f i n e d   i n   t h e   C R D ,   a s   w e l l   a s   a n y   s h o r t   n a m e s .   Y o u   c a n   a l s o   v i e w   t h e   r a w   Y A M L   d a t a :   k u b e c t l   g e t   c t   - o   y a m l   Y o u   s h o u l d   s


Question: What is Delete a CustomResourceDefinition?

Answer: W h e n   y o u   d e l e t e   a   C u s t o m R e s o u r c e D e f i n i t i o n ,   t h e   s e r v e r   w i l l   u n i n s t a l l   t h e   R E S T f u l   A P I   e n d p o i n t   a n d   d e l e t e   a l l   c u s t o m   o b j e c t s   s t o r e d   i n   i t .   k u b e c t l   d e l e t e   - f   r e s o u r c e d e f i n i t i o n . y a m l   k u b e c t l   g e t   c r o n t a b s   E r r o r   f r o m   s e r v e r   ( N o t F o u n d ) :   U n a b l e   t o   l i s t   { " s t a b l e . e x a m p l e . c o m "   " v 1 "   " c r o n t a b s " } :   t h e   s e r v e r   c o u l d   n o t   f i n d   t h e   r e q u e s t e d   r e s o u r c e   ( g e t   c r o n t a b s . s t a b l e . e x a m p l e . c o m )   I f   y o u   l a t e r   r e c r e a t e   t h e   s a m e   C u s t o m R e s o u r c e D e f i n i t i o n ,   i t   w i l l   s t a r t   o u t   e m p t y .


Question: What is Specifying a structural schema?

Answer: C u s t o m R e s o u r c e s   s t o r e   s t r u c t u r e d   d a t a   i n   c u s t o m   f i e l d s   ( a l o n g s i d e   t h e   b u i l t - i n   f i e l d s   a p i V e r s i o n ,   k i n d   a n d   m e t a d a t a ,   w h i c h   t h e   A P I   s e r v e r   v a l i d a t e s   i m p l i c i t l y ) .   W i t h   O p e n A P I   v 3 . 0   v a l i d a t i o n   a   s c h e m a   c a n   b e   s p e c i f i e d ,   w h i c h   i s   v a l i d a t e d   d u r i n g   c r e a t i o n   a n d   u p d a t e s ,   c o m p a r e   b e l o w   f o r   d e t a i l s   a n d   l i m i t s   o f   s u c h   a   s c h e m a .   W i t h   a p i e x t e n s i o n s . k 8 s . i o / v 1   t h e   d e f i n i t i o n   o f   a   s t r u c t u r a l   s c h e m a   i s   m a n d a t o r y   f o r   C u s t o m R e s o u r c e D e f i n i t i o n s .   I n   t h e   b e t a   v e r s i o n   o f   C u s t o m R e s o u r c e D e f i n i t i o n ,   t h e   s t r u c t u r a l   s c h e m a   w a s   o p t i o n a l .   A   s t r u c t u r a l   s c h e m a   i s   a n   O p e n A P I   v 3 . 0   v a l i d a t i o n   s c h e m a   w h i c h :   s p e c i f i e s   a   n o n - e m p t y   t y p e   ( v i a   t y p e   i n   O p e n A P I )   f o r   t h e   r o o t ,   f o r   e a c h   s p e c i f i e d   f i e l d   o f   a n   o b j e c t   n o d e   ( v i a   p r o p e r t i e s   o r   a d d i t i o n a l P r o p e r t i e s   i n   O p e n A P I )   a n d   f o r   e a c h   i t e m   i n   a n   a r r a y   n o d e   ( v i a   i t e m s   i n   O p e n A P I ) ,   w i t h   t h e   e x c e p t i o n   o f : a   n o d e   w i t h   x - k u b e r n e t e s - i n t - o r - s t r i n g :   t r u e a   n o d e   w i t h   x - k u b e r n e t e s - p r e s e r v e - u n k n o w n - f i e l d s :   t r u e f o r   e a c h   f i e l d   i n   a n   o b j e c t   a n d   e a c h   i t e m   i n   a n   a r r a y   w h i c h   i s   s p e c i f i e d   w i t h i n   a n y


Question: What is Field pruning?

Answer: C u s t o m R e s o u r c e D e f i n i t i o n s   s t o r e   v a l i d a t e d   r e s o u r c e   d a t a   i n   t h e   c l u s t e r ' s   p e r s i s t e n c e   s t o r e ,   e t c d .   A s   w i t h   n a t i v e   K u b e r n e t e s   r e s o u r c e s   s u c h   a s   C o n f i g M a p ,   i f   y o u   s p e c i f y   a   f i e l d   t h a t   t h e   A P I   s e r v e r   d o e s   n o t   r e c o g n i z e ,   t h e   u n k n o w n   f i e l d   i s   p r u n e d   ( r e m o v e d )   b e f o r e   b e i n g   p e r s i s t e d .   C R D s   c o n v e r t e d   f r o m   a p i e x t e n s i o n s . k 8 s . i o / v 1 b e t a 1   t o   a p i e x t e n s i o n s . k 8 s . i o / v 1   m i g h t   l a c k   s t r u c t u r a l   s c h e m a s ,   a n d   s p e c . p r e s e r v e U n k n o w n F i e l d s   m i g h t   b e   t r u e .   F o r   l e g a c y   C u s t o m R e s o u r c e D e f i n i t i o n   o b j e c t s   c r e a t e d   a s   a p i e x t e n s i o n s . k 8 s . i o / v 1 b e t a 1   w i t h   s p e c . p r e s e r v e U n k n o w n F i e l d s   s e t   t o   t r u e ,   t h e   f o l l o w i n g   i s   a l s o   t r u e :   P r u n i n g   i s   n o t   e n a b l e d . Y o u   c a n   s t o r e   a r b i t r a r y   d a t a .   F o r   c o m p a t i b i l i t y   w i t h   a p i e x t e n s i o n s . k 8 s . i o / v 1 ,   u p d a t e   y o u r   c u s t o m   r e s o u r c e   d e f i n i t i o n s   t o :   U s e   a   s t r u c t u r a l   O p e n A P I   s c h e m a . S e t   s p e c . p r e s e r v e U n k n o w n F i e l d s   t o   f a l s e .   I f   y o u   s a v e   t h e   f o l l o w i n g   Y A M L   t o   m y - c r o n t a b . y a m l :   a p i V e r s i o n :   " s t a b l e . e x a m p l e . c o m / v 1 "   k i n d :   C r o n T a b   m e t a d a t a :   n a m e :   m y - n e w - c r o n - o b j e c t   s p e c :   c r o n S p e c :   " *   *   *   *   * / 5 "   i m a g e :   m y - a w e s o m e - c r o n - i m a g e


Question: What is Controlling pruning?

Answer: B y   d e f a u l t ,   a l l   u n s p e c i f i e d   f i e l d s   f o r   a   c u s t o m   r e s o u r c e ,   a c r o s s   a l l   v e r s i o n s ,   a r e   p r u n e d .   I t   i s   p o s s i b l e   t h o u g h   t o   o p t - o u t   o f   t h a t   f o r   s p e c i f i c   s u b - t r e e s   o f   f i e l d s   b y   a d d i n g   x - k u b e r n e t e s - p r e s e r v e - u n k n o w n - f i e l d s :   t r u e   i n   t h e   s t r u c t u r a l   O p e n A P I   v 3   v a l i d a t i o n   s c h e m a .   F o r   e x a m p l e :   t y p e :   o b j e c t   p r o p e r t i e s :   j s o n :   x - k u b e r n e t e s - p r e s e r v e - u n k n o w n - f i e l d s :   t r u e   T h e   f i e l d   j s o n   c a n   s t o r e   a n y   J S O N   v a l u e ,   w i t h o u t   a n y t h i n g   b e i n g   p r u n e d .   Y o u   c a n   a l s o   p a r t i a l l y   s p e c i f y   t h e   p e r m i t t e d   J S O N ;   f o r   e x a m p l e :   t y p e :   o b j e c t   p r o p e r t i e s :   j s o n :   x - k u b e r n e t e s - p r e s e r v e - u n k n o w n - f i e l d s :   t r u e   t y p e :   o b j e c t   d e s c r i p t i o n :   t h i s   i s   a r b i t r a r y   J S O N   W i t h   t h i s ,   o n l y   o b j e c t   t y p e   v a l u e s   a r e   a l l o w e d .   P r u n i n g   i s   e n a b l e d   a g a i n   f o r   e a c h   s p e c i f i e d   p r o p e r t y   ( o r   a d d i t i o n a l P r o p e r t i e s ) :   t y p e :   o b j e c t   p r o p e r t i e s :   j s o n :   x - k u b e r n e t e s - p r e s e r v e - u n k n o w n - f i e l d s :   t r u e   t y p e :   o b j e c t   p r o p e r t i e s :   s p e c :   t y p e :   o b j e c t   p r o p e r t i e s :   f o o :   t y p e :   s t r i n g   b a r :   t y p e :   s t r i n g   W i t h   t h i s ,   t h e   v a l u e :   j s o n :   s p e c :   f o o :   a b c   b a r :   d e f   s o m e t h i n g :   x   s t a t u s :   s o m e t h i n g :   x   i s   p r u n e


Question: What is IntOrString?

Answer: N o d e s   i n   a   s c h e m a   w i t h   x - k u b e r n e t e s - i n t - o r - s t r i n g :   t r u e   a r e   e x c l u d e d   f r o m   r u l e   1 ,   s u c h   t h a t   t h e   f o l l o w i n g   i s   s t r u c t u r a l :   t y p e :   o b j e c t   p r o p e r t i e s :   f o o :   x - k u b e r n e t e s - i n t - o r - s t r i n g :   t r u e   A l s o   t h o s e   n o d e s   a r e   p a r t i a l l y   e x c l u d e d   f r o m   r u l e   3   i n   t h e   s e n s e   t h a t   t h e   f o l l o w i n g   t w o   p a t t e r n s   a r e   a l l o w e d   ( e x a c t l y   t h o s e ,   w i t h o u t   v a r i a t i o n s   i n   o r d e r   t o   a d d i t i o n a l   f i e l d s ) :   x - k u b e r n e t e s - i n t - o r - s t r i n g :   t r u e   a n y O f :   -   t y p e :   i n t e g e r   -   t y p e :   s t r i n g   . . .   a n d   x - k u b e r n e t e s - i n t - o r - s t r i n g :   t r u e   a l l O f :   -   a n y O f :   -   t y p e :   i n t e g e r   -   t y p e :   s t r i n g   -   #   . . .   z e r o   o r   m o r e   . . .   W i t h   o n e   o f   t h o s e   s p e c i f i c a t i o n ,   b o t h   a n   i n t e g e r   a n d   a   s t r i n g   v a l i d a t e .   I n   V a l i d a t i o n   S c h e m a   P u b l i s h i n g ,   x - k u b e r n e t e s - i n t - o r - s t r i n g :   t r u e   i s   u n f o l d e d   t o   o n e   o f   t h e   t w o   p a t t e r n s   s h o w n   a b o v e .


Question: What is RawExtension?

Answer: R a w E x t e n s i o n s   ( a s   i n   r u n t i m e . R a w E x t e n s i o n )   h o l d s   c o m p l e t e   K u b e r n e t e s   o b j e c t s ,   i . e .   w i t h   a p i V e r s i o n   a n d   k i n d   f i e l d s .   I t   i s   p o s s i b l e   t o   s p e c i f y   t h o s e   e m b e d d e d   o b j e c t s   ( b o t h   c o m p l e t e l y   w i t h o u t   c o n s t r a i n t s   o r   p a r t i a l l y   s p e c i f i e d )   b y   s e t t i n g   x - k u b e r n e t e s - e m b e d d e d - r e s o u r c e :   t r u e .   F o r   e x a m p l e :   t y p e :   o b j e c t   p r o p e r t i e s :   f o o :   x - k u b e r n e t e s - e m b e d d e d - r e s o u r c e :   t r u e   x - k u b e r n e t e s - p r e s e r v e - u n k n o w n - f i e l d s :   t r u e   H e r e ,   t h e   f i e l d   f o o   h o l d s   a   c o m p l e t e   o b j e c t ,   e . g . :   f o o :   a p i V e r s i o n :   v 1   k i n d :   P o d   s p e c :   #   . . .   B e c a u s e   x - k u b e r n e t e s - p r e s e r v e - u n k n o w n - f i e l d s :   t r u e   i s   s p e c i f i e d   a l o n g s i d e ,   n o t h i n g   i s   p r u n e d .   T h e   u s e   o f   x - k u b e r n e t e s - p r e s e r v e - u n k n o w n - f i e l d s :   t r u e   i s   o p t i o n a l   t h o u g h .   W i t h   x - k u b e r n e t e s - e m b e d d e d - r e s o u r c e :   t r u e ,   t h e   a p i V e r s i o n ,   k i n d   a n d   m e t a d a t a   a r e   i m p l i c i t l y   s p e c i f i e d   a n d   v a l i d a t e d .


Question: What is Serving multiple versions of a CRD?

Answer: S e e   C u s t o m   r e s o u r c e   d e f i n i t i o n   v e r s i o n i n g   f o r   m o r e   i n f o r m a t i o n   a b o u t   s e r v i n g   m u l t i p l e   v e r s i o n s   o f   y o u r   C u s t o m R e s o u r c e D e f i n i t i o n   a n d   m i g r a t i n g   y o u r   o b j e c t s   f r o m   o n e   v e r s i o n   t o   a n o t h e r .


Question: What is Finalizers?

Answer: F i n a l i z e r s   a l l o w   c o n t r o l l e r s   t o   i m p l e m e n t   a s y n c h r o n o u s   p r e - d e l e t e   h o o k s .   C u s t o m   o b j e c t s   s u p p o r t   f i n a l i z e r s   s i m i l a r   t o   b u i l t - i n   o b j e c t s .   Y o u   c a n   a d d   a   f i n a l i z e r   t o   a   c u s t o m   o b j e c t   l i k e   t h i s :   a p i V e r s i o n :   " s t a b l e . e x a m p l e . c o m / v 1 "   k i n d :   C r o n T a b   m e t a d a t a :   f i n a l i z e r s :   -   s t a b l e . e x a m p l e . c o m / f i n a l i z e r   I d e n t i f i e r s   o f   c u s t o m   f i n a l i z e r s   c o n s i s t   o f   a   d o m a i n   n a m e ,   a   f o r w a r d   s l a s h   a n d   t h e   n a m e   o f   t h e   f i n a l i z e r .   A n y   c o n t r o l l e r   c a n   a d d   a   f i n a l i z e r   t o   a n y   o b j e c t ' s   l i s t   o f   f i n a l i z e r s .   T h e   f i r s t   d e l e t e   r e q u e s t   o n   a n   o b j e c t   w i t h   f i n a l i z e r s   s e t s   a   v a l u e   f o r   t h e   m e t a d a t a . d e l e t i o n T i m e s t a m p   f i e l d   b u t   d o e s   n o t   d e l e t e   i t .   O n c e   t h i s   v a l u e   i s   s e t ,   e n t r i e s   i n   t h e   f i n a l i z e r s   l i s t   c a n   o n l y   b e   r e m o v e d .   W h i l e   a n y   f i n a l i z e r s   r e m a i n   i t   i s   a l s o   i m p o s s i b l e   t o   f o r c e   t h e   d e l e t i o n   o f   a n   o b j e c t .   W h e n   t h e   m e t a d a t a . d e l e t i o n T i m e s t a m p   f i e l d   i s   s e t ,   c o n t r o l l e r s   w a t c h i n g   t h e   o b j e c t   e x e c u t e   a n y   f i n a l i z e r s   t h e y   h a n d l e   a n d   r e m o v e   t h e   f i n a l i z e r   f r o m   t h e   l i s t   a f t e r   t h e y   a r e   d o n e .   I t   i s   t h e   r e s p o n s i b i l i t y   o f   e a c h   c o n t r o l l e r   t o   r e m o v e   i t s   f


Question: What is Validation?

Answer: C u s t o m   r e s o u r c e s   a r e   v a l i d a t e d   v i a   O p e n A P I   v 3 . 0   s c h e m a s ,   b y   x - k u b e r n e t e s - v a l i d a t i o n s   w h e n   t h e   V a l i d a t i o n   R u l e s   f e a t u r e   i s   e n a b l e d ,   a n d   y o u   c a n   a d d   a d d i t i o n a l   v a l i d a t i o n   u s i n g   a d m i s s i o n   w e b h o o k s .   A d d i t i o n a l l y ,   t h e   f o l l o w i n g   r e s t r i c t i o n s   a r e   a p p l i e d   t o   t h e   s c h e m a :   T h e s e   f i e l d s   c a n n o t   b e   s e t : d e f i n i t i o n s , d e p e n d e n c i e s , d e p r e c a t e d , d i s c r i m i n a t o r , i d , p a t t e r n P r o p e r t i e s , r e a d O n l y , w r i t e O n l y , x m l , $ r e f . T h e   f i e l d   u n i q u e I t e m s   c a n n o t   b e   s e t   t o   t r u e . T h e   f i e l d   a d d i t i o n a l P r o p e r t i e s   c a n n o t   b e   s e t   t o   f a l s e . T h e   f i e l d   a d d i t i o n a l P r o p e r t i e s   i s   m u t u a l l y   e x c l u s i v e   w i t h   p r o p e r t i e s .   T h e s e   f i e l d s   c a n n o t   b e   s e t :   d e f i n i t i o n s , d e p e n d e n c i e s , d e p r e c a t e d , d i s c r i m i n a t o r , i d , p a t t e r n P r o p e r t i e s , r e a d O n l y , w r i t e O n l y , x m l , $ r e f .   T h e   f i e l d   u n i q u e I t e m s   c a n n o t   b e   s e t   t o   t r u e .   T h e   f i e l d   a d d i t i o n a l P r o p e r t i e s   c a n n o t   b e   s e t   t o   f a l s e .   T h e   f i e l d   a d d i t i o n a l P r o p e r t i e s   i s   m u t u a l l y   e x c l u s i v e   w i t h   p r o p e r t i e s .   T h e   x - k u b e r n e t e s - v a l i d a t i o n s   e x t e n s i o n   c a n   b e   u s e d   t o   v a l i d a t e   c u s t o m   r e s o u r c e s   u s i n g   C o m m o n   E x p r e s s i o n   L a n g u a g e   ( C E L )   e x p r e s s i o n s   w h e n   t h e   V a l i d


Question: What is Validation ratcheting?

Answer: I f   y o u   a r e   u s i n g   a   v e r s i o n   o f   K u b e r n e t e s   o l d e r   t h a n   v 1 . 3 0 ,   y o u   n e e d   t o   e x p l i c i t l y   e n a b l e   t h e   C R D V a l i d a t i o n R a t c h e t i n g   f e a t u r e   g a t e   t o   u s e   t h i s   b e h a v i o r ,   w h i c h   t h e n   a p p l i e s   t o   a l l   C u s t o m R e s o u r c e D e f i n i t i o n s   i n   y o u r   c l u s t e r .   P r o v i d e d   y o u   e n a b l e d   t h e   f e a t u r e   g a t e ,   K u b e r n e t e s   i m p l e m e n t s   v a l i d a t i o n   r a t c h e t i n g   f o r   C u s t o m R e s o u r c e D e f i n i t i o n s .   T h e   A P I   s e r v e r   i s   w i l l i n g   t o   a c c e p t   u p d a t e s   t o   r e s o u r c e s   t h a t   a r e   n o t   v a l i d   a f t e r   t h e   u p d a t e ,   p r o v i d e d   t h a t   e a c h   p a r t   o f   t h e   r e s o u r c e   t h a t   f a i l e d   t o   v a l i d a t e   w a s   n o t   c h a n g e d   b y   t h e   u p d a t e   o p e r a t i o n .   I n   o t h e r   w o r d s ,   a n y   i n v a l i d   p a r t   o f   t h e   r e s o u r c e   t h a t   r e m a i n s   i n v a l i d   m u s t   h a v e   a l r e a d y   b e e n   w r o n g .   Y o u   c a n n o t   u s e   t h i s   m e c h a n i s m   t o   u p d a t e   a   v a l i d   r e s o u r c e   s o   t h a t   i t   b e c o m e s   i n v a l i d .   T h i s   f e a t u r e   a l l o w s   a u t h o r s   o f   C R D s   t o   c o n f i d e n t l y   a d d   n e w   v a l i d a t i o n s   t o   t h e   O p e n A P I V 3   s c h e m a   u n d e r   c e r t a i n   c o n d i t i o n s .   U s e r s   c a n   u p d a t e   t o   t h e   n e w   s c h e m a   s a f e l y   w i t h o u t   b u m p i n g   t h e   v e r s i o n   o f   t h e   o b j e c t   o r   b r e a k i n g   w o r k f l o w s .   W h i l e   m o s t   v a l i d a t i o n s   p l a c e d   i n   t h e   O p e n A P I V 3   s c h e m a


Question: What is Validation rules?

Answer: V a l i d a t i o n   r u l e s   u s e   t h e   C o m m o n   E x p r e s s i o n   L a n g u a g e   ( C E L )   t o   v a l i d a t e   c u s t o m   r e s o u r c e   v a l u e s .   V a l i d a t i o n   r u l e s   a r e   i n c l u d e d   i n   C u s t o m R e s o u r c e D e f i n i t i o n   s c h e m a s   u s i n g   t h e   x - k u b e r n e t e s - v a l i d a t i o n s   e x t e n s i o n .   T h e   R u l e   i s   s c o p e d   t o   t h e   l o c a t i o n   o f   t h e   x - k u b e r n e t e s - v a l i d a t i o n s   e x t e n s i o n   i n   t h e   s c h e m a .   A n d   s e l f   v a r i a b l e   i n   t h e   C E L   e x p r e s s i o n   i s   b o u n d   t o   t h e   s c o p e d   v a l u e .   A l l   v a l i d a t i o n   r u l e s   a r e   s c o p e d   t o   t h e   c u r r e n t   o b j e c t :   n o   c r o s s - o b j e c t   o r   s t a t e f u l   v a l i d a t i o n   r u l e s   a r e   s u p p o r t e d .   F o r   e x a m p l e :   #   . . .   o p e n A P I V 3 S c h e m a :   t y p e :   o b j e c t   p r o p e r t i e s :   s p e c :   t y p e :   o b j e c t   x - k u b e r n e t e s - v a l i d a t i o n s :   -   r u l e :   " s e l f . m i n R e p l i c a s   < =   s e l f . r e p l i c a s "   m e s s a g e :   " r e p l i c a s   s h o u l d   b e   g r e a t e r   t h a n   o r   e q u a l   t o   m i n R e p l i c a s . "   -   r u l e :   " s e l f . r e p l i c a s   < =   s e l f . m a x R e p l i c a s "   m e s s a g e :   " r e p l i c a s   s h o u l d   b e   s m a l l e r   t h a n   o r   e q u a l   t o   m a x R e p l i c a s . "   p r o p e r t i e s :   #   . . .   m i n R e p l i c a s :   t y p e :   i n t e g e r   r e p l i c a s :   t y p e :   i n t e g e r   m a x R e p l i c a s :   t y p e :   i n t e g e r   r e q u i r e d :   -   m i n R e p l i c a s   -   r e p l i c a s   -   m a x R e p l i c a s   w i l l   r e j e c t   a   r e q u e s t   t o   c r e a t e   t h i s   c u s t o


Question: What is Note:?

Answer: V a l i d a t i o n   r u l e s   a r e   c o m p i l e d   w h e n   C R D s   a r e   c r e a t e d / u p d a t e d .   T h e   r e q u e s t   o f   C R D s   c r e a t e / u p d a t e   w i l l   f a i l   i f   c o m p i l a t i o n   o f   v a l i d a t i o n   r u l e s   f a i l .   C o m p i l a t i o n   p r o c e s s   i n c l u d e s   t y p e   c h e c k i n g   a s   w e l l .   T h e   c o m p i l a t i o n   f a i l u r e :   n o _ m a t c h i n g _ o v e r l o a d :   t h i s   f u n c t i o n   h a s   n o   o v e r l o a d   f o r   t h e   t y p e s   o f   t h e   a r g u m e n t s . F o r   e x a m p l e ,   a   r u l e   l i k e   s e l f   = =   t r u e   a g a i n s t   a   f i e l d   o f   i n t e g e r   t y p e   w i l l   g e t   e r r o r : I n v a l i d   v a l u e :   a p i e x t e n s i o n s . V a l i d a t i o n R u l e { R u l e : " s e l f   = =   t r u e " ,   M e s s a g e : " " } :   c o m p i l a t i o n   f a i l e d :   E R R O R :   \ < i n p u t > : 1 : 6 :   f o u n d   n o   m a t c h i n g   o v e r l o a d   f o r   ' _ = = _ '   a p p l i e d   t o   ' ( i n t ,   b o o l ) '   n o _ s u c h _ f i e l d :   d o e s   n o t   c o n t a i n   t h e   d e s i r e d   f i e l d . F o r   e x a m p l e ,   a   r u l e   l i k e   s e l f . n o n E x i s t i n g F i e l d   >   0   a g a i n s t   a   n o n - e x i s t i n g   f i e l d   w i l l   r e t u r n   t h e   f o l l o w i n g   e r r o r : I n v a l i d   v a l u e :   a p i e x t e n s i o n s . V a l i d a t i o n R u l e { R u l e : " s e l f . n o n E x i s t i n g F i e l d   >   0 " ,   M e s s a g e : " " } :   c o m p i l a t i o n   f a i l e d :   E R R O R :   \ < i n p u t > : 1 : 5 :   u n d e f i n e d   f i e l d   ' n o n E x i s t i n g F i e l d '   i n v a l i d   a r g u m e n t :   i n v a l i d   a r g u m e n t   t o   m a c r o s . F o r   e x a m p l e ,   a   r u l e   l i k e   h a s ( s e l f )   w i l l   r e t u r n   e r r o r :


Question: What is The messageExpression field?

Answer: S i m i l a r   t o   t h e   m e s s a g e   f i e l d ,   w h i c h   d e f i n e s   t h e   s t r i n g   r e p o r t e d   f o r   a   v a l i d a t i o n   r u l e   f a i l u r e ,   m e s s a g e E x p r e s s i o n   a l l o w s   y o u   t o   u s e   a   C E L   e x p r e s s i o n   t o   c o n s t r u c t   t h e   m e s s a g e   s t r i n g .   T h i s   a l l o w s   y o u   t o   i n s e r t   m o r e   d e s c r i p t i v e   i n f o r m a t i o n   i n t o   t h e   v a l i d a t i o n   f a i l u r e   m e s s a g e .   m e s s a g e E x p r e s s i o n   m u s t   e v a l u a t e   a   s t r i n g   a n d   m a y   u s e   t h e   s a m e   v a r i a b l e s   t h a t   a r e   a v a i l a b l e   t o   t h e   r u l e   f i e l d .   F o r   e x a m p l e :   x - k u b e r n e t e s - v a l i d a t i o n s :   -   r u l e :   " s e l f . x   < =   s e l f . m a x L i m i t "   m e s s a g e E x p r e s s i o n :   ' " x   e x c e e d e d   m a x   l i m i t   o f   "   +   s t r i n g ( s e l f . m a x L i m i t ) '   K e e p   i n   m i n d   t h a t   C E L   s t r i n g   c o n c a t e n a t i o n   ( +   o p e r a t o r )   d o e s   n o t   a u t o - c a s t   t o   s t r i n g .   I f   y o u   h a v e   a   n o n - s t r i n g   s c a l a r ,   u s e   t h e   s t r i n g ( < v a l u e > )   f u n c t i o n   t o   c a s t   t h e   s c a l a r   t o   a   s t r i n g   l i k e   s h o w n   i n   t h e   a b o v e   e x a m p l e .   m e s s a g e E x p r e s s i o n   m u s t   e v a l u a t e   t o   a   s t r i n g ,   a n d   t h i s   i s   c h e c k e d   w h i l e   t h e   C R D   i s   b e i n g   w r i t t e n .   N o t e   t h a t   i t   i s   p o s s i b l e   t o   s e t   m e s s a g e   a n d   m e s s a g e E x p r e s s i o n   o n   t h e   s a m e   r u l e ,   a n d   i f   b o t h   a r e   p r e s e n t ,   m e s s a g e E x p r e s s i o n   w i l l   b e   u s e d .   H o w e v e r ,   i f   m e s s a g e E x p


Question: What is The message field?

Answer: I f   y o u   w a n t   t o   s e t   a   s t a t i c   m e s s a g e ,   y o u   c a n   s u p p l y   m e s s a g e   r a t h e r   t h a n   m e s s a g e E x p r e s s i o n .   T h e   v a l u e   o f   m e s s a g e   i s   u s e d   a s   a n   o p a q u e   e r r o r   s t r i n g   i f   v a l i d a t i o n   f a i l s .   S e t t i n g   m e s s a g e   i s   o p t i o n a l .