Question: What are the benefits of kubectl config get-contexts?

Answer: kubectl config get-contextsSynopsisDisplay one or many contexts from the kubeconfig file.kubectl config get-contexts [(-o|--output=)name)] Examples # List all the contexts in your kubeconfig file kubectl config get-contexts # Describe one context in your kubeconfig file kubectl config get-contexts my-context Options-h, --helphelp for get-contexts--no-headersWhen using the default or custom-column output format, don't print headers (default print headers).-o, --output stringOutput format. One of: (name).Parent Options Inherited--as stringUsername to impersonate for the operation. User could be a regular user or a service account in a namespace.--as-group stringsGroup to impersonate for the operation, this flag can be repeated to specify multiple groups.--as-uid stringUID to impersonate for the operation.--cache-dir string Default: "$HOME/.kube/cache"Default cache directory--certificate-authority stringPath to a cert file for the certificate authority--client-certificate stringPath to a client certificate file for TLS--client-key stringPath to a client key file for TLS--cluster stringThe name of the kubeconfig cluster to use--context stringThe name of the kubeconfig context to use--disable-compressionIf true, opt-out of response compression for all requests to the server--insecure-skip-tls-verifyIf true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure--kubeconfig stringuse a particular kubeconfig file--kuberc stringPath to the kuberc file to use for preferences. This can be disabled by exporting KUBECTL_KUBERC=false feature gate or turning off the feature KUBERC=off.--match-server-versionRequire server version to match client version-n, --namespace stringIf present, the namespace scope for this CLI request--password stringPassword for basic authentication to the API server--profile string Default: "none"Name of profile to capture. One of (none|cpu|heap|goroutine|threadcreate|block|mutex)--profile-output string Default: "profile.pprof"Name of the file to write the profile to--request-timeout string Default: "0"The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests.-s, --server stringThe address and port of the Kubernetes API server--storage-driver-buffer-duration duration Default: 1m0sWrites in the storage driver will be buffered for this duration, and committed to the non memory backends as a single transaction--storage-driver-db string Default: "cadvisor"database name--storage-driver-host string Default: "localhost:8086"database host:port--storage-driver-password string Default: "root"database password--storage-driver-secureuse secure connection with database--storage-driver-table string Default: "stats"table name--storage-driver-user string Default: "root"database username--tls-server-name stringServer name to use for server certificate validation. If it


Question: What is Synopsis?

Answer: D i s p l a y   o n e   o r   m a n y   c o n t e x t s   f r o m   t h e   k u b e c o n f i g   f i l e .   k u b e c t l   c o n f i g   g e t - c o n t e x t s   [ ( - o | - - o u t p u t = ) n a m e ) ]


Question: What is Examples?

Answer: #   L i s t   a l l   t h e   c o n t e x t s   i n   y o u r   k u b e c o n f i g   f i l e   k u b e c t l   c o n f i g   g e t - c o n t e x t s   #   D e s c r i b e   o n e   c o n t e x t   i n   y o u r   k u b e c o n f i g   f i l e   k u b e c t l   c o n f i g   g e t - c o n t e x t s   m y - c o n t e x t


Question: What is Options?

Answer: h e l p   f o r   g e t - c o n t e x t s   W h e n   u s i n g   t h e   d e f a u l t   o r   c u s t o m - c o l u m n   o u t p u t   f o r m a t ,   d o n ' t   p r i n t   h e a d e r s   ( d e f a u l t   p r i n t   h e a d e r s ) .   O u t p u t   f o r m a t .   O n e   o f :   ( n a m e ) .


Question: What is Parent Options Inherited?

Answer: U s e r n a m e   t o   i m p e r s o n a t e   f o r   t h e   o p e r a t i o n .   U s e r   c o u l d   b e   a   r e g u l a r   u s e r   o r   a   s e r v i c e   a c c o u n t   i n   a   n a m e s p a c e .   G r o u p   t o   i m p e r s o n a t e   f o r   t h e   o p e r a t i o n ,   t h i s   f l a g   c a n   b e   r e p e a t e d   t o   s p e c i f y   m u l t i p l e   g r o u p s .   U I D   t o   i m p e r s o n a t e   f o r   t h e   o p e r a t i o n .   D e f a u l t   c a c h e   d i r e c t o r y   P a t h   t o   a   c e r t   f i l e   f o r   t h e   c e r t i f i c a t e   a u t h o r i t y   P a t h   t o   a   c l i e n t   c e r t i f i c a t e   f i l e   f o r   T L S   P a t h   t o   a   c l i e n t   k e y   f i l e   f o r   T L S   T h e   n a m e   o f   t h e   k u b e c o n f i g   c l u s t e r   t o   u s e   T h e   n a m e   o f   t h e   k u b e c o n f i g   c o n t e x t   t o   u s e   I f   t r u e ,   o p t - o u t   o f   r e s p o n s e   c o m p r e s s i o n   f o r   a l l   r e q u e s t s   t o   t h e   s e r v e r   I f   t r u e ,   t h e   s e r v e r ' s   c e r t i f i c a t e   w i l l   n o t   b e   c h e c k e d   f o r   v a l i d i t y .   T h i s   w i l l   m a k e   y o u r   H T T P S   c o n n e c t i o n s   i n s e c u r e   u s e   a   p a r t i c u l a r   k u b e c o n f i g   f i l e   P a t h   t o   t h e   k u b e r c   f i l e   t o   u s e   f o r   p r e f e r e n c e s .   T h i s   c a n   b e   d i s a b l e d   b y   e x p o r t i n g   K U B E C T L _ K U B E R C = f a l s e   f e a t u r e   g a t e   o r   t u r n i n g   o f f   t h e   f e a t u r e   K U B E R C = o f f .   R e q u i r e   s e r v e r   v e r s i o n   t o   m a t c h   c l i e n t   v e r s i o n   I f   p r e s e n t ,   t h e   n a m e s p a c e   s c o p e   f o r   t h i s   C L I   r e q u e s t   P a s s w o r d   f o r   b a s i c   a u t h e n t i c a t i o n   t o   t h e   A P I   s e r v e


Question: What is See Also?

Answer: k u b e c t l   c o n f i g   -   M o d i f y   k u b e c o n f i g   f i l e s   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 kubectl apply edit-last-applied?

Answer: kubectl apply edit-last-appliedSynopsisEdit the latest last-applied-configuration annotations of resources from the default editor.The edit-last-applied command allows you to directly edit any API resource you can retrieve via the command-line tools. It will open the editor defined by your KUBE_EDITOR, or EDITOR environment variables, or fall back to 'vi' for Linux or 'notepad' for Windows. You can edit multiple objects, although changes are applied one at a time. The command accepts file names as well as command-line arguments, although the files you point to must be previously saved versions of resources.The default format is YAML. To edit in JSON, specify "-o json".The flag --windows-line-endings can be used to force Windows line endings, otherwise the default for your operating system will be used.In the event an error occurs while updating, a temporary file will be created on disk that contains your unapplied changes. The most common error when updating a resource is another editor changing the resource on the server. When this occurs, you will have to apply your changes to the newer version of the resource, or update your temporary saved copy to include the latest resource version.kubectl apply edit-last-applied (RESOURCE/NAME | -f FILENAME) Examples # Edit the last-applied-configuration annotations by type/name in YAML kubectl apply edit-last-applied deployment/nginx # Edit the last-applied-configuration annotations by file in JSON kubectl apply edit-last-applied -f deploy.yaml -o json Options--allow-missing-template-keys Default: trueIf true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.--field-manager string Default: "kubectl-client-side-apply"Name of the manager used to track field ownership.-f, --filename stringsFilename, directory, or URL to files to use to edit the resource-h, --helphelp for edit-last-applied-k, --kustomize stringProcess the kustomization directory. This flag can't be used together with -f or -R.-o, --output stringOutput format. One of: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).-R, --recursiveProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.--show-managed-fieldsIf true, keep the managedFields when printing objects in JSON or YAML format.--template stringTemplate string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].--validate string[="strict"] Default: "strict"Must be one of: strict (or true), warn, ignore (or false). "true" or "strict" will use a schema to validate the input and fail the request if invalid. It will perform server side validation if ServerSideFieldValidation is enabled on the api-server, but will fall back to less reliable client-


Question: How does kubectl apply edit-last-applied work?

Answer: kubectl apply edit-last-appliedSynopsisEdit the latest last-applied-configuration annotations of resources from the default editor.The edit-last-applied command allows you to directly edit any API resource you can retrieve via the command-line tools. It will open the editor defined by your KUBE_EDITOR, or EDITOR environment variables, or fall back to 'vi' for Linux or 'notepad' for Windows. You can edit multiple objects, although changes are applied one at a time. The command accepts file names as well as command-line arguments, although the files you point to must be previously saved versions of resources.The default format is YAML. To edit in JSON, specify "-o json".The flag --windows-line-endings can be used to force Windows line endings, otherwise the default for your operating system will be used.In the event an error occurs while updating, a temporary file will be created on disk that contains your unapplied changes. The most common error when updating a resource is another editor changing the resource on the server. When this occurs, you will have to apply your changes to the newer version of the resource, or update your temporary saved copy to include the latest resource version.kubectl apply edit-last-applied (RESOURCE/NAME | -f FILENAME) Examples # Edit the last-applied-configuration annotations by type/name in YAML kubectl apply edit-last-applied deployment/nginx # Edit the last-applied-configuration annotations by file in JSON kubectl apply edit-last-applied -f deploy.yaml -o json Options--allow-missing-template-keys Default: trueIf true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.--field-manager string Default: "kubectl-client-side-apply"Name of the manager used to track field ownership.-f, --filename stringsFilename, directory, or URL to files to use to edit the resource-h, --helphelp for edit-last-applied-k, --kustomize stringProcess the kustomization directory. This flag can't be used together with -f or -R.-o, --output stringOutput format. One of: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).-R, --recursiveProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.--show-managed-fieldsIf true, keep the managedFields when printing objects in JSON or YAML format.--template stringTemplate string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].--validate string[="strict"] Default: "strict"Must be one of: strict (or true), warn, ignore (or false). "true" or "strict" will use a schema to validate the input and fail the request if invalid. It will perform server side validation if ServerSideFieldValidation is enabled on the api-server, but will fall back to less reliable client-


Question: When would you use kubectl apply edit-last-applied?

Answer: kubectl apply edit-last-appliedSynopsisEdit the latest last-applied-configuration annotations of resources from the default editor.The edit-last-applied command allows you to directly edit any API resource you can retrieve via the command-line tools. It will open the editor defined by your KUBE_EDITOR, or EDITOR environment variables, or fall back to 'vi' for Linux or 'notepad' for Windows. You can edit multiple objects, although changes are applied one at a time. The command accepts file names as well as command-line arguments, although the files you point to must be previously saved versions of resources.The default format is YAML. To edit in JSON, specify "-o json".The flag --windows-line-endings can be used to force Windows line endings, otherwise the default for your operating system will be used.In the event an error occurs while updating, a temporary file will be created on disk that contains your unapplied changes. The most common error when updating a resource is another editor changing the resource on the server. When this occurs, you will have to apply your changes to the newer version of the resource, or update your temporary saved copy to include the latest resource version.kubectl apply edit-last-applied (RESOURCE/NAME | -f FILENAME) Examples # Edit the last-applied-configuration annotations by type/name in YAML kubectl apply edit-last-applied deployment/nginx # Edit the last-applied-configuration annotations by file in JSON kubectl apply edit-last-applied -f deploy.yaml -o json Options--allow-missing-template-keys Default: trueIf true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.--field-manager string Default: "kubectl-client-side-apply"Name of the manager used to track field ownership.-f, --filename stringsFilename, directory, or URL to files to use to edit the resource-h, --helphelp for edit-last-applied-k, --kustomize stringProcess the kustomization directory. This flag can't be used together with -f or -R.-o, --output stringOutput format. One of: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).-R, --recursiveProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.--show-managed-fieldsIf true, keep the managedFields when printing objects in JSON or YAML format.--template stringTemplate string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].--validate string[="strict"] Default: "strict"Must be one of: strict (or true), warn, ignore (or false). "true" or "strict" will use a schema to validate the input and fail the request if invalid. It will perform server side validation if ServerSideFieldValidation is enabled on the api-server, but will fall back to less reliable client-


Question: What are the benefits of kubectl apply edit-last-applied?

Answer: kubectl apply edit-last-appliedSynopsisEdit the latest last-applied-configuration annotations of resources from the default editor.The edit-last-applied command allows you to directly edit any API resource you can retrieve via the command-line tools. It will open the editor defined by your KUBE_EDITOR, or EDITOR environment variables, or fall back to 'vi' for Linux or 'notepad' for Windows. You can edit multiple objects, although changes are applied one at a time. The command accepts file names as well as command-line arguments, although the files you point to must be previously saved versions of resources.The default format is YAML. To edit in JSON, specify "-o json".The flag --windows-line-endings can be used to force Windows line endings, otherwise the default for your operating system will be used.In the event an error occurs while updating, a temporary file will be created on disk that contains your unapplied changes. The most common error when updating a resource is another editor changing the resource on the server. When this occurs, you will have to apply your changes to the newer version of the resource, or update your temporary saved copy to include the latest resource version.kubectl apply edit-last-applied (RESOURCE/NAME | -f FILENAME) Examples # Edit the last-applied-configuration annotations by type/name in YAML kubectl apply edit-last-applied deployment/nginx # Edit the last-applied-configuration annotations by file in JSON kubectl apply edit-last-applied -f deploy.yaml -o json Options--allow-missing-template-keys Default: trueIf true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.--field-manager string Default: "kubectl-client-side-apply"Name of the manager used to track field ownership.-f, --filename stringsFilename, directory, or URL to files to use to edit the resource-h, --helphelp for edit-last-applied-k, --kustomize stringProcess the kustomization directory. This flag can't be used together with -f or -R.-o, --output stringOutput format. One of: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).-R, --recursiveProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.--show-managed-fieldsIf true, keep the managedFields when printing objects in JSON or YAML format.--template stringTemplate string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].--validate string[="strict"] Default: "strict"Must be one of: strict (or true), warn, ignore (or false). "true" or "strict" will use a schema to validate the input and fail the request if invalid. It will perform server side validation if ServerSideFieldValidation is enabled on the api-server, but will fall back to less reliable client-


Question: What is Synopsis?

Answer: E d i t   t h e   l a t e s t   l a s t - a p p l i e d - c o n f i g u r a t i o n   a n n o t a t i o n s   o f   r e s o u r c e s   f r o m   t h e   d e f a u l t   e d i t o r .   T h e   e d i t - l a s t - a p p l i e d   c o m m a n d   a l l o w s   y o u   t o   d i r e c t l y   e d i t   a n y   A P I   r e s o u r c e   y o u   c a n   r e t r i e v e   v i a   t h e   c o m m a n d - l i n e   t o o l s .   I t   w i l l   o p e n   t h e   e d i t o r   d e f i n e d   b y   y o u r   K U B E _ E D I T O R ,   o r   E D I T O R   e n v i r o n m e n t   v a r i a b l e s ,   o r   f a l l   b a c k   t o   ' v i '   f o r   L i n u x   o r   ' n o t e p a d '   f o r   W i n d o w s .   Y o u   c a n   e d i t   m u l t i p l e   o b j e c t s ,   a l t h o u g h   c h a n g e s   a r e   a p p l i e d   o n e   a t   a   t i m e .   T h e   c o m m a n d   a c c e p t s   f i l e   n a m e s   a s   w e l l   a s   c o m m a n d - l i n e   a r g u m e n t s ,   a l t h o u g h   t h e   f i l e s   y o u   p o i n t   t o   m u s t   b e   p r e v i o u s l y   s a v e d   v e r s i o n s   o f   r e s o u r c e s .   T h e   d e f a u l t   f o r m a t   i s   Y A M L .   T o   e d i t   i n   J S O N ,   s p e c i f y   " - o   j s o n " .   T h e   f l a g   - - w i n d o w s - l i n e - e n d i n g s   c a n   b e   u s e d   t o   f o r c e   W i n d o w s   l i n e   e n d i n g s ,   o t h e r w i s e   t h e   d e f a u l t   f o r   y o u r   o p e r a t i n g   s y s t e m   w i l l   b e   u s e d .   I n   t h e   e v e n t   a n   e r r o r   o c c u r s   w h i l e   u p d a t i n g ,   a   t e m p o r a r y   f i l e   w i l l   b e   c r e a t e d   o n   d i s k   t h a t   c o n t a i n s   y o u r   u n a p p l i e d   c h a n g e s .   T h e   m o s t   c o m m o n   e r r o r   w h e n   u p d a t i n g   a   r e s o u r c e   i s   a n o t h e r   e d i t o r   c h a n g i n g   t h e   r e s o u r c e   o n   t h e   s e r v


Question: What is Examples?

Answer: #   E d i t   t h e   l a s t - a p p l i e d - c o n f i g u r a t i o n   a n n o t a t i o n s   b y   t y p e / n a m e   i n   Y A M L   k u b e c t l   a p p l y   e d i t - l a s t - a p p l i e d   d e p l o y m e n t / n g i n x   #   E d i t   t h e   l a s t - a p p l i e d - c o n f i g u r a t i o n   a n n o t a t i o n s   b y   f i l e   i n   J S O N   k u b e c t l   a p p l y   e d i t - l a s t - a p p l i e d   - f   d e p l o y . y a m l   - o   j s o n


Question: What is Options?

Answer: I f   t r u e ,   i g n o r e   a n y   e r r o r s   i n   t e m p l a t e s   w h e n   a   f i e l d   o r   m a p   k e y   i s   m i s s i n g   i n   t h e   t e m p l a t e .   O n l y   a p p l i e s   t o   g o l a n g   a n d   j s o n p a t h   o u t p u t   f o r m a t s .   N a m e   o f   t h e   m a n a g e r   u s e d   t o   t r a c k   f i e l d   o w n e r s h i p .   F i l e n a m e ,   d i r e c t o r y ,   o r   U R L   t o   f i l e s   t o   u s e   t o   e d i t   t h e   r e s o u r c e   h e l p   f o r   e d i t - l a s t - a p p l i e d   P r o c e s s   t h e   k u s t o m i z a t i o n   d i r e c t o r y .   T h i s   f l a g   c a n ' t   b e   u s e d   t o g e t h e r   w i t h   - f   o r   - R .   O u t p u t   f o r m a t .   O n e   o f :   ( j s o n ,   y a m l ,   n a m e ,   g o - t e m p l a t e ,   g o - t e m p l a t e - f i l e ,   t e m p l a t e ,   t e m p l a t e f i l e ,   j s o n p a t h ,   j s o n p a t h - a s - j s o n ,   j s o n p a t h - f i l e ) .   P r o c e s s   t h e   d i r e c t o r y   u s e d   i n   - f ,   - - f i l e n a m e   r e c u r s i v e l y .   U s e f u l   w h e n   y o u   w a n t   t o   m a n a g e   r e l a t e d   m a n i f e s t s   o r g a n i z e d   w i t h i n   t h e   s a m e   d i r e c t o r y .   I f   t r u e ,   k e e p   t h e   m a n a g e d F i e l d s   w h e n   p r i n t i n g   o b j e c t s   i n   J S O N   o r   Y A M L   f o r m a t .   T e m p l a t e   s t r i n g   o r   p a t h   t o   t e m p l a t e   f i l e   t o   u s e   w h e n   - o = g o - t e m p l a t e ,   - o = g o - t e m p l a t e - f i l e .   T h e   t e m p l a t e   f o r m a t   i s   g o l a n g   t e m p l a t e s   [ h t t p : / / g o l a n g . o r g / p k g / t e x t / t e m p l a t e / # p k g - o v e r v i e w ] .   M u s t   b e   o n e   o f :   s t r i c t   ( o r   t r u e ) ,   w a r n ,   i g n o r e   ( o r   f a l s e ) .   " t r u e "   o r   " s t r i c t "   w i l l


Question: What is Parent Options Inherited?

Answer: U s e r n a m e   t o   i m p e r s o n a t e   f o r   t h e   o p e r a t i o n .   U s e r   c o u l d   b e   a   r e g u l a r   u s e r   o r   a   s e r v i c e   a c c o u n t   i n   a   n a m e s p a c e .   G r o u p   t o   i m p e r s o n a t e   f o r   t h e   o p e r a t i o n ,   t h i s   f l a g   c a n   b e   r e p e a t e d   t o   s p e c i f y   m u l t i p l e   g r o u p s .   U I D   t o   i m p e r s o n a t e   f o r   t h e   o p e r a t i o n .   D e f a u l t   c a c h e   d i r e c t o r y   P a t h   t o   a   c e r t   f i l e   f o r   t h e   c e r t i f i c a t e   a u t h o r i t y   P a t h   t o   a   c l i e n t   c e r t i f i c a t e   f i l e   f o r   T L S   P a t h   t o   a   c l i e n t   k e y   f i l e   f o r   T L S   T h e   n a m e   o f   t h e   k u b e c o n f i g   c l u s t e r   t o   u s e   T h e   n a m e   o f   t h e   k u b e c o n f i g   c o n t e x t   t o   u s e   I f   t r u e ,   o p t - o u t   o f   r e s p o n s e   c o m p r e s s i o n   f o r   a l l   r e q u e s t s   t o   t h e   s e r v e r   I f   t r u e ,   t h e   s e r v e r ' s   c e r t i f i c a t e   w i l l   n o t   b e   c h e c k e d   f o r   v a l i d i t y .   T h i s   w i l l   m a k e   y o u r   H T T P S   c o n n e c t i o n s   i n s e c u r e   P a t h   t o   t h e   k u b e c o n f i g   f i l e   t o   u s e   f o r   C L I   r e q u e s t s .   P a t h   t o   t h e   k u b e r c   f i l e   t o   u s e   f o r   p r e f e r e n c e s .   T h i s   c a n   b e   d i s a b l e d   b y   e x p o r t i n g   K U B E C T L _ K U B E R C = f a l s e   f e a t u r e   g a t e   o r   t u r n i n g   o f f   t h e   f e a t u r e   K U B E R C = o f f .   R e q u i r e   s e r v e r   v e r s i o n   t o   m a t c h   c l i e n t   v e r s i o n   I f   p r e s e n t ,   t h e   n a m e s p a c e   s c o p e   f o r   t h i s   C L I   r e q u e s t   P a s s w o r d   f o r   b a s i c   a u t h e n t i c a t


Question: What is See Also?

Answer: k u b e c t l   a p p l y   -   A p p l y   a   c o n f i g u r a t i o n   t o   a   r e s o u r c e   b y   f i l e   n a m e   o r   s t d i n   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 Generating Reference Documentation for kubectl Commands?

Answer: Generating Reference Documentation for kubectl CommandsThis page shows how to generate the kubectl command reference.Note:This topic shows how to generate reference documentation for kubectl commands like kubectl apply and kubectl taint. This topic does not show how to generate the kubectl options reference page. For instructions on how to generate the kubectl options reference page, see Generating Reference Pages for Kubernetes Components and Tools.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.Set up the local repositoriesCreate a local workspace and set your GOPATH:mkdir -p $HOME/<workspace> export GOPATH=$HOME/<workspace> Get a local clone of the following repositories:go get -u github.com/spf13/pflag go get -u github.com/spf13/cobra go get -u gopkg.in/yaml.v2 go get -u github.com/kubernetes-sigs/reference-docs If you don't already have the kubernetes/website repository, get it now:git clone https://github.com/<your-username>/website $GOPATH/src/github.com/<your-username>/website Get a clone of the kubernetes/kubernetes repository as k8s.io/kubernetes:git clone https://github.com/kubernetes/kubernetes $GOPATH/src/k8s.io/kubernetes Remove the spf13 package from $GOPATH/src/k8s.io/kubernetes/vendor/github.com:rm -rf $GOPATH/src/k8s.io/kubernetes/vendor/github.com/spf13 The kubernetes/kubernetes repository provides the kubectl and kustomize source code.Determine the base directory of your clone of the kubernetes/kubernetes repository. For example, if you followed the preceding step to get the repository, your base directory is $GOPATH/src/k8s.io/kubernetes. The remaining steps refer to your base directory as <k8s-base>.Determine the base directory of your clone of the kubernetes/website repository. For example, if you followed the preceding step to get the repository, your base directory is $GOPATH/src/github.com/<your-username>/website. The remaining steps refer to your base directory as <web-base>.Determine the base directory of your clone of the kubernetes-sigs/reference-docs repository. For example, if you followed the preceding step to get the repository, your base directory is $GOPATH/src/github.com/kubernetes-sigs/reference-docs. The remaining steps refer to your base directory as <rdocs-base>.In your local k8s.io/kubernetes repository, check out the branch of interest, and make sure it is up to date. For example, if you want to generate docs for Kubernetes 1.33.0, you could use these commands:cd <k8s-base> git checkout v1.33.0 git pull https://gi


Question: How does Generating Reference Documentation for kubectl Commands work?

Answer: Generating Reference Documentation for kubectl CommandsThis page shows how to generate the kubectl command reference.Note:This topic shows how to generate reference documentation for kubectl commands like kubectl apply and kubectl taint. This topic does not show how to generate the kubectl options reference page. For instructions on how to generate the kubectl options reference page, see Generating Reference Pages for Kubernetes Components and Tools.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.Set up the local repositoriesCreate a local workspace and set your GOPATH:mkdir -p $HOME/<workspace> export GOPATH=$HOME/<workspace> Get a local clone of the following repositories:go get -u github.com/spf13/pflag go get -u github.com/spf13/cobra go get -u gopkg.in/yaml.v2 go get -u github.com/kubernetes-sigs/reference-docs If you don't already have the kubernetes/website repository, get it now:git clone https://github.com/<your-username>/website $GOPATH/src/github.com/<your-username>/website Get a clone of the kubernetes/kubernetes repository as k8s.io/kubernetes:git clone https://github.com/kubernetes/kubernetes $GOPATH/src/k8s.io/kubernetes Remove the spf13 package from $GOPATH/src/k8s.io/kubernetes/vendor/github.com:rm -rf $GOPATH/src/k8s.io/kubernetes/vendor/github.com/spf13 The kubernetes/kubernetes repository provides the kubectl and kustomize source code.Determine the base directory of your clone of the kubernetes/kubernetes repository. For example, if you followed the preceding step to get the repository, your base directory is $GOPATH/src/k8s.io/kubernetes. The remaining steps refer to your base directory as <k8s-base>.Determine the base directory of your clone of the kubernetes/website repository. For example, if you followed the preceding step to get the repository, your base directory is $GOPATH/src/github.com/<your-username>/website. The remaining steps refer to your base directory as <web-base>.Determine the base directory of your clone of the kubernetes-sigs/reference-docs repository. For example, if you followed the preceding step to get the repository, your base directory is $GOPATH/src/github.com/kubernetes-sigs/reference-docs. The remaining steps refer to your base directory as <rdocs-base>.In your local k8s.io/kubernetes repository, check out the branch of interest, and make sure it is up to date. For example, if you want to generate docs for Kubernetes 1.33.0, you could use these commands:cd <k8s-base> git checkout v1.33.0 git pull https://gi


Question: When would you use Generating Reference Documentation for kubectl Commands?

Answer: Generating Reference Documentation for kubectl CommandsThis page shows how to generate the kubectl command reference.Note:This topic shows how to generate reference documentation for kubectl commands like kubectl apply and kubectl taint. This topic does not show how to generate the kubectl options reference page. For instructions on how to generate the kubectl options reference page, see Generating Reference Pages for Kubernetes Components and Tools.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.Set up the local repositoriesCreate a local workspace and set your GOPATH:mkdir -p $HOME/<workspace> export GOPATH=$HOME/<workspace> Get a local clone of the following repositories:go get -u github.com/spf13/pflag go get -u github.com/spf13/cobra go get -u gopkg.in/yaml.v2 go get -u github.com/kubernetes-sigs/reference-docs If you don't already have the kubernetes/website repository, get it now:git clone https://github.com/<your-username>/website $GOPATH/src/github.com/<your-username>/website Get a clone of the kubernetes/kubernetes repository as k8s.io/kubernetes:git clone https://github.com/kubernetes/kubernetes $GOPATH/src/k8s.io/kubernetes Remove the spf13 package from $GOPATH/src/k8s.io/kubernetes/vendor/github.com:rm -rf $GOPATH/src/k8s.io/kubernetes/vendor/github.com/spf13 The kubernetes/kubernetes repository provides the kubectl and kustomize source code.Determine the base directory of your clone of the kubernetes/kubernetes repository. For example, if you followed the preceding step to get the repository, your base directory is $GOPATH/src/k8s.io/kubernetes. The remaining steps refer to your base directory as <k8s-base>.Determine the base directory of your clone of the kubernetes/website repository. For example, if you followed the preceding step to get the repository, your base directory is $GOPATH/src/github.com/<your-username>/website. The remaining steps refer to your base directory as <web-base>.Determine the base directory of your clone of the kubernetes-sigs/reference-docs repository. For example, if you followed the preceding step to get the repository, your base directory is $GOPATH/src/github.com/kubernetes-sigs/reference-docs. The remaining steps refer to your base directory as <rdocs-base>.In your local k8s.io/kubernetes repository, check out the branch of interest, and make sure it is up to date. For example, if you want to generate docs for Kubernetes 1.33.0, you could use these commands:cd <k8s-base> git checkout v1.33.0 git pull https://gi


Question: What are the benefits of Generating Reference Documentation for kubectl Commands?

Answer: Generating Reference Documentation for kubectl CommandsThis page shows how to generate the kubectl command reference.Note:This topic shows how to generate reference documentation for kubectl commands like kubectl apply and kubectl taint. This topic does not show how to generate the kubectl options reference page. For instructions on how to generate the kubectl options reference page, see Generating Reference Pages for Kubernetes Components and Tools.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.Set up the local repositoriesCreate a local workspace and set your GOPATH:mkdir -p $HOME/<workspace> export GOPATH=$HOME/<workspace> Get a local clone of the following repositories:go get -u github.com/spf13/pflag go get -u github.com/spf13/cobra go get -u gopkg.in/yaml.v2 go get -u github.com/kubernetes-sigs/reference-docs If you don't already have the kubernetes/website repository, get it now:git clone https://github.com/<your-username>/website $GOPATH/src/github.com/<your-username>/website Get a clone of the kubernetes/kubernetes repository as k8s.io/kubernetes:git clone https://github.com/kubernetes/kubernetes $GOPATH/src/k8s.io/kubernetes Remove the spf13 package from $GOPATH/src/k8s.io/kubernetes/vendor/github.com:rm -rf $GOPATH/src/k8s.io/kubernetes/vendor/github.com/spf13 The kubernetes/kubernetes repository provides the kubectl and kustomize source code.Determine the base directory of your clone of the kubernetes/kubernetes repository. For example, if you followed the preceding step to get the repository, your base directory is $GOPATH/src/k8s.io/kubernetes. The remaining steps refer to your base directory as <k8s-base>.Determine the base directory of your clone of the kubernetes/website repository. For example, if you followed the preceding step to get the repository, your base directory is $GOPATH/src/github.com/<your-username>/website. The remaining steps refer to your base directory as <web-base>.Determine the base directory of your clone of the kubernetes-sigs/reference-docs repository. For example, if you followed the preceding step to get the repository, your base directory is $GOPATH/src/github.com/kubernetes-sigs/reference-docs. The remaining steps refer to your base directory as <rdocs-base>.In your local k8s.io/kubernetes repository, check out the branch of interest, and make sure it is up to date. For example, if you want to generate docs for Kubernetes 1.33.0, you could use these commands:cd <k8s-base> git checkout v1.33.0 git pull https://gi


Question: What is Generating Reference Documentation for kubectl Commands?

Answer: T h i s   p a g e   s h o w s   h o w   t o   g e n e r a t e   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 .


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 Set up the local repositories?

Answer: C r e a t e   a   l o c a l   w o r k s p a c e   a n d   s e t   y o u r   G O P A T H :   m k d i r   - p   $ H O M E / < w o r k s p a c e >   e x p o r t   G O P A T H = $ H O M E / < w o r k s p a c e >   G e t   a   l o c a l   c l o n e   o f   t h e   f o l l o w i n g   r e p o s i t o r i e s :   g o   g e t   - u   g i t h u b . c o m / s p f 1 3 / p f l a g   g o   g e t   - u   g i t h u b . c o m / s p f 1 3 / c o b r a   g o   g e t   - u   g o p k g . i n / y a m l . v 2   g o   g e t   - u   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   I f   y o u   d o n ' t   a l r e a d y   h a v e   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 ,   g e t   i t   n o w :   g i t   c l o n e   h t t p s : / / g i t h u b . c o m / < y o u r - u s e r n a m e > / w e b s i t e   $ G O P A T H / s r c / g i t h u b . c o m / < y o u r - u s e r n a m e > / w e b s i t e   G e t   a   c l o n e   o f   t h e   k u b e r n e t e s / k u b e r n e t e s   r e p o s i t o r y   a s   k 8 s . i o / k u b e r n e t e s :   g i t   c l o n 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 / k u b e r n e t e s   $ G O P A T H / s r c / k 8 s . i o / k u b e r n e t e s   R e m o v e   t h e   s p f 1 3   p a c k a g e   f r o m   $ G O P A T H / s r c / k 8 s . i o / k u b e r n e t e s / v e n d o r / g i t h u b . c o m :   r m   - r f   $ G O P A T H / s r c / k 8 s . i o / k u b e r n e t e s / v e n d o r / g i t h u b . c o m / s p f 1 3   T h e   k u b e r n e t e s / k u b e r n e t e s   r e p o s i t o r y   p r o v i d e s   t h e   k u b e c t l   a n d   k u s t o m i z e   s o u r c e   c o d e .   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   o f   t h e   k u b e r n e t e s / k u b e r n e t e s   r e p o s i t o r y .   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


Question: What is Edit the kubectl source code?

Answer: 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   d o c u m e n t a t i o n   i s   a u t o m a t i c a l l y   g e n e r a t e d   f r o m   t h e   k u b e c t l   s o u r c e   c o d e .   I f   y o u   w a n t   t o   c h a n g e   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 ,   t h e   f i r s t   s t e p   i s   t o   c h a n g e   o n e   o r   m o r e   c o m m e n t s   i n   t h e   k u b e c t l   s o u r c e   c o d e .   M a k e   t h e   c h a n g e   i n   y o u r   l o c a l   k u b e r n e t e s / k u b e r n e t e s   r e p o s i t o r y ,   a n d   t h e n   s u b m i t   a   p u l l   r e q u e s t   t o   t h e   m a s t e r   b r a n c h   o f   g i t h u b . c o m / k u b e r n e t e s / k u b e r n e t e s .   P R   5 6 6 7 3   i s   a n   e x a m p l e   o f   a   p u l l   r e q u e s t   t h a t   f i x e s   a   t y p o   i n   t h e   k u b e c t l   s o u r c e   c o d e .   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 e r   c o m m e n t s .   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   i n t o   t h e   t a r g e t   b r a n c h   o f   t h e   k u b e r n e t e s / k u b e r n e t e s   r e p o s i t o r y .


Question: What is Cherry pick your change into a release branch?

Answer: Y o u r   c h a n g e   i s   n o w   i n   t h e   m a s t e r   b r a n c h ,   w h i c h   i s   u s e d   f o r   d e v e l o p m e n t   o f   t h e   n e x t   K u b e r n e t e s   r e l e a s e .   I f   y o u   w a n t   y o u r   c h a n g e   t o   a p p e a r   i n   t h e   d o c s   f o r   a   K u b e r n e t e s   v e r s i o n   t h a t   h a s   a l r e a d y   b e e n   r e l e a s e d ,   y o u   n e e d   t o   p r o p o s e   t h a t   y o u r   c h a n g e   b e   c h e r r y   p i c k e d   i n t o   t h e   r e l e a s e   b r a n c h .   F o r   e x a m p l e ,   s u p p o s e   t h e   m a s t e r   b r a n c h   i s   b e i n g   u s e d   t o   d e v e l o p   K u b e r n e t e s   1 . 3 4   a n d   y o u   w a n t   t o   b a c k p o r t   y o u r   c h a n g e   t o   t h e   r e l e a s e - 1 . 3 3   b r a n c h .   F o r   i n s t r u c t i o n s   o n   h o w   t o   d o   t h i s ,   s e e   P r o p o s e   a   C h e r r y   P i c k .   M o n i t o r   y o u r   c h e r r y - p i c k   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   i n t o   t h e   r e l e a s e   b r a n c h .


Question: What is Set build variables?

Answer: G o   t o   < r d o c s - b a s e > .   O n   y o u   c o m m a n d   l i n e ,   s e t   t h e   f o l l o w i n g   e n v i r o n m e n t   v a r i a b l e s .   S e t   K 8 S _ R O O T   t o   < k 8 s - b a s e > . S e t   K 8 S _ W E B R O O T   t o   < w e b - b a s e > . S e t   K 8 S _ R E L E A S E   t o   t h e   v e r s i o n   o f   t h e   d o c s   y o u   w a n t   t o   b u i l d .   F o r   e x a m p l e ,   i f   y o u   w a n t   t o   b u i l d   d o c s   f o r   K u b e r n e t e s   1 . 3 3 ,   s e t   K 8 S _ R E L E A S E   t o   1 . 3 3 .   F o r   e x a m p l e :   e x p o r t   K 8 S _ W E B R O O T = $ G O P A T H / s r c / g i t h u b . c o m / < y o u r - u s e r n a m e > / w e b s i t e   e x p o r t   K 8 S _ R O O T = $ G O P A T H / s r c / k 8 s . i o / k u b e r n e t e s   e x p o r t   K 8 S _ R E L E A S E = 1 . 3 3


Question: What is Creating a versioned directory?

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


Question: What is Check out a release tag in k8s.io/kubernetes?

Answer: I n   y o u r   l o c a l   < k 8 s - b a s e >   r e p o s i t o r y ,   c h e c k   o u t   t h e   b r a n c h   t h a t   h a s   t h e   v e r s i o n   o f   K u b e r n e t e s   t h a t   y o u   w a n t   t o   d o c u m e n t .   F o r   e x a m p l e ,   i f   y o u   w a n t   t o   g e n e r a t e   d o c s   f o r   K u b e r n e t e s   1 . 3 3 . 0 ,   c h e c k   o u t   t h e   v 1 . 3 3   t a g .   M a k e   s u r e   y o u r   l o c a l   b r a n c h   i s   u p   t o   d a t e .   c d   < k 8 s - b a s e >   g i t   c h e c k o u t   v 1 . 3 3 . 0   g i t   p u l l   h t t p s : / / g i t h u b . c o m / k u b e r n e t e s / k u b e r n e t e s   v 1 . 3 3 . 0


Question: What is Run the doc generation code?

Answer: I n   y o u r   l o c a l   < r d o c s - b a s e > ,   r u n   t h e   c o p y c l i   b u i l d   t a r g e t .   T h e   c o m m a n d   r u n s   a s   r o o t :   c d   < r d o c s - b a s e >   m a k e   c o p y c l i   T h e   c o p y c l i   c o m m a n d   c l e a n s   t h e   t e m p o r a r y   b u i l d   d i r e c t o r y ,   g e n e r a t e s   t h e   k u b e c t l   c o m m a n d   f i l e s ,   a n d   c o p i e s   t h e   c o l l a t e d   k u b e c t l   c o m m a n d   r e f e r e n c e   H T M L   p a g e   a n d   a s s e t s   t o   < w e b - b a s e > .


Question: What is Locate the generated files?

Answer: V e r i f y   t h a t   t h e s e   t w o   f i l e s   h a v e   b e e n   g e n e r a t e d :   [   - e   " < r d o c s - b a s e > / g e n - k u b e c t l d o c s / g e n e r a t o r s / b u i l d / i n d e x . h t m l "   ]   & &   e c h o   " i n d e x . h t m l   b u i l t "   | |   e c h o   " n o   i n d e x . h t m l "   [   - e   " < r d o c s - b a s e > / g e n - k u b e c t l d o c s / g e n e r a t o r s / b u i l d / n a v D a t a . j s "   ]   & &   e c h o   " n a v D a t a . j s   b u i l t "   | |   e c h o   " n o   n a v D a t a . j s "


Question: What is Locate the copied files?

Answer: V e r i f y   t h a t   a l l   g e n e r a t e d   f i l e s   h a v e   b e e n   c o p i e d   t o   y o u r   < 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 u l d   i n c l u d e   t h e   m o d i f i e d   f i l e 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 / 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   T h e   o u t p u t   m a y   a l s o   i n c l u d e :   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 / n o d e _ m o d u l e s / f o n t - a w e s o m e / c s s / f o n t - a w e s o m e . m i n . c s s


Question: What is Locally test the documentation?

Answer: B u i l d   t h e   K u b e r n e t e s   d o c u m e n t a t i o n   i n   y o u r   l o c a l   < w e b - b a s e > .   c d   < w e b - b a s e >   g i t   s u b m o d u l e   u p d a t e   - - i n i t   - - r e c u r s i v e   - - d e p t h   1   #   i f   n o t   a l r e a d y   d o n e   m a k e   c o n t a i n e r - s e r v e   V i e w   t h e   l o c a l   p r e v i e w .


Question: What is Add and commit changes in kubernetes/website?

Answer: R u n   g i t   a d d   a n d   g i t   c o m m i t   t o   c o m m i t   t h e   f i l e s .


Question: What is Create 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: 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   Q u i c k s t a r t 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   t h e   K u b e r n e t e s   A P I


Question: What is Generate Certificates Manually?

Answer: Generate Certificates ManuallyWhen using client certificate authentication, you can generate certificates manually through easyrsa, openssl or cfssl.easyrsaeasyrsa can manually generate certificates for your cluster.Download, unpack, and initialize the patched version of easyrsa3.curl -LO https://dl.k8s.io/easy-rsa/easy-rsa.tar.gz tar xzf easy-rsa.tar.gz cd easy-rsa-master/easyrsa3 ./easyrsa init-pki Generate a new certificate authority (CA). --batch sets automatic mode; --req-cn specifies the Common Name (CN) for the CA's new root certificate../easyrsa --batch "--req-cn=${MASTER_IP}@`date +%s`" build-ca nopass Generate server certificate and key.The argument --subject-alt-name sets the possible IPs and DNS names the API server will be accessed with. The MASTER_CLUSTER_IP is usually the first IP from the service CIDR that is specified as the --service-cluster-ip-range argument for both the API server and the controller manager component. The argument --days is used to set the number of days after which the certificate expires. The sample below also assumes that you are using cluster.local as the default DNS domain name../easyrsa --subject-alt-name="IP:${MASTER_IP},"\ "IP:${MASTER_CLUSTER_IP},"\ "DNS:kubernetes,"\ "DNS:kubernetes.default,"\ "DNS:kubernetes.default.svc,"\ "DNS:kubernetes.default.svc.cluster,"\ "DNS:kubernetes.default.svc.cluster.local" \ --days=10000 \ build-server-full server nopass Copy pki/ca.crt, pki/issued/server.crt, and pki/private/server.key to your directory.Fill in and add the following parameters into the API server start parameters:--client-ca-file=/yourdirectory/ca.crt --tls-cert-file=/yourdirectory/server.crt --tls-private-key-file=/yourdirectory/server.key opensslopenssl can manually generate certificates for your cluster.Generate a ca.key with 2048bit:openssl genrsa -out ca.key 2048 According to the ca.key generate a ca.crt (use -days to set the certificate effective time):openssl req -x509 -new -nodes -key ca.key -subj "/CN=${MASTER_IP}" -days 10000 -out ca.crt Generate a server.key with 2048bit:openssl genrsa -out server.key 2048 Create a config file for generating a Certificate Signing Request (CSR).Be sure to substitute the values marked with angle brackets (e.g. <MASTER_IP>) with real values before saving this to a file (e.g. csr.conf). Note that the value for MASTER_CLUSTER_IP is the service cluster IP for the API server as described in previous subsection. The sample below also assumes that you are using cluster.local as the default DNS domain name.[ req ] default_bits = 2048 prompt = no default_md = sha256 req_extensions = req_ext distinguished_name = dn [ dn ] C = <country> ST = <state> L = <city> O = <organization> OU = <organization unit> CN = <MASTER_IP> [ req_ext ] subjectAltName = @alt_names [ alt_names ] DNS.1 = kubernetes DNS.2 = kubernetes.default DNS.3 = kubernetes.default.svc DNS.4 = kubernetes.default.svc.cluster DNS.5 = kubernetes.default.svc.cluster.local IP.1 = <MASTER_IP> IP.2 = <MASTER_CLUST


Question: How does Generate Certificates Manually work?

Answer: Generate Certificates ManuallyWhen using client certificate authentication, you can generate certificates manually through easyrsa, openssl or cfssl.easyrsaeasyrsa can manually generate certificates for your cluster.Download, unpack, and initialize the patched version of easyrsa3.curl -LO https://dl.k8s.io/easy-rsa/easy-rsa.tar.gz tar xzf easy-rsa.tar.gz cd easy-rsa-master/easyrsa3 ./easyrsa init-pki Generate a new certificate authority (CA). --batch sets automatic mode; --req-cn specifies the Common Name (CN) for the CA's new root certificate../easyrsa --batch "--req-cn=${MASTER_IP}@`date +%s`" build-ca nopass Generate server certificate and key.The argument --subject-alt-name sets the possible IPs and DNS names the API server will be accessed with. The MASTER_CLUSTER_IP is usually the first IP from the service CIDR that is specified as the --service-cluster-ip-range argument for both the API server and the controller manager component. The argument --days is used to set the number of days after which the certificate expires. The sample below also assumes that you are using cluster.local as the default DNS domain name../easyrsa --subject-alt-name="IP:${MASTER_IP},"\ "IP:${MASTER_CLUSTER_IP},"\ "DNS:kubernetes,"\ "DNS:kubernetes.default,"\ "DNS:kubernetes.default.svc,"\ "DNS:kubernetes.default.svc.cluster,"\ "DNS:kubernetes.default.svc.cluster.local" \ --days=10000 \ build-server-full server nopass Copy pki/ca.crt, pki/issued/server.crt, and pki/private/server.key to your directory.Fill in and add the following parameters into the API server start parameters:--client-ca-file=/yourdirectory/ca.crt --tls-cert-file=/yourdirectory/server.crt --tls-private-key-file=/yourdirectory/server.key opensslopenssl can manually generate certificates for your cluster.Generate a ca.key with 2048bit:openssl genrsa -out ca.key 2048 According to the ca.key generate a ca.crt (use -days to set the certificate effective time):openssl req -x509 -new -nodes -key ca.key -subj "/CN=${MASTER_IP}" -days 10000 -out ca.crt Generate a server.key with 2048bit:openssl genrsa -out server.key 2048 Create a config file for generating a Certificate Signing Request (CSR).Be sure to substitute the values marked with angle brackets (e.g. <MASTER_IP>) with real values before saving this to a file (e.g. csr.conf). Note that the value for MASTER_CLUSTER_IP is the service cluster IP for the API server as described in previous subsection. The sample below also assumes that you are using cluster.local as the default DNS domain name.[ req ] default_bits = 2048 prompt = no default_md = sha256 req_extensions = req_ext distinguished_name = dn [ dn ] C = <country> ST = <state> L = <city> O = <organization> OU = <organization unit> CN = <MASTER_IP> [ req_ext ] subjectAltName = @alt_names [ alt_names ] DNS.1 = kubernetes DNS.2 = kubernetes.default DNS.3 = kubernetes.default.svc DNS.4 = kubernetes.default.svc.cluster DNS.5 = kubernetes.default.svc.cluster.local IP.1 = <MASTER_IP> IP.2 = <MASTER_CLUST


Question: When would you use Generate Certificates Manually?

Answer: Generate Certificates ManuallyWhen using client certificate authentication, you can generate certificates manually through easyrsa, openssl or cfssl.easyrsaeasyrsa can manually generate certificates for your cluster.Download, unpack, and initialize the patched version of easyrsa3.curl -LO https://dl.k8s.io/easy-rsa/easy-rsa.tar.gz tar xzf easy-rsa.tar.gz cd easy-rsa-master/easyrsa3 ./easyrsa init-pki Generate a new certificate authority (CA). --batch sets automatic mode; --req-cn specifies the Common Name (CN) for the CA's new root certificate../easyrsa --batch "--req-cn=${MASTER_IP}@`date +%s`" build-ca nopass Generate server certificate and key.The argument --subject-alt-name sets the possible IPs and DNS names the API server will be accessed with. The MASTER_CLUSTER_IP is usually the first IP from the service CIDR that is specified as the --service-cluster-ip-range argument for both the API server and the controller manager component. The argument --days is used to set the number of days after which the certificate expires. The sample below also assumes that you are using cluster.local as the default DNS domain name../easyrsa --subject-alt-name="IP:${MASTER_IP},"\ "IP:${MASTER_CLUSTER_IP},"\ "DNS:kubernetes,"\ "DNS:kubernetes.default,"\ "DNS:kubernetes.default.svc,"\ "DNS:kubernetes.default.svc.cluster,"\ "DNS:kubernetes.default.svc.cluster.local" \ --days=10000 \ build-server-full server nopass Copy pki/ca.crt, pki/issued/server.crt, and pki/private/server.key to your directory.Fill in and add the following parameters into the API server start parameters:--client-ca-file=/yourdirectory/ca.crt --tls-cert-file=/yourdirectory/server.crt --tls-private-key-file=/yourdirectory/server.key opensslopenssl can manually generate certificates for your cluster.Generate a ca.key with 2048bit:openssl genrsa -out ca.key 2048 According to the ca.key generate a ca.crt (use -days to set the certificate effective time):openssl req -x509 -new -nodes -key ca.key -subj "/CN=${MASTER_IP}" -days 10000 -out ca.crt Generate a server.key with 2048bit:openssl genrsa -out server.key 2048 Create a config file for generating a Certificate Signing Request (CSR).Be sure to substitute the values marked with angle brackets (e.g. <MASTER_IP>) with real values before saving this to a file (e.g. csr.conf). Note that the value for MASTER_CLUSTER_IP is the service cluster IP for the API server as described in previous subsection. The sample below also assumes that you are using cluster.local as the default DNS domain name.[ req ] default_bits = 2048 prompt = no default_md = sha256 req_extensions = req_ext distinguished_name = dn [ dn ] C = <country> ST = <state> L = <city> O = <organization> OU = <organization unit> CN = <MASTER_IP> [ req_ext ] subjectAltName = @alt_names [ alt_names ] DNS.1 = kubernetes DNS.2 = kubernetes.default DNS.3 = kubernetes.default.svc DNS.4 = kubernetes.default.svc.cluster DNS.5 = kubernetes.default.svc.cluster.local IP.1 = <MASTER_IP> IP.2 = <MASTER_CLUST


Question: What are the benefits of Generate Certificates Manually?

Answer: Generate Certificates ManuallyWhen using client certificate authentication, you can generate certificates manually through easyrsa, openssl or cfssl.easyrsaeasyrsa can manually generate certificates for your cluster.Download, unpack, and initialize the patched version of easyrsa3.curl -LO https://dl.k8s.io/easy-rsa/easy-rsa.tar.gz tar xzf easy-rsa.tar.gz cd easy-rsa-master/easyrsa3 ./easyrsa init-pki Generate a new certificate authority (CA). --batch sets automatic mode; --req-cn specifies the Common Name (CN) for the CA's new root certificate../easyrsa --batch "--req-cn=${MASTER_IP}@`date +%s`" build-ca nopass Generate server certificate and key.The argument --subject-alt-name sets the possible IPs and DNS names the API server will be accessed with. The MASTER_CLUSTER_IP is usually the first IP from the service CIDR that is specified as the --service-cluster-ip-range argument for both the API server and the controller manager component. The argument --days is used to set the number of days after which the certificate expires. The sample below also assumes that you are using cluster.local as the default DNS domain name../easyrsa --subject-alt-name="IP:${MASTER_IP},"\ "IP:${MASTER_CLUSTER_IP},"\ "DNS:kubernetes,"\ "DNS:kubernetes.default,"\ "DNS:kubernetes.default.svc,"\ "DNS:kubernetes.default.svc.cluster,"\ "DNS:kubernetes.default.svc.cluster.local" \ --days=10000 \ build-server-full server nopass Copy pki/ca.crt, pki/issued/server.crt, and pki/private/server.key to your directory.Fill in and add the following parameters into the API server start parameters:--client-ca-file=/yourdirectory/ca.crt --tls-cert-file=/yourdirectory/server.crt --tls-private-key-file=/yourdirectory/server.key opensslopenssl can manually generate certificates for your cluster.Generate a ca.key with 2048bit:openssl genrsa -out ca.key 2048 According to the ca.key generate a ca.crt (use -days to set the certificate effective time):openssl req -x509 -new -nodes -key ca.key -subj "/CN=${MASTER_IP}" -days 10000 -out ca.crt Generate a server.key with 2048bit:openssl genrsa -out server.key 2048 Create a config file for generating a Certificate Signing Request (CSR).Be sure to substitute the values marked with angle brackets (e.g. <MASTER_IP>) with real values before saving this to a file (e.g. csr.conf). Note that the value for MASTER_CLUSTER_IP is the service cluster IP for the API server as described in previous subsection. The sample below also assumes that you are using cluster.local as the default DNS domain name.[ req ] default_bits = 2048 prompt = no default_md = sha256 req_extensions = req_ext distinguished_name = dn [ dn ] C = <country> ST = <state> L = <city> O = <organization> OU = <organization unit> CN = <MASTER_IP> [ req_ext ] subjectAltName = @alt_names [ alt_names ] DNS.1 = kubernetes DNS.2 = kubernetes.default DNS.3 = kubernetes.default.svc DNS.4 = kubernetes.default.svc.cluster DNS.5 = kubernetes.default.svc.cluster.local IP.1 = <MASTER_IP> IP.2 = <MASTER_CLUST


Question: What is Generate Certificates Manually?

Answer: W h e n   u s i n g   c l i e n t   c e r t i f i c a t e   a u t h e n t i c a t i o n ,   y o u   c a n   g e n e r a t e   c e r t i f i c a t e s   m a n u a l l y   t h r o u g h   e a s y r s a ,   o p e n s s l   o r   c f s s l .


Question: What is easyrsa?

Answer: e a s y r s a   c a n   m a n u a l l y   g e n e r a t e   c e r t i f i c a t e s   f o r   y o u r   c l u s t e r .   D o w n l o a d ,   u n p a c k ,   a n d   i n i t i a l i z e   t h e   p a t c h e d   v e r s i o n   o f   e a s y r s a 3 . c u r l   - L O   h t t p s : / / d l . k 8 s . i o / e a s y - r s a / e a s y - r s a . t a r . g z   t a r   x z f   e a s y - r s a . t a r . g z   c d   e a s y - r s a - m a s t e r / e a s y r s a 3   . / e a s y r s a   i n i t - p k i   G e n e r a t e   a   n e w   c e r t i f i c a t e   a u t h o r i t y   ( C A ) .   - - b a t c h   s e t s   a u t o m a t i c   m o d e ;   - - r e q - c n   s p e c i f i e s   t h e   C o m m o n   N a m e   ( C N )   f o r   t h e   C A ' s   n e w   r o o t   c e r t i f i c a t e . . / e a s y r s a   - - b a t c h   " - - r e q - c n = $ { M A S T E R _ I P } @ ` d a t e   + % s ` "   b u i l d - c a   n o p a s s   G e n e r a t e   s e r v e r   c e r t i f i c a t e   a n d   k e y . T h e   a r g u m e n t   - - s u b j e c t - a l t - n a m e   s e t s   t h e   p o s s i b l e   I P s   a n d   D N S   n a m e s   t h e   A P I   s e r v e r   w i l l   b e   a c c e s s e d   w i t h .   T h e   M A S T E R _ C L U S T E R _ I P   i s   u s u a l l y   t h e   f i r s t   I P   f r o m   t h e   s e r v i c e   C I D R   t h a t   i s   s p e c i f i e d   a s   t h e   - - s e r v i c e - c l u s t e r - i p - r a n g e   a r g u m e n t   f o r   b o t h   t h e   A P I   s e r v e r   a n d   t h e   c o n t r o l l e r   m a n a g e r   c o m p o n e n t .   T h e   a r g u m e n t   - - d a y s   i s   u s e d   t o   s e t   t h e   n u m b e r   o f   d a y s   a f t e r   w h i c h   t h e   c e r t i f i c a t e   e x p i r e s .   T h e   s a m p l e   b e l o w   a l s o   a s s u m e s   t h a t   y o u   a r e   u s i n g   c l u s t e r . l o c a l   a s   t h e   d e f a u l t   D N S   d o m a i n   n a m e . . / e a s y r s a   - - s u b j e c


Question: What is openssl?

Answer: o p e n s s l   c a n   m a n u a l l y   g e n e r a t e   c e r t i f i c a t e s   f o r   y o u r   c l u s t e r .   G e n e r a t e   a   c a . k e y   w i t h   2 0 4 8 b i t : o p e n s s l   g e n r s a   - o u t   c a . k e y   2 0 4 8   A c c o r d i n g   t o   t h e   c a . k e y   g e n e r a t e   a   c a . c r t   ( u s e   - d a y s   t o   s e t   t h e   c e r t i f i c a t e   e f f e c t i v e   t i m e ) : o p e n s s l   r e q   - x 5 0 9   - n e w   - n o d e s   - k e y   c a . k e y   - s u b j   " / C N = $ { M A S T E R _ I P } "   - d a y s   1 0 0 0 0   - o u t   c a . c r t   G e n e r a t e   a   s e r v e r . k e y   w i t h   2 0 4 8 b i t : o p e n s s l   g e n r s a   - o u t   s e r v e r . k e y   2 0 4 8   C r e a t e   a   c o n f i g   f i l e   f o r   g e n e r a t i n g   a   C e r t i f i c a t e   S i g n i n g   R e q u e s t   ( C S R ) . B e   s u r e   t o   s u b s t i t u t e   t h e   v a l u e s   m a r k e d   w i t h   a n g l e   b r a c k e t s   ( e . g .   < M A S T E R _ I P > )   w i t h   r e a l   v a l u e s   b e f o r e   s a v i n g   t h i s   t o   a   f i l e   ( e . g .   c s r . c o n f ) .   N o t e   t h a t   t h e   v a l u e   f o r   M A S T E R _ C L U S T E R _ I P   i s   t h e   s e r v i c e   c l u s t e r   I P   f o r   t h e   A P I   s e r v e r   a s   d e s c r i b e d   i n   p r e v i o u s   s u b s e c t i o n .   T h e   s a m p l e   b e l o w   a l s o   a s s u m e s   t h a t   y o u   a r e   u s i n g   c l u s t e r . l o c a l   a s   t h e   d e f a u l t   D N S   d o m a i n   n a m e . [   r e q   ]   d e f a u l t _ b i t s   =   2 0 4 8   p r o m p t   =   n o   d e f a u l t _ m d   =   s h a 2 5 6   r e q _ e x t e n s i o n s   =   r e q _ e x t   d i s t i n g u i s h e d _ n a m e   =   d n   [   d n   ]   C   =   < c o u n t r y >   S T   =   < s t a t e >   L   =   < c i t y >   O   =   < o r g a n i z a t i o n >   O U   =   < o r g a n i z a t i o


Question: What is cfssl?

Answer: c f s s l   i s   a n o t h e r   t o o l   f o r   c e r t i f i c a t e   g e n e r a t i o n .   D o w n l o a d ,   u n p a c k   a n d   p r e p a r e   t h e   c o m m a n d   l i n e   t o o l s   a s   s h o w n   b e l o w . N o t e   t h a t   y o u   m a y   n e e d   t o   a d a p t   t h e   s a m p l e   c o m m a n d s   b a s e d   o n   t h e   h a r d w a r e   a r c h i t e c t u r e   a n d   c f s s l   v e r s i o n   y o u   a r e   u s i n g . c u r l   - L   h t t p s : / / g i t h u b . c o m / c l o u d f l a r e / c f s s l / r e l e a s e s / d o w n l o a d / v 1 . 5 . 0 / c f s s l _ 1 . 5 . 0 _ l i n u x _ a m d 6 4   - o   c f s s l   c h m o d   + x   c f s s l   c u r l   - L   h t t p s : / / g i t h u b . c o m / c l o u d f l a r e / c f s s l / r e l e a s e s / d o w n l o a d / v 1 . 5 . 0 / c f s s l j s o n _ 1 . 5 . 0 _ l i n u x _ a m d 6 4   - o   c f s s l j s o n   c h m o d   + x   c f s s l j s o n   c u r l   - L   h t t p s : / / g i t h u b . c o m / c l o u d f l a r e / c f s s l / r e l e a s e s / d o w n l o a d / v 1 . 5 . 0 / c f s s l - c e r t i n f o _ 1 . 5 . 0 _ l i n u x _ a m d 6 4   - o   c f s s l - c e r t i n f o   c h m o d   + x   c f s s l - c e r t i n f o   C r e a t e   a   d i r e c t o r y   t o   h o l d   t h e   a r t i f a c t s   a n d   i n i t i a l i z e   c f s s l : m k d i r   c e r t   c d   c e r t   . . / c f s s l   p r i n t - d e f a u l t s   c o n f i g   >   c o n f i g . j s o n   . . / c f s s l   p r i n t - d e f a u l t s   c s r   >   c s r . j s o n   C r e a t e   a   J S O N   c o n f i g   f i l e   f o r   g e n e r a t i n g   t h e   C A   f i l e ,   f o r   e x a m p l e ,   c a - c o n f i g . j s o n : {   " s i g n i n g " :   {   " d e f a u l t " :   {   " e x p i r y " :   " 8 7 6 0 h "   } ,   " p r o f i l e s " :   {   " k u b e r n e t e s " :   {   " u s a g e s " :   [   " s i g n i n g " ,   " k e y   e n c i p h e r m e n t " ,   " s e r v


Question: What is Distributing Self-Signed CA Certificate?

Answer: A   c l i e n t   n o d e   m a y   r e f u s e   t o   r e c o g n i z e   a   s e l f - s i g n e d   C A   c e r t i f i c a t e   a s   v a l i d .   F o r   a   n o n - p r o d u c t i o n   d e p l o y m e n t ,   o r   f o r   a   d e p l o y m e n t   t h a t   r u n s   b e h i n d   a   c o m p a n y   f i r e w a l l ,   y o u   c a n   d i s t r i b u t e   a   s e l f - s i g n e d   C A   c e r t i f i c a t e   t o   a l l   c l i e n t s   a n d   r e f r e s h   t h e   l o c a l   l i s t   f o r   v a l i d   c e r t i f i c a t e s .   O n   e a c h   c l i e n t ,   p e r f o r m   t h e   f o l l o w i n g   o p e r a t i o n s :   s u d o   c p   c a . c r t   / u s r / l o c a l / s h a r e / c a - c e r t i f i c a t e s / k u b e r n e t e s . c r t   s u d o   u p d a t e - c a - c e r t i f i c a t e s   U p d a t i n g   c e r t i f i c a t e s   i n   / e t c / s s l / c e r t s . . .   1   a d d e d ,   0   r e m o v e d ;   d o n e .   R u n n i n g   h o o k s   i n   / e t c / c a - c e r t i f i c a t e s / u p d a t e . d . . . .   d o n e .


Question: What is Certificates API?

Answer: Y o u   c a n   u s e   t h e   c e r t i f i c a t e s . k 8 s . i o   A P I   t o   p r o v i s i o n   x 5 0 9   c e r t i f i c a t e s   t o   u s e   f o r   a u t h e n t i c a t i o n   a s   d o c u m e n t e d   i n   t h e   M a n a g i n g   T L S   i n   a   c l u s t e r   t a s k   p a g e .


Question: What is Create static Pods?

Answer: Create static PodsStatic Pods are managed directly by the kubelet daemon on a specific node, without the API server observing them. Unlike Pods that are managed by the control plane (for example, a Deployment); instead, the kubelet watches each static Pod (and restarts it if it fails).Static Pods are always bound to one Kubelet on a specific node.The kubelet automatically tries to create a mirror Pod on the Kubernetes API server for each static Pod. This means that the Pods running on a node are visible on the API server, but cannot be controlled from there. The Pod names will be suffixed with the node hostname with a leading hyphen.Note:If you are running clustered Kubernetes and are using static Pods to run a Pod on every node, you should probably be using a DaemonSet instead.Note:The spec of a static Pod cannot refer to other API objects (e.g., ServiceAccount, ConfigMap, Secret, etc).Note:Static pods do not support ephemeral containers.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.This page assumes you're using CRI-O to run Pods, and that your nodes are running the Fedora operating system. Instructions for other distributions or Kubernetes installations may vary.Create a static podYou can configure a static Pod with either a file system hosted configuration file or a web hosted configuration file.Filesystem-hosted static Pod manifestManifests are standard Pod definitions in JSON or YAML format in a specific directory. Use the staticPodPath: <the directory> field in the kubelet configuration file, which periodically scans the directory and creates/deletes static Pods as YAML/JSON files appear/disappear there. Note that the kubelet will ignore files starting with dots when scanning the specified directory.For example, this is how to start a simple web server as a static Pod:Choose a node where you want to run the static Pod. In this example, it's my-node1.ssh my-node1 Choose a directory, say /etc/kubernetes/manifests and place a web server Pod definition there, for example /etc/kubernetes/manifests/static-web.yaml:# Run this command on the node where kubelet is running mkdir -p /etc/kubernetes/manifests/ cat <<EOF >/etc/kubernetes/manifests/static-web.yaml apiVersion: v1 kind: Pod metadata: name: static-web labels: role: myrole spec: containers: - name: web image: nginx ports: - name: web containerPort: 80 protocol: TCP EOF Configure the kubelet on that node to set a staticPodPath value in the kubelet configuration file.See Set Kubelet Parameters Via A Configuration File for more information.An alternative and deprec


Question: How does Create static Pods work?

Answer: Create static PodsStatic Pods are managed directly by the kubelet daemon on a specific node, without the API server observing them. Unlike Pods that are managed by the control plane (for example, a Deployment); instead, the kubelet watches each static Pod (and restarts it if it fails).Static Pods are always bound to one Kubelet on a specific node.The kubelet automatically tries to create a mirror Pod on the Kubernetes API server for each static Pod. This means that the Pods running on a node are visible on the API server, but cannot be controlled from there. The Pod names will be suffixed with the node hostname with a leading hyphen.Note:If you are running clustered Kubernetes and are using static Pods to run a Pod on every node, you should probably be using a DaemonSet instead.Note:The spec of a static Pod cannot refer to other API objects (e.g., ServiceAccount, ConfigMap, Secret, etc).Note:Static pods do not support ephemeral containers.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.This page assumes you're using CRI-O to run Pods, and that your nodes are running the Fedora operating system. Instructions for other distributions or Kubernetes installations may vary.Create a static podYou can configure a static Pod with either a file system hosted configuration file or a web hosted configuration file.Filesystem-hosted static Pod manifestManifests are standard Pod definitions in JSON or YAML format in a specific directory. Use the staticPodPath: <the directory> field in the kubelet configuration file, which periodically scans the directory and creates/deletes static Pods as YAML/JSON files appear/disappear there. Note that the kubelet will ignore files starting with dots when scanning the specified directory.For example, this is how to start a simple web server as a static Pod:Choose a node where you want to run the static Pod. In this example, it's my-node1.ssh my-node1 Choose a directory, say /etc/kubernetes/manifests and place a web server Pod definition there, for example /etc/kubernetes/manifests/static-web.yaml:# Run this command on the node where kubelet is running mkdir -p /etc/kubernetes/manifests/ cat <<EOF >/etc/kubernetes/manifests/static-web.yaml apiVersion: v1 kind: Pod metadata: name: static-web labels: role: myrole spec: containers: - name: web image: nginx ports: - name: web containerPort: 80 protocol: TCP EOF Configure the kubelet on that node to set a staticPodPath value in the kubelet configuration file.See Set Kubelet Parameters Via A Configuration File for more information.An alternative and deprec


Question: When would you use Create static Pods?

Answer: Create static PodsStatic Pods are managed directly by the kubelet daemon on a specific node, without the API server observing them. Unlike Pods that are managed by the control plane (for example, a Deployment); instead, the kubelet watches each static Pod (and restarts it if it fails).Static Pods are always bound to one Kubelet on a specific node.The kubelet automatically tries to create a mirror Pod on the Kubernetes API server for each static Pod. This means that the Pods running on a node are visible on the API server, but cannot be controlled from there. The Pod names will be suffixed with the node hostname with a leading hyphen.Note:If you are running clustered Kubernetes and are using static Pods to run a Pod on every node, you should probably be using a DaemonSet instead.Note:The spec of a static Pod cannot refer to other API objects (e.g., ServiceAccount, ConfigMap, Secret, etc).Note:Static pods do not support ephemeral containers.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.This page assumes you're using CRI-O to run Pods, and that your nodes are running the Fedora operating system. Instructions for other distributions or Kubernetes installations may vary.Create a static podYou can configure a static Pod with either a file system hosted configuration file or a web hosted configuration file.Filesystem-hosted static Pod manifestManifests are standard Pod definitions in JSON or YAML format in a specific directory. Use the staticPodPath: <the directory> field in the kubelet configuration file, which periodically scans the directory and creates/deletes static Pods as YAML/JSON files appear/disappear there. Note that the kubelet will ignore files starting with dots when scanning the specified directory.For example, this is how to start a simple web server as a static Pod:Choose a node where you want to run the static Pod. In this example, it's my-node1.ssh my-node1 Choose a directory, say /etc/kubernetes/manifests and place a web server Pod definition there, for example /etc/kubernetes/manifests/static-web.yaml:# Run this command on the node where kubelet is running mkdir -p /etc/kubernetes/manifests/ cat <<EOF >/etc/kubernetes/manifests/static-web.yaml apiVersion: v1 kind: Pod metadata: name: static-web labels: role: myrole spec: containers: - name: web image: nginx ports: - name: web containerPort: 80 protocol: TCP EOF Configure the kubelet on that node to set a staticPodPath value in the kubelet configuration file.See Set Kubelet Parameters Via A Configuration File for more information.An alternative and deprec


Question: What are the benefits of Create static Pods?

Answer: Create static PodsStatic Pods are managed directly by the kubelet daemon on a specific node, without the API server observing them. Unlike Pods that are managed by the control plane (for example, a Deployment); instead, the kubelet watches each static Pod (and restarts it if it fails).Static Pods are always bound to one Kubelet on a specific node.The kubelet automatically tries to create a mirror Pod on the Kubernetes API server for each static Pod. This means that the Pods running on a node are visible on the API server, but cannot be controlled from there. The Pod names will be suffixed with the node hostname with a leading hyphen.Note:If you are running clustered Kubernetes and are using static Pods to run a Pod on every node, you should probably be using a DaemonSet instead.Note:The spec of a static Pod cannot refer to other API objects (e.g., ServiceAccount, ConfigMap, Secret, etc).Note:Static pods do not support ephemeral containers.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.This page assumes you're using CRI-O to run Pods, and that your nodes are running the Fedora operating system. Instructions for other distributions or Kubernetes installations may vary.Create a static podYou can configure a static Pod with either a file system hosted configuration file or a web hosted configuration file.Filesystem-hosted static Pod manifestManifests are standard Pod definitions in JSON or YAML format in a specific directory. Use the staticPodPath: <the directory> field in the kubelet configuration file, which periodically scans the directory and creates/deletes static Pods as YAML/JSON files appear/disappear there. Note that the kubelet will ignore files starting with dots when scanning the specified directory.For example, this is how to start a simple web server as a static Pod:Choose a node where you want to run the static Pod. In this example, it's my-node1.ssh my-node1 Choose a directory, say /etc/kubernetes/manifests and place a web server Pod definition there, for example /etc/kubernetes/manifests/static-web.yaml:# Run this command on the node where kubelet is running mkdir -p /etc/kubernetes/manifests/ cat <<EOF >/etc/kubernetes/manifests/static-web.yaml apiVersion: v1 kind: Pod metadata: name: static-web labels: role: myrole spec: containers: - name: web image: nginx ports: - name: web containerPort: 80 protocol: TCP EOF Configure the kubelet on that node to set a staticPodPath value in the kubelet configuration file.See Set Kubelet Parameters Via A Configuration File for more information.An alternative and deprec


Question: What is Create static Pods?

Answer: S t a t i c   P o d s   a r e   m a n a g e d   d i r e c t l y   b y   t h e   k u b e l e t   d a e m o n   o n   a   s p e c i f i c   n o d e ,   w i t h o u t   t h e   A P I   s e r v e r   o b s e r v i n g   t h e m .   U n l i k e   P o d s   t h a t   a r e   m a n a g e d   b y   t h e   c o n t r o l   p l a n e   ( f o r   e x a m p l e ,   a   D e p l o y m e n t ) ;   i n s t e a d ,   t h e   k u b e l e t   w a t c h e s   e a c h   s t a t i c   P o d   ( a n d   r e s t a r t s   i t   i f   i t   f a i l s ) .   S t a t i c   P o d s   a r e   a l w a y s   b o u n d   t o   o n e   K u b e l e t   o n   a   s p e c i f i c   n o d e .   T h e   k u b e l e t   a u t o m a t i c a l l y   t r i e s   t o   c r e a t e   a   m i r r o r   P o d   o n   t h e   K u b e r n e t e s   A P I   s e r v e r   f o r   e a c h   s t a t i c   P o d .   T h i s   m e a n s   t h a t   t h e   P o d s   r u n n i n g   o n   a   n o d e   a r e   v i s i b l e   o n   t h e   A P I   s e r v e r ,   b u t   c a n n o t   b e   c o n t r o l l e d   f r o m   t h e r e .   T h e   P o d   n a m e s   w i l l   b e   s u f f i x e d   w i t h   t h e   n o d e   h o s t n a m e   w i t h   a   l e a d i n g   h y p h e 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 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 .   T h i s   p a g e   a s s u m e s   y o u ' r e   u s i n g   C R I - O   t o   r u n   P o d s ,   a n d   t h a t   y o u


Question: What is Create a static pod?

Answer: Y o u   c a n   c o n f i g u r e   a   s t a t i c   P o d   w i t h   e i t h e r   a   f i l e   s y s t e m   h o s t e d   c o n f i g u r a t i o n   f i l e   o r   a   w e b   h o s t e d   c o n f i g u r a t i o n   f i l e .


Question: What is Filesystem-hosted static Pod manifest?

Answer: M a n i f e s t s   a r e   s t a n d a r d   P o d   d e f i n i t i o n s   i n   J S O N   o r   Y A M L   f o r m a t   i n   a   s p e c i f i c   d i r e c t o r y .   U s e   t h e   s t a t i c P o d P a t h :   < t h e   d i r e c t o r y >   f i e l d   i n   t h e   k u b e l e t   c o n f i g u r a t i o n   f i l e ,   w h i c h   p e r i o d i c a l l y   s c a n s   t h e   d i r e c t o r y   a n d   c r e a t e s / d e l e t e s   s t a t i c   P o d s   a s   Y A M L / J S O N   f i l e s   a p p e a r / d i s a p p e a r   t h e r e .   N o t e   t h a t   t h e   k u b e l e t   w i l l   i g n o r e   f i l e s   s t a r t i n g   w i t h   d o t s   w h e n   s c a n n i n g   t h e   s p e c i f i e d   d i r e c t o r y .   F o r   e x a m p l e ,   t h i s   i s   h o w   t o   s t a r t   a   s i m p l e   w e b   s e r v e r   a s   a   s t a t i c   P o d :   C h o o s e   a   n o d e   w h e r e   y o u   w a n t   t o   r u n   t h e   s t a t i c   P o d .   I n   t h i s   e x a m p l e ,   i t ' s   m y - n o d e 1 . s s h   m y - n o d e 1   C h o o s e   a   d i r e c t o r y ,   s a y   / e t c / k u b e r n e t e s / m a n i f e s t s   a n d   p l a c e   a   w e b   s e r v e r   P o d   d e f i n i t i o n   t h e r e ,   f o r   e x a m p l e   / e t c / k u b e r n e t e s / m a n i f e s t s / s t a t i c - w e b . y a m l : #   R u n   t h i s   c o m m a n d   o n   t h e   n o d e   w h e r e   k u b e l e t   i s   r u n n i n g   m k d i r   - p   / e t c / k u b e r n e t e s / m a n i f e s t s /   c a t   < < E O F   > / e t c / k u b e r n e t e s / m a n i f e s t s / s t a t i c - w e b . y a m l   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 :   s t a t i c - w e b   l a b e l s :   r o l e :   m y r o l e   s p e c :   c o n t a i n e r s :   -   n a m e :   w e b   i m a g e :   n g i n x   p o r t s :   -   n a m e :   w e b   c o n t a i n e r P o r t :   8 0   p r o t o c o


Question: What is Web-hosted static pod manifest?

Answer: K u b e l e t   p e r i o d i c a l l y   d o w n l o a d s   a   f i l e   s p e c i f i e d   b y   - - m a n i f e s t - u r l = < U R L >   a r g u m e n t   a n d   i n t e r p r e t s   i t   a s   a   J S O N / Y A M L   f i l e   t h a t   c o n t a i n s   P o d   d e f i n i t i o n s .   S i m i l a r   t o   h o w   f i l e s y s t e m - h o s t e d   m a n i f e s t s   w o r k ,   t h e   k u b e l e t   r e f e t c h e s   t h e   m a n i f e s t   o n   a   s c h e d u l e .   I f   t h e r e   a r e   c h a n g e s   t o   t h e   l i s t   o f   s t a t i c   P o d s ,   t h e   k u b e l e t   a p p l i e s   t h e m .   T o   u s e   t h i s   a p p r o a c h :   C r e a t e   a   Y A M L   f i l e   a n d   s t o r e   i t   o n   a   w e b   s e r v e r   s o   t h a t   y o u   c a n   p a s s   t h e   U R L   o f   t h a t   f i l e   t o   t h e   k u b e l e t . 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 :   s t a t i c - w e b   l a b e l s :   r o l e :   m y r o l e   s p e c :   c o n t a i n e r s :   -   n a m e :   w e b   i m a g e :   n g i n x   p o r t s :   -   n a m e :   w e b   c o n t a i n e r P o r t :   8 0   p r o t o c o l :   T C P   C o n f i g u r e   t h e   k u b e l e t   o n   y o u r   s e l e c t e d   n o d e   t o   u s e   t h i s   w e b   m a n i f e s t   b y   r u n n i n g   i t   w i t h   - - m a n i f e s t - u r l = < m a n i f e s t - u r l > .   O n   F e d o r a ,   e d i t   / e t c / k u b e r n e t e s / k u b e l e t   t o   i n c l u d e   t h i s   l i n e : K U B E L E T _ A R G S = " - - c l u s t e r - d n s = 1 0 . 2 5 4 . 0 . 1 0   - - c l u s t e r - d o m a i n = k u b e . l o c a l   - - m a n i f e s t - u r l = < m a n i f e s t - u r l > "   R e s t a r t   t h e   k u b e l e t .   O n   F e d o r a ,   y o u   w o u l d   r u n : #   R u n   t h i s   c o m m a n d   o n   t h e   n o d e   w h e r e   t h e   k u b e l e t   i s   r u n n i


Question: What is Observe static pod behavior?

Answer: W h e n   t h e   k u b e l e t   s t a r t s ,   i t   a u t o m a t i c a l l y   s t a r t s   a l l   d e f i n e d   s t a t i c   P o d s .   A s   y o u   h a v e   d e f i n e d   a   s t a t i c   P o d   a n d   r e s t a r t e d   t h e   k u b e l e t ,   t h e   n e w   s t a t i c   P o d   s h o u l d   a l r e a d y   b e   r u n n i n g .   Y o u   c a n   v i e w   r u n n i n g   c o n t a i n e r s   ( i n c l u d i n g   s t a t i c   P o d s )   b y   r u n n i n g   ( o n   t h e   n o d e ) :   #   R u n   t h i s   c o m m a n d   o n   t h e   n o d e   w h e r e   t h e   k u b e l e t   i s   r u n n i n g   c r i c t l   p s   T h e   o u t p u t   m i g h t   b e   s o m e t h i n g   l i k e :   C O N T A I N E R   I M A G E   C R E A T E D   S T A T E   N A M E   A T T E M P T   P O D   I D   1 2 9 f d 7 d 3 8 2 0 1 8   d o c k e r . i o / l i b r a r y / n g i n x @ s h a 2 5 6 : . . .   1 1   m i n u t e s   a g o   R u n n i n g   w e b   0   3 4 5 3 3 c 6 7 2 9 1 0 6


Question: What is Note:?

Answer: Y o u   c a n   s e e   t h e   m i r r o r   P o d   o n   t h e   A P I   s e r v e r :   k u b e c t l   g e t   p o d s   N A M E   R E A D Y   S T A T U S   R E S T A R T S   A G E   s t a t i c - w e b - m y - n o d e 1   1 / 1   R u n n i n g   0   2 m


Question: What is Note:?

Answer: L a b e l s   f r o m   t h e   s t a t i c   P o d   a r e   p r o p a g a t e d   i n t o   t h e   m i r r o r   P o d .   Y o u   c a n   u s e   t h o s e   l a b e l s   a s   n o r m a l   v i a   s e l e c t o r s ,   e t c .   I f   y o u   t r y   t o   u s e   k u b e c t l   t o   d e l e t e   t h e   m i r r o r   P o d   f r o m   t h e   A P I   s e r v e r ,   t h e   k u b e l e t   d o e s n ' t   r e m o v e   t h e   s t a t i c   P o d :   k u b e c t l   d e l e t e   p o d   s t a t i c - w e b - m y - n o d e 1   p o d   " s t a t i c - w e b - m y - n o d e 1 "   d e l e t e d   Y o u   c a n   s e e   t h a t   t h e   P o d   i s   s t i l l   r u n n i n g :   k u b e c t l   g e t   p o d s   N A M E   R E A D Y   S T A T U S   R E S T A R T S   A G E   s t a t i c - w e b - m y - n o d e 1   1 / 1   R u n n i n g   0   4 s   B a c k   o n   y o u r   n o d e   w h e r e   t h e   k u b e l e t   i s   r u n n i n g ,   y o u   c a n   t r y   t o   s t o p   t h e   c o n t a i n e r   m a n u a l l y .   Y o u ' l l   s e e   t h a t ,   a f t e r   a   t i m e ,   t h e   k u b e l e t   w i l l   n o t i c e   a n d   w i l l   r e s t a r t   t h e   P o d   a u t o m a t i c a l l y :   #   R u n   t h e s e   c o m m a n d s   o n   t h e   n o d e   w h e r e   t h e   k u b e l e t   i s   r u n n i n g   c r i c t l   s t o p   1 2 9 f d 7 d 3 8 2 0 1 8   #   r e p l a c e   w i t h   t h e   I D   o f   y o u r   c o n t a i n e r   s l e e p   2 0   c r i c t l   p s   C O N T A I N E R   I M A G E   C R E A T E D   S T A T E   N A M E   A T T E M P T   P O D   I D   8 9 d b 4 5 5 3 e 1 e e b   d o c k e r . i o / l i b r a r y / n g i n x @ s h a 2 5 6 : . . .   1 9   s e c o n d s   a g o   R u n n i n g   w e b   1   3 4 5 3 3 c 6 7 2 9 1 0 6   O n c e   y o u   i d e n t i f y   t h e   r i g h t   c o n t a i n e r ,   y o u   c a n   g e t   t h e   l o g s   f o r   t h a t   c o n t a i n e r   w i t h   c r i c t l


Question: What is Dynamic addition and removal of static pods?

Answer: T h e   r u n n i n g   k u b e l e t   p e r i o d i c a l l y   s c a n s   t h e   c o n f i g u r e d   d i r e c t o r y   ( / e t c / k u b e r n e t e s / m a n i f e s t s   i n   o u r   e x a m p l e )   f o r   c h a n g e s   a n d   a d d s / r e m o v e s   P o d s   a s   f i l e s   a p p e a r / d i s a p p e a r   i n   t h i s   d i r e c t o r y .   #   T h i s   a s s u m e s   y o u   a r e   u s i n g   f i l e s y s t e m - h o s t e d   s t a t i c   P o d   c o n f i g u r a t i o n   #   R u n   t h e s e   c o m m a n d s   o n   t h e   n o d e   w h e r e   t h e   c o n t a i n e r   i s   r u n n i n g   #   m v   / e t c / k u b e r n e t e s / m a n i f e s t s / s t a t i c - w e b . y a m l   / t m p   s l e e p   2 0   c r i c t l   p s   #   Y o u   s e e   t h a t   n o   n g i n x   c o n t a i n e r   i s   r u n n i n g   m v   / t m p / s t a t i c - w e b . y a m l   / e t c / k u b e r n e t e s / m a n i f e s t s /   s l e e p   2 0   c r i c t l   p s   C O N T A I N E R   I M A G E   C R E A T E D   S T A T E   N A M E   A T T E M P T   P O D   I D   f 4 2 7 6 3 8 8 7 1 c 3 5   d o c k e r . i o / l i b r a r y / n g i n x @ s h a 2 5 6 : . . .   1 9   s e c o n d s   a g o   R u n n i n g   w e b   1   3 4 5 3 3 c 6 7 2 9 1 0 6


Question: What is What's next?

Answer: G e n e r a t e   s t a t i c   P o d   m a n i f e s t s   f o r   c o n t r o l   p l a n e   c o m p o n e n t s G e n e r a t e   s t a t i c   P o d   m a n i f e s t   f o r   l o c a l   e t c d D e b u g g i n g   K u b e r n e t e s   n o d e s   w i t h   c r i c t l L e a r n   m o r e   a b o u t   c r i c t l . M a p   d o c k e r   C L I   c o m m a n d s   t o   c r i c t l . S e t   u p   e t c d   i n s t a n c e s   a s   s t a t i c   p o d s   m a n a g e d   b y   a   k u b e l e t