Question: When would you use Developing Cloud Controller Manager?

Answer: Developing Cloud Controller ManagerFEATURE STATE: Kubernetes v1.11 [beta]The cloud-controller-manager is a Kubernetes control plane component that embeds cloud-specific control logic. The cloud controller manager lets you link your cluster into your cloud provider's API, and separates out the components that interact with that cloud platform from components that only interact with your cluster.By decoupling the interoperability logic between Kubernetes and the underlying cloud infrastructure, the cloud-controller-manager component enables cloud providers to release features at a different pace compared to the main Kubernetes project.BackgroundSince cloud providers develop and release at a different pace compared to the Kubernetes project, abstracting the provider-specific code to the cloud-controller-manager binary allows cloud vendors to evolve independently from the core Kubernetes code.The Kubernetes project provides skeleton cloud-controller-manager code with Go interfaces to allow you (or your cloud provider) to plug in your own implementations. This means that a cloud provider can implement a cloud-controller-manager by importing packages from Kubernetes core; each cloudprovider will register their own code by calling cloudprovider.RegisterCloudProvider to update a global variable of available cloud providers.DevelopingOut of treeTo build an out-of-tree cloud-controller-manager for your cloud:Create a go package with an implementation that satisfies cloudprovider.Interface.Use main.go in cloud-controller-manager from Kubernetes core as a template for your main.go. As mentioned above, the only difference should be the cloud package that will be imported.Import your cloud package in main.go, ensure your package has an init block to run cloudprovider.RegisterCloudProvider.Many cloud providers publish their controller manager code as open source. If you are creating a new cloud-controller-manager from scratch, you could take an existing out-of-tree cloud controller manager as your starting point.In treeFor in-tree cloud providers, you can run the in-tree cloud controller manager as a DaemonSet in your cluster. See Cloud Controller Manager Administration for more details.


Question: What are the benefits of Developing Cloud Controller Manager?

Answer: Developing Cloud Controller ManagerFEATURE STATE: Kubernetes v1.11 [beta]The cloud-controller-manager is a Kubernetes control plane component that embeds cloud-specific control logic. The cloud controller manager lets you link your cluster into your cloud provider's API, and separates out the components that interact with that cloud platform from components that only interact with your cluster.By decoupling the interoperability logic between Kubernetes and the underlying cloud infrastructure, the cloud-controller-manager component enables cloud providers to release features at a different pace compared to the main Kubernetes project.BackgroundSince cloud providers develop and release at a different pace compared to the Kubernetes project, abstracting the provider-specific code to the cloud-controller-manager binary allows cloud vendors to evolve independently from the core Kubernetes code.The Kubernetes project provides skeleton cloud-controller-manager code with Go interfaces to allow you (or your cloud provider) to plug in your own implementations. This means that a cloud provider can implement a cloud-controller-manager by importing packages from Kubernetes core; each cloudprovider will register their own code by calling cloudprovider.RegisterCloudProvider to update a global variable of available cloud providers.DevelopingOut of treeTo build an out-of-tree cloud-controller-manager for your cloud:Create a go package with an implementation that satisfies cloudprovider.Interface.Use main.go in cloud-controller-manager from Kubernetes core as a template for your main.go. As mentioned above, the only difference should be the cloud package that will be imported.Import your cloud package in main.go, ensure your package has an init block to run cloudprovider.RegisterCloudProvider.Many cloud providers publish their controller manager code as open source. If you are creating a new cloud-controller-manager from scratch, you could take an existing out-of-tree cloud controller manager as your starting point.In treeFor in-tree cloud providers, you can run the in-tree cloud controller manager as a DaemonSet in your cluster. See Cloud Controller Manager Administration for more details.


Question: What is Developing Cloud Controller Manager?

Answer: T h e   c l o u d - c o n t r o l l e r - m a n a g e r   i s   a   K u b e r n e t e s   c o n t r o l   p l a n e   c o m p o n e n t   t h a t   e m b e d s   c l o u d - s p e c i f i c   c o n t r o l   l o g i c .   T h e   c l o u d   c o n t r o l l e r   m a n a g e r   l e t s   y o u   l i n k   y o u r   c l u s t e r   i n t o   y o u r   c l o u d   p r o v i d e r ' s   A P I ,   a n d   s e p a r a t e s   o u t   t h e   c o m p o n e n t s   t h a t   i n t e r a c t   w i t h   t h a t   c l o u d   p l a t f o r m   f r o m   c o m p o n e n t s   t h a t   o n l y   i n t e r a c t   w i t h   y o u r   c l u s t e r .   T h e   c l o u d - c o n t r o l l e r - m a n a g e r   i s   a   K u b e r n e t e s   c o n t r o l   p l a n e   c o m p o n e n t   t h a t   e m b e d s   c l o u d - s p e c i f i c   c o n t r o l   l o g i c .   T h e   c l o u d   c o n t r o l l e r   m a n a g e r   l e t s   y o u   l i n k   y o u r   c l u s t e r   i n t o   y o u r   c l o u d   p r o v i d e r ' s   A P I ,   a n d   s e p a r a t e s   o u t   t h e   c o m p o n e n t s   t h a t   i n t e r a c t   w i t h   t h a t   c l o u d   p l a t f o r m   f r o m   c o m p o n e n t s   t h a t   o n l y   i n t e r a c t   w i t h   y o u r   c l u s t e r .   B y   d e c o u p l i n g   t h e   i n t e r o p e r a b i l i t y   l o g i c   b e t w e e n   K u b e r n e t e s   a n d   t h e   u n d e r l y i n g   c l o u d   i n f r a s t r u c t u r e ,   t h e   c l o u d - 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   e n a b l e s   c l o u d   p r o v i d e r s   t o   r e l e a s e   f e a t u r e s   a t   a   d i f f e r e n t   p a c e   c o m p a r e d   t o   t h e   m a i n   K u b e r n e t e s   p r o j e c t .


Question: What is Background?

Answer: S i n c e   c l o u d   p r o v i d e r s   d e v e l o p   a n d   r e l e a s e   a t   a   d i f f e r e n t   p a c e   c o m p a r e d   t o   t h e   K u b e r n e t e s   p r o j e c t ,   a b s t r a c t i n g   t h e   p r o v i d e r - s p e c i f i c   c o d e   t o   t h e   c l o u d - c o n t r o l l e r - m a n a g e r   b i n a r y   a l l o w s   c l o u d   v e n d o r s   t o   e v o l v e   i n d e p e n d e n t l y   f r o m   t h e   c o r e   K u b e r n e t e s   c o d e .   T h e   K u b e r n e t e s   p r o j e c t   p r o v i d e s   s k e l e t o n   c l o u d - c o n t r o l l e r - m a n a g e r   c o d e   w i t h   G o   i n t e r f a c e s   t o   a l l o w   y o u   ( o r   y o u r   c l o u d   p r o v i d e r )   t o   p l u g   i n   y o u r   o w n   i m p l e m e n t a t i o n s .   T h i s   m e a n s   t h a t   a   c l o u d   p r o v i d e r   c a n   i m p l e m e n t   a   c l o u d - c o n t r o l l e r - m a n a g e r   b y   i m p o r t i n g   p a c k a g e s   f r o m   K u b e r n e t e s   c o r e ;   e a c h   c l o u d p r o v i d e r   w i l l   r e g i s t e r   t h e i r   o w n   c o d e   b y   c a l l i n g   c l o u d p r o v i d e r . R e g i s t e r C l o u d P r o v i d e r   t o   u p d a t e   a   g l o b a l   v a r i a b l e   o f   a v a i l a b l e   c l o u d   p r o v i d e r s .


Question: What is Out of tree?

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


Question: What is In tree?

Answer: F o r   i n - t r e e   c l o u d   p r o v i d e r s ,   y o u   c a n   r u n   t h e   i n - t r e e   c l o u d   c o n t r o l l e r   m a n a g e r   a s   a   D a e m o n S e t   i n   y o u r   c l u s t e r .   S e e   C l o u d   C o n t r o l l e r   M a n a g e r   A d m i n i s t r a t i o n   f o r   m o r e   d e t a i l s .


Question: What is kubectl cluster-info dump?

Answer: kubectl cluster-info dumpSynopsisDump cluster information out suitable for debugging and diagnosing cluster problems. By default, dumps everything to stdout. You can optionally specify a directory with --output-directory. If you specify a directory, Kubernetes will build a set of files in that directory. By default, only dumps things in the current namespace and 'kube-system' namespace, but you can switch to a different namespace with the --namespaces flag, or specify --all-namespaces to dump all namespaces.The command also dumps the logs of all of the pods in the cluster; these logs are dumped into different directories based on namespace and pod name.kubectl cluster-info dump [flags] Examples # Dump current cluster state to stdout kubectl cluster-info dump # Dump current cluster state to /path/to/cluster-state kubectl cluster-info dump --output-directory=/path/to/cluster-state # Dump all namespaces to stdout kubectl cluster-info dump --all-namespaces # Dump a set of namespaces to /path/to/cluster-state kubectl cluster-info dump --namespaces default,kube-system --output-directory=/path/to/cluster-state Options-A, --all-namespacesIf true, dump all namespaces. If true, --namespaces is ignored.--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.-h, --helphelp for dump--namespaces stringsA comma separated list of namespaces to dump.-o, --output string Default: "json"Output format. One of: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).--output-directory stringWhere to output the files. If empty or '-' uses stdout, otherwise creates a directory hierarchy in that directory--pod-running-timeout duration Default: 20sThe length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running--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].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 requ


Question: How does kubectl cluster-info dump work?

Answer: kubectl cluster-info dumpSynopsisDump cluster information out suitable for debugging and diagnosing cluster problems. By default, dumps everything to stdout. You can optionally specify a directory with --output-directory. If you specify a directory, Kubernetes will build a set of files in that directory. By default, only dumps things in the current namespace and 'kube-system' namespace, but you can switch to a different namespace with the --namespaces flag, or specify --all-namespaces to dump all namespaces.The command also dumps the logs of all of the pods in the cluster; these logs are dumped into different directories based on namespace and pod name.kubectl cluster-info dump [flags] Examples # Dump current cluster state to stdout kubectl cluster-info dump # Dump current cluster state to /path/to/cluster-state kubectl cluster-info dump --output-directory=/path/to/cluster-state # Dump all namespaces to stdout kubectl cluster-info dump --all-namespaces # Dump a set of namespaces to /path/to/cluster-state kubectl cluster-info dump --namespaces default,kube-system --output-directory=/path/to/cluster-state Options-A, --all-namespacesIf true, dump all namespaces. If true, --namespaces is ignored.--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.-h, --helphelp for dump--namespaces stringsA comma separated list of namespaces to dump.-o, --output string Default: "json"Output format. One of: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).--output-directory stringWhere to output the files. If empty or '-' uses stdout, otherwise creates a directory hierarchy in that directory--pod-running-timeout duration Default: 20sThe length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running--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].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 requ


Question: When would you use kubectl cluster-info dump?

Answer: kubectl cluster-info dumpSynopsisDump cluster information out suitable for debugging and diagnosing cluster problems. By default, dumps everything to stdout. You can optionally specify a directory with --output-directory. If you specify a directory, Kubernetes will build a set of files in that directory. By default, only dumps things in the current namespace and 'kube-system' namespace, but you can switch to a different namespace with the --namespaces flag, or specify --all-namespaces to dump all namespaces.The command also dumps the logs of all of the pods in the cluster; these logs are dumped into different directories based on namespace and pod name.kubectl cluster-info dump [flags] Examples # Dump current cluster state to stdout kubectl cluster-info dump # Dump current cluster state to /path/to/cluster-state kubectl cluster-info dump --output-directory=/path/to/cluster-state # Dump all namespaces to stdout kubectl cluster-info dump --all-namespaces # Dump a set of namespaces to /path/to/cluster-state kubectl cluster-info dump --namespaces default,kube-system --output-directory=/path/to/cluster-state Options-A, --all-namespacesIf true, dump all namespaces. If true, --namespaces is ignored.--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.-h, --helphelp for dump--namespaces stringsA comma separated list of namespaces to dump.-o, --output string Default: "json"Output format. One of: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).--output-directory stringWhere to output the files. If empty or '-' uses stdout, otherwise creates a directory hierarchy in that directory--pod-running-timeout duration Default: 20sThe length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running--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].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 requ


Question: What are the benefits of kubectl cluster-info dump?

Answer: kubectl cluster-info dumpSynopsisDump cluster information out suitable for debugging and diagnosing cluster problems. By default, dumps everything to stdout. You can optionally specify a directory with --output-directory. If you specify a directory, Kubernetes will build a set of files in that directory. By default, only dumps things in the current namespace and 'kube-system' namespace, but you can switch to a different namespace with the --namespaces flag, or specify --all-namespaces to dump all namespaces.The command also dumps the logs of all of the pods in the cluster; these logs are dumped into different directories based on namespace and pod name.kubectl cluster-info dump [flags] Examples # Dump current cluster state to stdout kubectl cluster-info dump # Dump current cluster state to /path/to/cluster-state kubectl cluster-info dump --output-directory=/path/to/cluster-state # Dump all namespaces to stdout kubectl cluster-info dump --all-namespaces # Dump a set of namespaces to /path/to/cluster-state kubectl cluster-info dump --namespaces default,kube-system --output-directory=/path/to/cluster-state Options-A, --all-namespacesIf true, dump all namespaces. If true, --namespaces is ignored.--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.-h, --helphelp for dump--namespaces stringsA comma separated list of namespaces to dump.-o, --output string Default: "json"Output format. One of: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).--output-directory stringWhere to output the files. If empty or '-' uses stdout, otherwise creates a directory hierarchy in that directory--pod-running-timeout duration Default: 20sThe length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running--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].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 requ


Question: What is Synopsis?

Answer: D u m p   c l u s t e r   i n f o r m a t i o n   o u t   s u i t a b l e   f o r   d e b u g g i n g   a n d   d i a g n o s i n g   c l u s t e r   p r o b l e m s .   B y   d e f a u l t ,   d u m p s   e v e r y t h i n g   t o   s t d o u t .   Y o u   c a n   o p t i o n a l l y   s p e c i f y   a   d i r e c t o r y   w i t h   - - o u t p u t - d i r e c t o r y .   I f   y o u   s p e c i f y   a   d i r e c t o r y ,   K u b e r n e t e s   w i l l   b u i l d   a   s e t   o f   f i l e s   i n   t h a t   d i r e c t o r y .   B y   d e f a u l t ,   o n l y   d u m p s   t h i n g s   i n   t h e   c u r r e n t   n a m e s p a c e   a n d   ' k u b e - s y s t e m '   n a m e s p a c e ,   b u t   y o u   c a n   s w i t c h   t o   a   d i f f e r e n t   n a m e s p a c e   w i t h   t h e   - - n a m e s p a c e s   f l a g ,   o r   s p e c i f y   - - a l l - n a m e s p a c e s   t o   d u m p   a l l   n a m e s p a c e s .   T h e   c o m m a n d   a l s o   d u m p s   t h e   l o g s   o f   a l l   o f   t h e   p o d s   i n   t h e   c l u s t e r ;   t h e s e   l o g s   a r e   d u m p e d   i n t o   d i f f e r e n t   d i r e c t o r i e s   b a s e d   o n   n a m e s p a c e   a n d   p o d   n a m e .   k u b e c t l   c l u s t e r - i n f o   d u m p   [ f l a g s ]


Question: What is Examples?

Answer: #   D u m p   c u r r e n t   c l u s t e r   s t a t e   t o   s t d o u t   k u b e c t l   c l u s t e r - i n f o   d u m p   #   D u m p   c u r r e n t   c l u s t e r   s t a t e   t o   / p a t h / t o / c l u s t e r - s t a t e   k u b e c t l   c l u s t e r - i n f o   d u m p   - - o u t p u t - d i r e c t o r y = / p a t h / t o / c l u s t e r - s t a t e   #   D u m p   a l l   n a m e s p a c e s   t o   s t d o u t   k u b e c t l   c l u s t e r - i n f o   d u m p   - - a l l - n a m e s p a c e s   #   D u m p   a   s e t   o f   n a m e s p a c e s   t o   / p a t h / t o / c l u s t e r - s t a t e   k u b e c t l   c l u s t e r - i n f o   d u m p   - - n a m e s p a c e s   d e f a u l t , k u b e - s y s t e m   - - o u t p u t - d i r e c t o r y = / p a t h / t o / c l u s t e r - s t a t e


Question: What is Options?

Answer: I f   t r u e ,   d u m p   a l l   n a m e s p a c e s .   I f   t r u e ,   - - n a m e s p a c e s   i s   i g n o r e d .   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 .   h e l p   f o r   d u m p   A   c o m m a   s e p a r a t e d   l i s t   o f   n a m e s p a c e s   t o   d u m p .   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 ) .   W h e r e   t o   o u t p u t   t h e   f i l e s .   I f   e m p t y   o r   ' - '   u s e s   s t d o u t ,   o t h e r w i s e   c r e a t e s   a   d i r e c t o r y   h i e r a r c h y   i n   t h a t   d i r e c t o r y   T h e   l e n g t h   o f   t i m e   ( l i k e   5 s ,   2 m ,   o r   3 h ,   h i g h e r   t h a n   z e r o )   t o   w a i t   u n t i l   a t   l e a s t   o n e   p o d   i s   r u n n i n g   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 ] .


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   c l u s t e r - i n f o   -   D i s p l a y   c l u s t e r   i n f o r m a t i o 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 kubectl run?

Answer: kubectl runSynopsisCreate and run a particular image in a pod.kubectl run NAME --image=image [--env="key=value"] [--port=port] [--dry-run=server|client] [--overrides=inline-json] [--command] -- [COMMAND] [args...] Examples # Start a nginx pod kubectl run nginx --image=nginx # Start a hazelcast pod and let the container expose port 5701 kubectl run hazelcast --image=hazelcast/hazelcast --port=5701 # Start a hazelcast pod and set environment variables "DNS_DOMAIN=cluster" and "POD_NAMESPACE=default" in the container kubectl run hazelcast --image=hazelcast/hazelcast --env="DNS_DOMAIN=cluster" --env="POD_NAMESPACE=default" # Start a hazelcast pod and set labels "app=hazelcast" and "env=prod" in the container kubectl run hazelcast --image=hazelcast/hazelcast --labels="app=hazelcast,env=prod" # Dry run; print the corresponding API objects without creating them kubectl run nginx --image=nginx --dry-run=client # Start a nginx pod, but overload the spec with a partial set of values parsed from JSON kubectl run nginx --image=nginx --overrides='{ "apiVersion": "v1", "spec": { ... } }' # Start a busybox pod and keep it in the foreground, don't restart it if it exits kubectl run -i -t busybox --image=busybox --restart=Never # Start the nginx pod using the default command, but use custom arguments (arg1 .. argN) for that command kubectl run nginx --image=nginx -- <arg1> <arg2> ... <argN> # Start the nginx pod using a different command and custom arguments kubectl run nginx --image=nginx --command -- <cmd> <arg1> ... <argN> 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.--annotations stringsAnnotations to apply to the pod.--attachIf true, wait for the Pod to start running, and then attach to the Pod as if 'kubectl attach ...' were called. Default false, unless '-i/--stdin' is set, in which case the default is true. With '--restart=Never' the exit code of the container process is returned.--cascade string[="background"] Default: "background"Must be "background", "orphan", or "foreground". Selects the deletion cascading strategy for the dependents (e.g. Pods created by a ReplicationController). Defaults to background.--commandIf true and extra arguments are present, use them as the 'command' field in the container, rather than the 'args' field which is the default.--dry-run string[="unchanged"] Default: "none"Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.--env stringsEnvironment variables to set in the container.--expose --portIf true, create a ClusterIP service associated with the pod. Requires --port.--field-manager string Default: "kubectl-run"Name of the manager used to track field ownership.-f, --filename stringsto use to replace the resource.--forceIf true, immed


Question: How does kubectl run work?

Answer: kubectl runSynopsisCreate and run a particular image in a pod.kubectl run NAME --image=image [--env="key=value"] [--port=port] [--dry-run=server|client] [--overrides=inline-json] [--command] -- [COMMAND] [args...] Examples # Start a nginx pod kubectl run nginx --image=nginx # Start a hazelcast pod and let the container expose port 5701 kubectl run hazelcast --image=hazelcast/hazelcast --port=5701 # Start a hazelcast pod and set environment variables "DNS_DOMAIN=cluster" and "POD_NAMESPACE=default" in the container kubectl run hazelcast --image=hazelcast/hazelcast --env="DNS_DOMAIN=cluster" --env="POD_NAMESPACE=default" # Start a hazelcast pod and set labels "app=hazelcast" and "env=prod" in the container kubectl run hazelcast --image=hazelcast/hazelcast --labels="app=hazelcast,env=prod" # Dry run; print the corresponding API objects without creating them kubectl run nginx --image=nginx --dry-run=client # Start a nginx pod, but overload the spec with a partial set of values parsed from JSON kubectl run nginx --image=nginx --overrides='{ "apiVersion": "v1", "spec": { ... } }' # Start a busybox pod and keep it in the foreground, don't restart it if it exits kubectl run -i -t busybox --image=busybox --restart=Never # Start the nginx pod using the default command, but use custom arguments (arg1 .. argN) for that command kubectl run nginx --image=nginx -- <arg1> <arg2> ... <argN> # Start the nginx pod using a different command and custom arguments kubectl run nginx --image=nginx --command -- <cmd> <arg1> ... <argN> 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.--annotations stringsAnnotations to apply to the pod.--attachIf true, wait for the Pod to start running, and then attach to the Pod as if 'kubectl attach ...' were called. Default false, unless '-i/--stdin' is set, in which case the default is true. With '--restart=Never' the exit code of the container process is returned.--cascade string[="background"] Default: "background"Must be "background", "orphan", or "foreground". Selects the deletion cascading strategy for the dependents (e.g. Pods created by a ReplicationController). Defaults to background.--commandIf true and extra arguments are present, use them as the 'command' field in the container, rather than the 'args' field which is the default.--dry-run string[="unchanged"] Default: "none"Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.--env stringsEnvironment variables to set in the container.--expose --portIf true, create a ClusterIP service associated with the pod. Requires --port.--field-manager string Default: "kubectl-run"Name of the manager used to track field ownership.-f, --filename stringsto use to replace the resource.--forceIf true, immed


Question: When would you use kubectl run?

Answer: kubectl runSynopsisCreate and run a particular image in a pod.kubectl run NAME --image=image [--env="key=value"] [--port=port] [--dry-run=server|client] [--overrides=inline-json] [--command] -- [COMMAND] [args...] Examples # Start a nginx pod kubectl run nginx --image=nginx # Start a hazelcast pod and let the container expose port 5701 kubectl run hazelcast --image=hazelcast/hazelcast --port=5701 # Start a hazelcast pod and set environment variables "DNS_DOMAIN=cluster" and "POD_NAMESPACE=default" in the container kubectl run hazelcast --image=hazelcast/hazelcast --env="DNS_DOMAIN=cluster" --env="POD_NAMESPACE=default" # Start a hazelcast pod and set labels "app=hazelcast" and "env=prod" in the container kubectl run hazelcast --image=hazelcast/hazelcast --labels="app=hazelcast,env=prod" # Dry run; print the corresponding API objects without creating them kubectl run nginx --image=nginx --dry-run=client # Start a nginx pod, but overload the spec with a partial set of values parsed from JSON kubectl run nginx --image=nginx --overrides='{ "apiVersion": "v1", "spec": { ... } }' # Start a busybox pod and keep it in the foreground, don't restart it if it exits kubectl run -i -t busybox --image=busybox --restart=Never # Start the nginx pod using the default command, but use custom arguments (arg1 .. argN) for that command kubectl run nginx --image=nginx -- <arg1> <arg2> ... <argN> # Start the nginx pod using a different command and custom arguments kubectl run nginx --image=nginx --command -- <cmd> <arg1> ... <argN> 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.--annotations stringsAnnotations to apply to the pod.--attachIf true, wait for the Pod to start running, and then attach to the Pod as if 'kubectl attach ...' were called. Default false, unless '-i/--stdin' is set, in which case the default is true. With '--restart=Never' the exit code of the container process is returned.--cascade string[="background"] Default: "background"Must be "background", "orphan", or "foreground". Selects the deletion cascading strategy for the dependents (e.g. Pods created by a ReplicationController). Defaults to background.--commandIf true and extra arguments are present, use them as the 'command' field in the container, rather than the 'args' field which is the default.--dry-run string[="unchanged"] Default: "none"Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.--env stringsEnvironment variables to set in the container.--expose --portIf true, create a ClusterIP service associated with the pod. Requires --port.--field-manager string Default: "kubectl-run"Name of the manager used to track field ownership.-f, --filename stringsto use to replace the resource.--forceIf true, immed


Question: What are the benefits of kubectl run?

Answer: kubectl runSynopsisCreate and run a particular image in a pod.kubectl run NAME --image=image [--env="key=value"] [--port=port] [--dry-run=server|client] [--overrides=inline-json] [--command] -- [COMMAND] [args...] Examples # Start a nginx pod kubectl run nginx --image=nginx # Start a hazelcast pod and let the container expose port 5701 kubectl run hazelcast --image=hazelcast/hazelcast --port=5701 # Start a hazelcast pod and set environment variables "DNS_DOMAIN=cluster" and "POD_NAMESPACE=default" in the container kubectl run hazelcast --image=hazelcast/hazelcast --env="DNS_DOMAIN=cluster" --env="POD_NAMESPACE=default" # Start a hazelcast pod and set labels "app=hazelcast" and "env=prod" in the container kubectl run hazelcast --image=hazelcast/hazelcast --labels="app=hazelcast,env=prod" # Dry run; print the corresponding API objects without creating them kubectl run nginx --image=nginx --dry-run=client # Start a nginx pod, but overload the spec with a partial set of values parsed from JSON kubectl run nginx --image=nginx --overrides='{ "apiVersion": "v1", "spec": { ... } }' # Start a busybox pod and keep it in the foreground, don't restart it if it exits kubectl run -i -t busybox --image=busybox --restart=Never # Start the nginx pod using the default command, but use custom arguments (arg1 .. argN) for that command kubectl run nginx --image=nginx -- <arg1> <arg2> ... <argN> # Start the nginx pod using a different command and custom arguments kubectl run nginx --image=nginx --command -- <cmd> <arg1> ... <argN> 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.--annotations stringsAnnotations to apply to the pod.--attachIf true, wait for the Pod to start running, and then attach to the Pod as if 'kubectl attach ...' were called. Default false, unless '-i/--stdin' is set, in which case the default is true. With '--restart=Never' the exit code of the container process is returned.--cascade string[="background"] Default: "background"Must be "background", "orphan", or "foreground". Selects the deletion cascading strategy for the dependents (e.g. Pods created by a ReplicationController). Defaults to background.--commandIf true and extra arguments are present, use them as the 'command' field in the container, rather than the 'args' field which is the default.--dry-run string[="unchanged"] Default: "none"Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.--env stringsEnvironment variables to set in the container.--expose --portIf true, create a ClusterIP service associated with the pod. Requires --port.--field-manager string Default: "kubectl-run"Name of the manager used to track field ownership.-f, --filename stringsto use to replace the resource.--forceIf true, immed


Question: What is Synopsis?

Answer: C r e a t e   a n d   r u n   a   p a r t i c u l a r   i m a g e   i n   a   p o d .   k u b e c t l   r u n   N A M E   - - i m a g e = i m a g e   [ - - e n v = " k e y = v a l u e " ]   [ - - p o r t = p o r t ]   [ - - d r y - r u n = s e r v e r | c l i e n t ]   [ - - o v e r r i d e s = i n l i n e - j s o n ]   [ - - c o m m a n d ]   - -   [ C O M M A N D ]   [ a r g s . . . ]


Question: What is Examples?

Answer: #   S t a r t   a   n g i n x   p o d   k u b e c t l   r u n   n g i n x   - - i m a g e = n g i n x   #   S t a r t   a   h a z e l c a s t   p o d   a n d   l e t   t h e   c o n t a i n e r   e x p o s e   p o r t   5 7 0 1   k u b e c t l   r u n   h a z e l c a s t   - - i m a g e = h a z e l c a s t / h a z e l c a s t   - - p o r t = 5 7 0 1   #   S t a r t   a   h a z e l c a s t   p o d   a n d   s e t   e n v i r o n m e n t   v a r i a b l e s   " D N S _ D O M A I N = c l u s t e r "   a n d   " P O D _ N A M E S P A C E = d e f a u l t "   i n   t h e   c o n t a i n e r   k u b e c t l   r u n   h a z e l c a s t   - - i m a g e = h a z e l c a s t / h a z e l c a s t   - - e n v = " D N S _ D O M A I N = c l u s t e r "   - - e n v = " P O D _ N A M E S P A C E = d e f a u l t "   #   S t a r t   a   h a z e l c a s t   p o d   a n d   s e t   l a b e l s   " a p p = h a z e l c a s t "   a n d   " e n v = p r o d "   i n   t h e   c o n t a i n e r   k u b e c t l   r u n   h a z e l c a s t   - - i m a g e = h a z e l c a s t / h a z e l c a s t   - - l a b e l s = " a p p = h a z e l c a s t , e n v = p r o d "   #   D r y   r u n ;   p r i n t   t h e   c o r r e s p o n d i n g   A P I   o b j e c t s   w i t h o u t   c r e a t i n g   t h e m   k u b e c t l   r u n   n g i n x   - - i m a g e = n g i n x   - - d r y - r u n = c l i e n t   #   S t a r t   a   n g i n x   p o d ,   b u t   o v e r l o a d   t h e   s p e c   w i t h   a   p a r t i a l   s e t   o f   v a l u e s   p a r s e d   f r o m   J S O N   k u b e c t l   r u n   n g i n x   - - i m a g e = n g i n x   - - o v e r r i d e s = ' {   " a p i V e r s i o n " :   " v 1 " ,   " s p e c " :   {   . . .   }   } '   #   S t a r t   a   b u s y b o x   p o d   a n d   k e e p   i t   i n   t h e   f o r e g r o u n d ,   d o n ' t   r e s t a r t   i t   i f   i t   e x i t s   k u b e c t l   r u n   - i   - t   b u s y b o x   - - i m a g e = b u s y b o x   - - r e s t a r


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 .   A n n o t a t i o n s   t o   a p p l y   t o   t h e   p o d .   I f   t r u e ,   w a i t   f o r   t h e   P o d   t o   s t a r t   r u n n i n g ,   a n d   t h e n   a t t a c h   t o   t h e   P o d   a s   i f   ' k u b e c t l   a t t a c h   . . . '   w e r e   c a l l e d .   D e f a u l t   f a l s e ,   u n l e s s   ' - i / - - s t d i n '   i s   s e t ,   i n   w h i c h   c a s e   t h e   d e f a u l t   i s   t r u e .   W i t h   ' - - r e s t a r t = N e v e r '   t h e   e x i t   c o d e   o f   t h e   c o n t a i n e r   p r o c e s s   i s   r e t u r n e d .   M u s t   b e   " b a c k g r o u n d " ,   " o r p h a n " ,   o r   " f o r e g r o u n d " .   S e l e c t s   t h e   d e l e t i o n   c a s c a d i n g   s t r a t e g y   f o r   t h e   d e p e n d e n t s   ( e . g .   P o d s   c r e a t e d   b y   a   R e p l i c a t i o n C o n t r o l l e r ) .   D e f a u l t s   t o   b a c k g r o u n d .   I f   t r u e   a n d   e x t r a   a r g u m e n t s   a r e   p r e s e n t ,   u s e   t h e m   a s   t h e   ' c o m m a n d '   f i e l d   i n   t h e   c o n t a i n e r ,   r a t h e r   t h a n   t h e   ' a r g s '   f i e l d   w h i c h   i s   t h e   d e f a u l t .   M u s t   b e   " n o n e " ,   " s e r v e r " ,   o r   " c l i e n t " .   I f   c l i e n t   s t r a t e g y ,   o n l y   p r i n t   t h e   o b j e c t   t h a t   w o u l d   b e   s e n t ,   w i t h o u t   s e n d i n g   i t .   I f   s e r v e r   s t r a t e g y ,   s u b m i t   s e r v e r - s i d e   r e q u e s t   w i t h o u t   p e r s i s t i n g   t h e   r e s o u r c e .   E n v i r o n m e n t   v a r i a b l e s   t o   s e t   i n   t h 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   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   -   k u b e c t l   c o n t r o l s   t h e   K u b e r n e t e s   c l u s t e r   m a n a g e r   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 Glossary?

Answer: GlossaryThis glossary is intended to be a comprehensive, standardized list of Kubernetes terminology. It includes technical terms that are specific to Kubernetes, as well as more general terms that provide useful context.Filter terms according to their tags.The inner components of Kubernetes.Related to Kubernetes open-source development.A resource type that Kubernetes supports by default.Supported customizations of Kubernetes.Relevant for a first-time user of Kubernetes.How Kubernetes components talk to each other (and to programs outside the cluster).Starting and maintaining Kubernetes.Keeping Kubernetes applications safe and secure.How Kubernetes applications handle persistent data.Software that makes Kubernetes easier or better to use.Represents a common type of Kubernetes user.Applications running on Kubernetes.Architecture Community Core Object Extension Fundamental Networking Operation Security Storage Tool User Type Workload Select all Deselect allClick on the [+] indicators below to get a longer explanation for any particular term.Add-onsResources that extend the functionality of Kubernetes.[+]Installing addons explains more about using add-ons with your cluster, and lists some popular add-ons.Admission ControllerA piece of code that intercepts requests to the Kubernetes API server prior to persistence of the object.[+]Admission controllers are configurable for the Kubernetes API server and may be "validating", "mutating", or both. Any admission controller may reject the request. Mutating controllers may modify the objects they admit; validating controllers may not.Admission controllers in the Kubernetes documentationAffinityIn Kubernetes, affinity is a set of rules that give hints to the scheduler about where to place pods.[+]There are two kinds of affinity:node affinitypod-to-pod affinityThe rules are defined using the Kubernetes labels, and selectors specified in pods, and they can be either required or preferred, depending on how strictly you want the scheduler to enforce them.Aggregation LayerThe aggregation layer lets you install additional Kubernetes-style APIs in your cluster.[+]When you've configured the Kubernetes API Server to support additional APIs, you can add APIService objects to "claim" a URL path in the Kubernetes API.AnnotationA key-value pair that is used to attach arbitrary non-identifying metadata to objects.[+]The metadata in an annotation can be small or large, structured or unstructured, and can include characters not permitted by labels. Clients such as tools and libraries can retrieve this metadata.API GroupA set of related paths in Kubernetes API.[+]You can enable or disable each API group by changing the configuration of your API server. You can also disable or enable paths to specific resources. An API group makes it easier to extend the Kubernetes API. The API group is specified in a REST path and in the apiVersion field of a serialized object.Read API Group for more information.API resourceAlso known as: Re


Question: How does Glossary work?

Answer: GlossaryThis glossary is intended to be a comprehensive, standardized list of Kubernetes terminology. It includes technical terms that are specific to Kubernetes, as well as more general terms that provide useful context.Filter terms according to their tags.The inner components of Kubernetes.Related to Kubernetes open-source development.A resource type that Kubernetes supports by default.Supported customizations of Kubernetes.Relevant for a first-time user of Kubernetes.How Kubernetes components talk to each other (and to programs outside the cluster).Starting and maintaining Kubernetes.Keeping Kubernetes applications safe and secure.How Kubernetes applications handle persistent data.Software that makes Kubernetes easier or better to use.Represents a common type of Kubernetes user.Applications running on Kubernetes.Architecture Community Core Object Extension Fundamental Networking Operation Security Storage Tool User Type Workload Select all Deselect allClick on the [+] indicators below to get a longer explanation for any particular term.Add-onsResources that extend the functionality of Kubernetes.[+]Installing addons explains more about using add-ons with your cluster, and lists some popular add-ons.Admission ControllerA piece of code that intercepts requests to the Kubernetes API server prior to persistence of the object.[+]Admission controllers are configurable for the Kubernetes API server and may be "validating", "mutating", or both. Any admission controller may reject the request. Mutating controllers may modify the objects they admit; validating controllers may not.Admission controllers in the Kubernetes documentationAffinityIn Kubernetes, affinity is a set of rules that give hints to the scheduler about where to place pods.[+]There are two kinds of affinity:node affinitypod-to-pod affinityThe rules are defined using the Kubernetes labels, and selectors specified in pods, and they can be either required or preferred, depending on how strictly you want the scheduler to enforce them.Aggregation LayerThe aggregation layer lets you install additional Kubernetes-style APIs in your cluster.[+]When you've configured the Kubernetes API Server to support additional APIs, you can add APIService objects to "claim" a URL path in the Kubernetes API.AnnotationA key-value pair that is used to attach arbitrary non-identifying metadata to objects.[+]The metadata in an annotation can be small or large, structured or unstructured, and can include characters not permitted by labels. Clients such as tools and libraries can retrieve this metadata.API GroupA set of related paths in Kubernetes API.[+]You can enable or disable each API group by changing the configuration of your API server. You can also disable or enable paths to specific resources. An API group makes it easier to extend the Kubernetes API. The API group is specified in a REST path and in the apiVersion field of a serialized object.Read API Group for more information.API resourceAlso known as: Re


Question: When would you use Glossary?

Answer: GlossaryThis glossary is intended to be a comprehensive, standardized list of Kubernetes terminology. It includes technical terms that are specific to Kubernetes, as well as more general terms that provide useful context.Filter terms according to their tags.The inner components of Kubernetes.Related to Kubernetes open-source development.A resource type that Kubernetes supports by default.Supported customizations of Kubernetes.Relevant for a first-time user of Kubernetes.How Kubernetes components talk to each other (and to programs outside the cluster).Starting and maintaining Kubernetes.Keeping Kubernetes applications safe and secure.How Kubernetes applications handle persistent data.Software that makes Kubernetes easier or better to use.Represents a common type of Kubernetes user.Applications running on Kubernetes.Architecture Community Core Object Extension Fundamental Networking Operation Security Storage Tool User Type Workload Select all Deselect allClick on the [+] indicators below to get a longer explanation for any particular term.Add-onsResources that extend the functionality of Kubernetes.[+]Installing addons explains more about using add-ons with your cluster, and lists some popular add-ons.Admission ControllerA piece of code that intercepts requests to the Kubernetes API server prior to persistence of the object.[+]Admission controllers are configurable for the Kubernetes API server and may be "validating", "mutating", or both. Any admission controller may reject the request. Mutating controllers may modify the objects they admit; validating controllers may not.Admission controllers in the Kubernetes documentationAffinityIn Kubernetes, affinity is a set of rules that give hints to the scheduler about where to place pods.[+]There are two kinds of affinity:node affinitypod-to-pod affinityThe rules are defined using the Kubernetes labels, and selectors specified in pods, and they can be either required or preferred, depending on how strictly you want the scheduler to enforce them.Aggregation LayerThe aggregation layer lets you install additional Kubernetes-style APIs in your cluster.[+]When you've configured the Kubernetes API Server to support additional APIs, you can add APIService objects to "claim" a URL path in the Kubernetes API.AnnotationA key-value pair that is used to attach arbitrary non-identifying metadata to objects.[+]The metadata in an annotation can be small or large, structured or unstructured, and can include characters not permitted by labels. Clients such as tools and libraries can retrieve this metadata.API GroupA set of related paths in Kubernetes API.[+]You can enable or disable each API group by changing the configuration of your API server. You can also disable or enable paths to specific resources. An API group makes it easier to extend the Kubernetes API. The API group is specified in a REST path and in the apiVersion field of a serialized object.Read API Group for more information.API resourceAlso known as: Re


Question: What are the benefits of Glossary?

Answer: GlossaryThis glossary is intended to be a comprehensive, standardized list of Kubernetes terminology. It includes technical terms that are specific to Kubernetes, as well as more general terms that provide useful context.Filter terms according to their tags.The inner components of Kubernetes.Related to Kubernetes open-source development.A resource type that Kubernetes supports by default.Supported customizations of Kubernetes.Relevant for a first-time user of Kubernetes.How Kubernetes components talk to each other (and to programs outside the cluster).Starting and maintaining Kubernetes.Keeping Kubernetes applications safe and secure.How Kubernetes applications handle persistent data.Software that makes Kubernetes easier or better to use.Represents a common type of Kubernetes user.Applications running on Kubernetes.Architecture Community Core Object Extension Fundamental Networking Operation Security Storage Tool User Type Workload Select all Deselect allClick on the [+] indicators below to get a longer explanation for any particular term.Add-onsResources that extend the functionality of Kubernetes.[+]Installing addons explains more about using add-ons with your cluster, and lists some popular add-ons.Admission ControllerA piece of code that intercepts requests to the Kubernetes API server prior to persistence of the object.[+]Admission controllers are configurable for the Kubernetes API server and may be "validating", "mutating", or both. Any admission controller may reject the request. Mutating controllers may modify the objects they admit; validating controllers may not.Admission controllers in the Kubernetes documentationAffinityIn Kubernetes, affinity is a set of rules that give hints to the scheduler about where to place pods.[+]There are two kinds of affinity:node affinitypod-to-pod affinityThe rules are defined using the Kubernetes labels, and selectors specified in pods, and they can be either required or preferred, depending on how strictly you want the scheduler to enforce them.Aggregation LayerThe aggregation layer lets you install additional Kubernetes-style APIs in your cluster.[+]When you've configured the Kubernetes API Server to support additional APIs, you can add APIService objects to "claim" a URL path in the Kubernetes API.AnnotationA key-value pair that is used to attach arbitrary non-identifying metadata to objects.[+]The metadata in an annotation can be small or large, structured or unstructured, and can include characters not permitted by labels. Clients such as tools and libraries can retrieve this metadata.API GroupA set of related paths in Kubernetes API.[+]You can enable or disable each API group by changing the configuration of your API server. You can also disable or enable paths to specific resources. An API group makes it easier to extend the Kubernetes API. The API group is specified in a REST path and in the apiVersion field of a serialized object.Read API Group for more information.API resourceAlso known as: Re


Question: What is Glossary?

Answer: T h i s   g l o s s a r y   i s   i n t e n d e d   t o   b e   a   c o m p r e h e n s i v e ,   s t a n d a r d i z e d   l i s t   o f   K u b e r n e t e s   t e r m i n o l o g y .   I t   i n c l u d e s   t e c h n i c a l   t e r m s   t h a t   a r e   s p e c i f i c   t o   K u b e r n e t e s ,   a s   w e l l   a s   m o r e   g e n e r a l   t e r m s   t h a t   p r o v i d e   u s e f u l   c o n t e x t .   F i l t e r   t e r m s   a c c o r d i n g   t o   t h e i r   t a g s   C l i c k   o n   t h e   [ + ]   i n d i c a t o r s   b e l o w   t o   g e t   a   l o n g e r   e x p l a n a t i o n   f o r   a n y   p a r t i c u l a r   t e r m .   A d d - o n s R e s o u r c e s   t h a t   e x t e n d   t h e   f u n c t i o n a l i t y   o f   K u b e r n e t e s . [ + ] I n s t a l l i n g   a d d o n s   e x p l a i n s   m o r e   a b o u t   u s i n g   a d d - o n s   w i t h   y o u r   c l u s t e r ,   a n d   l i s t s   s o m e   p o p u l a r   a d d - o n s . A d m i s s i o n   C o n t r o l l e r A   p i e c e   o f   c o d e   t h a t   i n t e r c e p t s   r e q u e s t s   t o   t h e   K u b e r n e t e s   A P I   s e r v e r   p r i o r   t o   p e r s i s t e n c e   o f   t h e   o b j e c t . [ + ] A d m i s s i o n   c o n t r o l l e r s   a r e   c o n f i g u r a b l e   f o r   t h e   K u b e r n e t e s   A P I   s e r v e r   a n d   m a y   b e   " v a l i d a t i n g " ,   " m u t a t i n g " ,   o r   b o t h .   A n y   a d m i s s i o n   c o n t r o l l e r   m a y   r e j e c t   t h e   r e q u e s t .   M u t a t i n g   c o n t r o l l e r s   m a y   m o d i f y   t h e   o b j e c t s   t h e y   a d m i t ;   v a l i d a t i n g   c o n t r o l l e r s   m a y   n o t . A d m i s s i o n   c o n t r o l l e r s   i n   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 A f f i n i t y I n   K u b e r n e t e s ,   a f f i n i t y   i s   a   s e t   o f   r u l e s   t h a t   g i v e   h i n t


Question: What is Note:?

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


Question: What is Note:?

Answer: k O p s   i s   a n   a u t o m a t e d   p r o v i s i o n i n g   s y s t e m :   F u l l y   a u t o m a t e d   i n s t a l l a t i o n U s e s   D N S   t o   i d e n t i f y   c l u s t e r s S e l f - h e a l i n g :   e v e r y t h i n g   r u n s   i n   A u t o - S c a l i n g   G r o u p s M u l t i p l e   O S   s u p p o r t   ( A m a z o n   L i n u x ,   D e b i a n ,   F l a t c a r ,   R H E L ,   R o c k y   a n d   U b u n t u ) H i g h - A v a i l a b i l i t y   s u p p o r t C a n   d i r e c t l y   p r o v i s i o n ,   o r   g e n e r a t e   t e r r a f o r m   m a n i f e s t s   C o n t r o l   p l a n e   c o m p o n e n t   t h a t   r u n s   c o n t r o l l e r   p r o c e s s e s .   L o g i c a l l y ,   e a c h   c o n t r o l l e r   i s   a   s e p a r a t e   p r o c e s s ,   b u t   t o   r e d u c e   c o m p l e x i t y ,   t h e y   a r e   a l l   c o m p i l e d   i n t o   a   s i n g l e   b i n a r y   a n d   r u n   i n   a   s i n g l e   p r o c e s s .   k u b e - p r o x y   i s   a   n e t w o r k   p r o x y   t h a t   r u n s   o n   e a c h   n o d e   i n   y o u r   c l u s t e r ,   i m p l e m e n t i n g   p a r t   o f   t h e   K u b e r n e t e s   S e r v i c e   c o n c e p t .   k u b e - p r o x y   m a i n t a i n s   n e t w o r k   r u l e s   o n   n o d e s .   T h e s e   n e t w o r k   r u l e s   a l l o w   n e t w o r k   c o m m u n i c a t i o n   t o   y o u r   P o d s   f r o m   n e t w o r k   s e s s i o n s   i n s i d e   o r   o u t s i d e   o f   y o u r   c l u s t e r .   k u b e - p r o x y   u s e s   t h e   o p e r a t i n g   s y s t e m   p a c k e t   f i l t e r i n g   l a y e r   i f   t h e r e   i s   o n e   a n d   i t ' s   a v a i l a b l e .   O t h e r w i s e ,   k u b e - p r o x y   f o r w a r d s   t h e   t r a f f i c   i t s e l f .   C o n t r o l   p l a n e   c o m p o n e n t   t h a t   w a t c h e s   f o r   n e w l y   c r e a t e d   P


Question: What is Note:?

Answer: C a p a b i l i t i e s   p r o v i d e d   t o   o n e   o r   m o r e   n o d e s   ( C P U ,   m e m o r y ,   G P U s ,   e t c ) ,   a n d   m a d e   a v a i l a b l e   f o r   c o n s u m p t i o n   b y   P o d s   r u n n i n g   o n   t h o s e   n o d e s .   K u b e r n e t e s   a l s o   u s e s   t h e   t e r m   r e s o u r c e   t o   d e s c r i b e   a n   A P I   r e s o u r c e .   C o m p u t e r s   p r o v i d e   f u n d a m e n t a l   h a r d w a r e   f a c i l i t i e s :   p r o c e s s i n g   p o w e r ,   s t o r a g e   m e m o r y ,   n e t w o r k ,   e t c .   T h e s e   r e s o u r c e s   h a v e   f i n i t e   c a p a c i t y ,   m e a s u r e d   i n   a   u n i t   a p p l i c a b l e   t o   t h a t   r e s o u r c e   ( n u m b e r   o f   C P U s ,   b y t e s   o f   m e m o r y ,   e t c ) .   K u b e r n e t e s   a b s t r a c t s   c o m m o n   r e s o u r c e s   f o r   a l l o c a t i o n   t o   w o r k l o a d s   a n d   u t i l i z e s   o p e r a t i n g   s y s t e m   p r i m i t i v e s   ( f o r   e x a m p l e ,   L i n u x   c g r o u p s )   t o   m a n a g e   c o n s u m p t i o n   b y   w o r k l o a d s ) .   Y o u   c a n   a l s o   u s e   d y n a m i c   r e s o u r c e   a l l o c a t i o n   t o   m a n a g e   c o m p l e x   r e s o u r c e   a l l o c a t i o n s   a u t o m a t i c a l l y .   D e s c r i b e s   t h e   r e s o u r c e s   t h a t   a   w o r k l o a d   n e e d s ,   s u c h   a s   d e v i c e s .   R e s o u r c e C l a i m s   a r e   u s e d   i n   d y n a m i c   r e s o u r c e   a l l o c a t i o n   ( D R A )   t o   p r o v i d e   P o d s   w i t h   a c c e s s   t o   a   s p e c i f i c   r e s o u r c e .   R e s o u r c e C l a i m s   c a n   b e   c r e a t e d   b y   w o r k l o a d   o p e r a t o r s   o r   g e n e r a t e d   b y   K u b e r n e t e s   b a s e d   o n   a   R e s o u r c e C l a i m T e m p l a t e .   D e f i n e s   a


Question: What is Ephemeral Volumes?

Answer: Ephemeral VolumesThis document describes ephemeral volumes in Kubernetes. Familiarity with volumes is suggested, in particular PersistentVolumeClaim and PersistentVolume.Some applications need additional storage but don't care whether that data is stored persistently across restarts. For example, caching services are often limited by memory size and can move infrequently used data into storage that is slower than memory with little impact on overall performance.Other applications expect some read-only input data to be present in files, like configuration data or secret keys.Ephemeral volumes are designed for these use cases. Because volumes follow the Pod's lifetime and get created and deleted along with the Pod, Pods can be stopped and restarted without being limited to where some persistent volume is available.Ephemeral volumes are specified inline in the Pod spec, which simplifies application deployment and management.Types of ephemeral volumesKubernetes supports several different kinds of ephemeral volumes for different purposes:emptyDir: empty at Pod startup, with storage coming locally from the kubelet base directory (usually the root disk) or RAMconfigMap, downwardAPI, secret: inject different kinds of Kubernetes data into a Podimage: allows mounting container image files or artifacts, directly to a Pod.CSI ephemeral volumes: similar to the previous volume kinds, but provided by special CSI drivers which specifically support this featuregeneric ephemeral volumes, which can be provided by all storage drivers that also support persistent volumesemptyDir, configMap, downwardAPI, secret are provided as local ephemeral storage. They are managed by kubelet on each node.CSI ephemeral volumes must be provided by third-party CSI storage drivers.Generic ephemeral volumes can be provided by third-party CSI storage drivers, but also by any other storage driver that supports dynamic provisioning. Some CSI drivers are written specifically for CSI ephemeral volumes and do not support dynamic provisioning: those then cannot be used for generic ephemeral volumes.The advantage of using third-party drivers is that they can offer functionality that Kubernetes itself does not support, for example storage with different performance characteristics than the disk that is managed by kubelet, or injecting different data.CSI ephemeral volumesFEATURE STATE: Kubernetes v1.25 [stable]Note:CSI ephemeral volumes are only supported by a subset of CSI drivers. The Kubernetes CSI Drivers list shows which drivers support ephemeral volumes.Conceptually, CSI ephemeral volumes are similar to configMap, downwardAPI and secret volume types: the storage is managed locally on each node and is created together with other local resources after a Pod has been scheduled onto a node. Kubernetes has no concept of rescheduling Pods anymore at this stage. Volume creation has to be unlikely to fail, otherwise Pod startup gets stuck. In particular, storage capacity aware Pod scheduling is no


Question: How does Ephemeral Volumes work?

Answer: Ephemeral VolumesThis document describes ephemeral volumes in Kubernetes. Familiarity with volumes is suggested, in particular PersistentVolumeClaim and PersistentVolume.Some applications need additional storage but don't care whether that data is stored persistently across restarts. For example, caching services are often limited by memory size and can move infrequently used data into storage that is slower than memory with little impact on overall performance.Other applications expect some read-only input data to be present in files, like configuration data or secret keys.Ephemeral volumes are designed for these use cases. Because volumes follow the Pod's lifetime and get created and deleted along with the Pod, Pods can be stopped and restarted without being limited to where some persistent volume is available.Ephemeral volumes are specified inline in the Pod spec, which simplifies application deployment and management.Types of ephemeral volumesKubernetes supports several different kinds of ephemeral volumes for different purposes:emptyDir: empty at Pod startup, with storage coming locally from the kubelet base directory (usually the root disk) or RAMconfigMap, downwardAPI, secret: inject different kinds of Kubernetes data into a Podimage: allows mounting container image files or artifacts, directly to a Pod.CSI ephemeral volumes: similar to the previous volume kinds, but provided by special CSI drivers which specifically support this featuregeneric ephemeral volumes, which can be provided by all storage drivers that also support persistent volumesemptyDir, configMap, downwardAPI, secret are provided as local ephemeral storage. They are managed by kubelet on each node.CSI ephemeral volumes must be provided by third-party CSI storage drivers.Generic ephemeral volumes can be provided by third-party CSI storage drivers, but also by any other storage driver that supports dynamic provisioning. Some CSI drivers are written specifically for CSI ephemeral volumes and do not support dynamic provisioning: those then cannot be used for generic ephemeral volumes.The advantage of using third-party drivers is that they can offer functionality that Kubernetes itself does not support, for example storage with different performance characteristics than the disk that is managed by kubelet, or injecting different data.CSI ephemeral volumesFEATURE STATE: Kubernetes v1.25 [stable]Note:CSI ephemeral volumes are only supported by a subset of CSI drivers. The Kubernetes CSI Drivers list shows which drivers support ephemeral volumes.Conceptually, CSI ephemeral volumes are similar to configMap, downwardAPI and secret volume types: the storage is managed locally on each node and is created together with other local resources after a Pod has been scheduled onto a node. Kubernetes has no concept of rescheduling Pods anymore at this stage. Volume creation has to be unlikely to fail, otherwise Pod startup gets stuck. In particular, storage capacity aware Pod scheduling is no


Question: When would you use Ephemeral Volumes?

Answer: Ephemeral VolumesThis document describes ephemeral volumes in Kubernetes. Familiarity with volumes is suggested, in particular PersistentVolumeClaim and PersistentVolume.Some applications need additional storage but don't care whether that data is stored persistently across restarts. For example, caching services are often limited by memory size and can move infrequently used data into storage that is slower than memory with little impact on overall performance.Other applications expect some read-only input data to be present in files, like configuration data or secret keys.Ephemeral volumes are designed for these use cases. Because volumes follow the Pod's lifetime and get created and deleted along with the Pod, Pods can be stopped and restarted without being limited to where some persistent volume is available.Ephemeral volumes are specified inline in the Pod spec, which simplifies application deployment and management.Types of ephemeral volumesKubernetes supports several different kinds of ephemeral volumes for different purposes:emptyDir: empty at Pod startup, with storage coming locally from the kubelet base directory (usually the root disk) or RAMconfigMap, downwardAPI, secret: inject different kinds of Kubernetes data into a Podimage: allows mounting container image files or artifacts, directly to a Pod.CSI ephemeral volumes: similar to the previous volume kinds, but provided by special CSI drivers which specifically support this featuregeneric ephemeral volumes, which can be provided by all storage drivers that also support persistent volumesemptyDir, configMap, downwardAPI, secret are provided as local ephemeral storage. They are managed by kubelet on each node.CSI ephemeral volumes must be provided by third-party CSI storage drivers.Generic ephemeral volumes can be provided by third-party CSI storage drivers, but also by any other storage driver that supports dynamic provisioning. Some CSI drivers are written specifically for CSI ephemeral volumes and do not support dynamic provisioning: those then cannot be used for generic ephemeral volumes.The advantage of using third-party drivers is that they can offer functionality that Kubernetes itself does not support, for example storage with different performance characteristics than the disk that is managed by kubelet, or injecting different data.CSI ephemeral volumesFEATURE STATE: Kubernetes v1.25 [stable]Note:CSI ephemeral volumes are only supported by a subset of CSI drivers. The Kubernetes CSI Drivers list shows which drivers support ephemeral volumes.Conceptually, CSI ephemeral volumes are similar to configMap, downwardAPI and secret volume types: the storage is managed locally on each node and is created together with other local resources after a Pod has been scheduled onto a node. Kubernetes has no concept of rescheduling Pods anymore at this stage. Volume creation has to be unlikely to fail, otherwise Pod startup gets stuck. In particular, storage capacity aware Pod scheduling is no


Question: What are the benefits of Ephemeral Volumes?

Answer: Ephemeral VolumesThis document describes ephemeral volumes in Kubernetes. Familiarity with volumes is suggested, in particular PersistentVolumeClaim and PersistentVolume.Some applications need additional storage but don't care whether that data is stored persistently across restarts. For example, caching services are often limited by memory size and can move infrequently used data into storage that is slower than memory with little impact on overall performance.Other applications expect some read-only input data to be present in files, like configuration data or secret keys.Ephemeral volumes are designed for these use cases. Because volumes follow the Pod's lifetime and get created and deleted along with the Pod, Pods can be stopped and restarted without being limited to where some persistent volume is available.Ephemeral volumes are specified inline in the Pod spec, which simplifies application deployment and management.Types of ephemeral volumesKubernetes supports several different kinds of ephemeral volumes for different purposes:emptyDir: empty at Pod startup, with storage coming locally from the kubelet base directory (usually the root disk) or RAMconfigMap, downwardAPI, secret: inject different kinds of Kubernetes data into a Podimage: allows mounting container image files or artifacts, directly to a Pod.CSI ephemeral volumes: similar to the previous volume kinds, but provided by special CSI drivers which specifically support this featuregeneric ephemeral volumes, which can be provided by all storage drivers that also support persistent volumesemptyDir, configMap, downwardAPI, secret are provided as local ephemeral storage. They are managed by kubelet on each node.CSI ephemeral volumes must be provided by third-party CSI storage drivers.Generic ephemeral volumes can be provided by third-party CSI storage drivers, but also by any other storage driver that supports dynamic provisioning. Some CSI drivers are written specifically for CSI ephemeral volumes and do not support dynamic provisioning: those then cannot be used for generic ephemeral volumes.The advantage of using third-party drivers is that they can offer functionality that Kubernetes itself does not support, for example storage with different performance characteristics than the disk that is managed by kubelet, or injecting different data.CSI ephemeral volumesFEATURE STATE: Kubernetes v1.25 [stable]Note:CSI ephemeral volumes are only supported by a subset of CSI drivers. The Kubernetes CSI Drivers list shows which drivers support ephemeral volumes.Conceptually, CSI ephemeral volumes are similar to configMap, downwardAPI and secret volume types: the storage is managed locally on each node and is created together with other local resources after a Pod has been scheduled onto a node. Kubernetes has no concept of rescheduling Pods anymore at this stage. Volume creation has to be unlikely to fail, otherwise Pod startup gets stuck. In particular, storage capacity aware Pod scheduling is no


Question: What is Ephemeral Volumes?

Answer: T h i s   d o c u m e n t   d e s c r i b e s   e p h e m e r a l   v o l u m e s   i n   K u b e r n e t e s .   F a m i l i a r i t y   w i t h   v o l u m e s   i s   s u g g e s t e d ,   i n   p a r t i c u l a r   P e r s i s t e n t V o l u m e C l a i m   a n d   P e r s i s t e n t V o l u m e .   S o m e   a p p l i c a t i o n s   n e e d   a d d i t i o n a l   s t o r a g e   b u t   d o n ' t   c a r e   w h e t h e r   t h a t   d a t a   i s   s t o r e d   p e r s i s t e n t l y   a c r o s s   r e s t a r t s .   F o r   e x a m p l e ,   c a c h i n g   s e r v i c e s   a r e   o f t e n   l i m i t e d   b y   m e m o r y   s i z e   a n d   c a n   m o v e   i n f r e q u e n t l y   u s e d   d a t a   i n t o   s t o r a g e   t h a t   i s   s l o w e r   t h a n   m e m o r y   w i t h   l i t t l e   i m p a c t   o n   o v e r a l l   p e r f o r m a n c e .   O t h e r   a p p l i c a t i o n s   e x p e c t   s o m e   r e a d - o n l y   i n p u t   d a t a   t o   b e   p r e s e n t   i n   f i l e s ,   l i k e   c o n f i g u r a t i o n   d a t a   o r   s e c r e t   k e y s .   E p h e m e r a l   v o l u m e s   a r e   d e s i g n e d   f o r   t h e s e   u s e   c a s e s .   B e c a u s e   v o l u m e s   f o l l o w   t h e   P o d ' s   l i f e t i m e   a n d   g e t   c r e a t e d   a n d   d e l e t e d   a l o n g   w i t h   t h e   P o d ,   P o d s   c a n   b e   s t o p p e d   a n d   r e s t a r t e d   w i t h o u t   b e i n g   l i m i t e d   t o   w h e r e   s o m e   p e r s i s t e n t   v o l u m e   i s   a v a i l a b l e .   E p h e m e r a l   v o l u m e s   a r e   s p e c i f i e d   i n l i n e   i n   t h e   P o d   s p e c ,   w h i c h   s i m p l i f i e s   a p p l i c a t i o n   d e p l o y m e n t   a n d   m a n a g e m e n t .


Question: What is Types of ephemeral volumes?

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


Question: What is Note:?

Answer: C o n c e p t u a l l y ,   C S I   e p h e m e r a l   v o l u m e s   a r e   s i m i l a r   t o   c o n f i g M a p ,   d o w n w a r d A P I   a n d   s e c r e t   v o l u m e   t y p e s :   t h e   s t o r a g e   i s   m a n a g e d   l o c a l l y   o n   e a c h   n o d e   a n d   i s   c r e a t e d   t o g e t h e r   w i t h   o t h e r   l o c a l   r e s o u r c e s   a f t e r   a   P o d   h a s   b e e n   s c h e d u l e d   o n t o   a   n o d e .   K u b e r n e t e s   h a s   n o   c o n c e p t   o f   r e s c h e d u l i n g   P o d s   a n y m o r e   a t   t h i s   s t a g e .   V o l u m e   c r e a t i o n   h a s   t o   b e   u n l i k e l y   t o   f a i l ,   o t h e r w i s e   P o d   s t a r t u p   g e t s   s t u c k .   I n   p a r t i c u l a r ,   s t o r a g e   c a p a c i t y   a w a r e   P o d   s c h e d u l i n g   i s   n o t   s u p p o r t e d   f o r   t h e s e   v o l u m e s .   T h e y   a r e   c u r r e n t l y   a l s o   n o t   c o v e r e d   b y   t h e   s t o r a g e   r e s o u r c e   u s a g e   l i m i t s   o f   a   P o d ,   b e c a u s e   t h a t   i s   s o m e t h i n g   t h a t   k u b e l e t   c a n   o n l y   e n f o r c e   f o r   s t o r a g e   t h a t   i t   m a n a g e s   i t s e l f .   H e r e ' s   a n   e x a m p l e   m a n i f e s t   f o r   a   P o d   t h a t   u s e s   C S I   e p h e m e r a l   s t o r a g e :   k i n d :   P o d   a p i V e r s i o n :   v 1   m e t a d a t a :   n a m e :   m y - c s i - a p p   s p e c :   c o n t a i n e r s :   -   n a m e :   m y - f r o n t e n d   i m a g e :   b u s y b o x : 1 . 2 8   v o l u m e M o u n t s :   -   m o u n t P a t h :   " / d a t a "   n a m e :   m y - c s i - i n l i n e - v o l   c o m m a n d :   [   " s l e e p " ,   " 1 0 0 0 0 0 0 "   ]   v o l u m e s :   -   n a m e :   m y - c s i - i n l i n e - v o l   c s i :   d r i v e r :   i n l i n e . s t o r a g e . k u b e r n e t e s . i o   v o


Question: What is CSI driver restrictions?

Answer: C S I   e p h e m e r a l   v o l u m e s   a l l o w   u s e r s   t o   p r o v i d e   v o l u m e A t t r i b u t e s   d i r e c t l y   t o   t h e   C S I   d r i v e r   a s   p a r t   o f   t h e   P o d   s p e c .   A   C S I   d r i v e r   a l l o w i n g   v o l u m e A t t r i b u t e s   t h a t   a r e   t y p i c a l l y   r e s t r i c t e d   t o   a d m i n i s t r a t o r s   i s   N O T   s u i t a b l e   f o r   u s e   i n   a n   i n l i n e   e p h e m e r a l   v o l u m e .   F o r   e x a m p l e ,   p a r a m e t e r s   t h a t   a r e   n o r m a l l y   d e f i n e d   i n   t h e   S t o r a g e C l a s s   s h o u l d   n o t   b e   e x p o s e d   t o   u s e r s   t h r o u g h   t h e   u s e   o f   i n l i n e   e p h e m e r a l   v o l u m e s .   C l u s t e r   a d m i n i s t r a t o r s   w h o   n e e d   t o   r e s t r i c t   t h e   C S I   d r i v e r s   t h a t   a r e   a l l o w e d   t o   b e   u s e d   a s   i n l i n e   v o l u m e s   w i t h i n   a   P o d   s p e c   m a y   d o   s o   b y :   R e m o v i n g   E p h e m e r a l   f r o m   v o l u m e L i f e c y c l e M o d e s   i n   t h e   C S I D r i v e r   s p e c ,   w h i c h   p r e v e n t s   t h e   d r i v e r   f r o m   b e i n g   u s e d   a s   a n   i n l i n e   e p h e m e r a l   v o l u m e . U s i n g   a n   a d m i s s i o n   w e b h o o k   t o   r e s t r i c t   h o w   t h i s   d r i v e r   i s   u s e d .


Question: What is Generic ephemeral volumes?

Answer: G e n e r i c   e p h e m e r a l   v o l u m e s   a r e   s i m i l a r   t o   e m p t y D i r   v o l u m e s   i n   t h e   s e n s e   t h a t   t h e y   p r o v i d e   a   p e r - p o d   d i r e c t o r y   f o r   s c r a t c h   d a t a   t h a t   i s   u s u a l l y   e m p t y   a f t e r   p r o v i s i o n i n g .   B u t   t h e y   m a y   a l s o   h a v e   a d d i t i o n a l   f e a t u r e s :   S t o r a g e   c a n   b e   l o c a l   o r   n e t w o r k - a t t a c h e d . V o l u m e s   c a n   h a v e   a   f i x e d   s i z e   t h a t   P o d s   a r e   n o t   a b l e   t o   e x c e e d . V o l u m e s   m a y   h a v e   s o m e   i n i t i a l   d a t a ,   d e p e n d i n g   o n   t h e   d r i v e r   a n d   p a r a m e t e r s . T y p i c a l   o p e r a t i o n s   o n   v o l u m e s   a r e   s u p p o r t e d   a s s u m i n g   t h a t   t h e   d r i v e r   s u p p o r t s   t h e m ,   i n c l u d i n g   s n a p s h o t t i n g ,   c l o n i n g ,   r e s i z i n g ,   a n d   s t o r a g e   c a p a c i t y   t r a c k i n g .   E x a m p l e :   k i n d :   P o d   a p i V e r s i o n :   v 1   m e t a d a t a :   n a m e :   m y - a p p   s p e c :   c o n t a i n e r s :   -   n a m e :   m y - f r o n t e n d   i m a g e :   b u s y b o x : 1 . 2 8   v o l u m e M o u n t s :   -   m o u n t P a t h :   " / s c r a t c h "   n a m e :   s c r a t c h - v o l u m e   c o m m a n d :   [   " s l e e p " ,   " 1 0 0 0 0 0 0 "   ]   v o l u m e s :   -   n a m e :   s c r a t c h - v o l u m e   e p h e m e r a l :   v o l u m e C l a i m T e m p l a t e :   m e t a d a t a :   l a b e l s :   t y p e :   m y - f r o n t e n d - v o l u m e   s p e c :   a c c e s s M o d e s :   [   " R e a d W r i t e O n c e "   ]   s t o r a g e C l a s s N a m e :   " s c r a t c h - s t o r a g e - c l a s s "   r e s o u r c e s :   r e q u e s t s :   s t o r a g e :   1 G i


Question: What is Lifecycle and PersistentVolumeClaim?

Answer: T h e   k e y   d e s i g n   i d e a   i s   t h a t   t h e   p a r a m e t e r s   f o r   a   v o l u m e   c l a i m   a r e   a l l o w e d   i n s i d e   a   v o l u m e   s o u r c e   o f   t h e   P o d .   L a b e l s ,   a n n o t a t i o n s   a n d   t h e   w h o l e   s e t   o f   f i e l d s   f o r   a   P e r s i s t e n t V o l u m e C l a i m   a r e   s u p p o r t e d .   W h e n   s u c h   a   P o d   g e t s   c r e a t e d ,   t h e   e p h e m e r a l   v o l u m e   c o n t r o l l e r   t h e n   c r e a t e s   a n   a c t u a l   P e r s i s t e n t V o l u m e C l a i m   o b j e c t   i n   t h e   s a m e   n a m e s p a c e   a s   t h e   P o d   a n d   e n s u r e s   t h a t   t h e   P e r s i s t e n t V o l u m e C l a i m   g e t s   d e l e t e d   w h e n   t h e   P o d   g e t s   d e l e t e d .   T h a t   t r i g g e r s   v o l u m e   b i n d i n g   a n d / o r   p r o v i s i o n i n g ,   e i t h e r   i m m e d i a t e l y   i f   t h e   S t o r a g e C l a s s   u s e s   i m m e d i a t e   v o l u m e   b i n d i n g   o r   w h e n   t h e   P o d   i s   t e n t a t i v e l y   s c h e d u l e d   o n t o   a   n o d e   ( W a i t F o r F i r s t C o n s u m e r   v o l u m e   b i n d i n g   m o d e ) .   T h e   l a t t e r   i s   r e c o m m e n d e d   f o r   g e n e r i c   e p h e m e r a l   v o l u m e s   b e c a u s e   t h e n   t h e   s c h e d u l e r   i s   f r e e   t o   c h o o s e   a   s u i t a b l e   n o d e   f o r   t h e   P o d .   W i t h   i m m e d i a t e   b i n d i n g ,   t h e   s c h e d u l e r   i s   f o r c e d   t o   s e l e c t   a   n o d e   t h a t   h a s   a c c e s s   t o   t h e   v o l u m e   o n c e   i t   i s   a v a i l a b l e .   I n   t e r m s   o f   r e s o u r c e   o w n e r s h i p ,   a   P o d   t h a t   h a s   g e n e r i c   e p h e m e r a l   s t o r a g e   i s   t h e   o w n e r   o f   t h e   P e r s i s t e n t V o l u


Question: What is PersistentVolumeClaim naming?

Answer: N a m i n g   o f   t h e   a u t o m a t i c a l l y   c r e a t e d   P V C s   i s   d e t e r m i n i s t i c :   t h e   n a m e   i s   a   c o m b i n a t i o n   o f   t h e   P o d   n a m e   a n d   v o l u m e   n a m e ,   w i t h   a   h y p h e n   ( - )   i n   t h e   m i d d l e .   I n   t h e   e x a m p l e   a b o v e ,   t h e   P V C   n a m e   w i l l   b e   m y - a p p - s c r a t c h - v o l u m e .   T h i s   d e t e r m i n i s t i c   n a m i n g   m a k e s   i t   e a s i e r   t o   i n t e r a c t   w i t h   t h e   P V C   b e c a u s e   o n e   d o e s   n o t   h a v e   t o   s e a r c h   f o r   i t   o n c e   t h e   P o d   n a m e   a n d   v o l u m e   n a m e   a r e   k n o w n .   T h e   d e t e r m i n i s t i c   n a m i n g   a l s o   i n t r o d u c e s   a   p o t e n t i a l   c o n f l i c t   b e t w e e n   d i f f e r e n t   P o d s   ( a   P o d   " p o d - a "   w i t h   v o l u m e   " s c r a t c h "   a n d   a n o t h e r   P o d   w i t h   n a m e   " p o d "   a n d   v o l u m e   " a - s c r a t c h "   b o t h   e n d   u p   w i t h   t h e   s a m e   P V C   n a m e   " p o d - a - s c r a t c h " )   a n d   b e t w e e n   P o d s   a n d   m a n u a l l y   c r e a t e d   P V C s .   S u c h   c o n f l i c t s   a r e   d e t e c t e d :   a   P V C   i s   o n l y   u s e d   f o r   a n   e p h e m e r a l   v o l u m e   i f   i t   w a s   c r e a t e d   f o r   t h e   P o d .   T h i s   c h e c k   i s   b a s e d   o n   t h e   o w n e r s h i p   r e l a t i o n s h i p .   A n   e x i s t i n g   P V C   i s   n o t   o v e r w r i t t e n   o r   m o d i f i e d .   B u t   t h i s   d o e s   n o t   r e s o l v e   t h e   c o n f l i c t   b e c a u s e   w i t h o u t   t h e   r i g h t   P V C ,   t h e   P o d   c a n n o t   s t a r t .


Question: What is Security?

Answer: U s i n g   g e n e r i c   e p h e m e r a l   v o l u m e s   a l l o w s   u s e r s   t o   c r e a t e   P V C s   i n d i r e c t l y   i f   t h e y   c a n   c r e a t e   P o d s ,   e v e n   i f   t h e y   d o   n o t   h a v e   p e r m i s s i o n   t o   c r e a t e   P V C s   d i r e c t l y .   C l u s t e r   a d m i n i s t r a t o r s   m u s t   b e   a w a r e   o f   t h i s .   I f   t h i s   d o e s   n o t   f i t   t h e i r   s e c u r i t y   m o d e l ,   t h e y   s h o u l d   u s e   a n   a d m i s s i o n   w e b h o o k   t h a t   r e j e c t s   o b j e c t s   l i k e   P o d s   t h a t   h a v e   a   g e n e r i c   e p h e m e r a l   v o l u m e .   T h e   n o r m a l   n a m e s p a c e   q u o t a   f o r   P V C s   s t i l l   a p p l i e s ,   s o   e v e n   i f   u s e r s   a r e   a l l o w e d   t o   u s e   t h i s   n e w   m e c h a n i s m ,   t h e y   c a n n o t   u s e   i t   t o   c i r c u m v e n t   o t h e r   p o l i c i e s .


Question: What is Ephemeral volumes managed by kubelet?

Answer: S e e   l o c a l   e p h e m e r a l   s t o r a g e .


Question: What is CSI ephemeral volumes?

Answer: F o r   m o r e   i n f o r m a t i o n   o n   t h e   d e s i g n ,   s e e   t h e   E p h e m e r a l   I n l i n e   C S I   v o l u m e s   K E P . F o r   m o r e   i n f o r m a t i o n   o n   f u r t h e r   d e v e l o p m e n t   o f   t h i s   f e a t u r e ,   s e e   t h e   e n h a n c e m e n t   t r a c k i n g   i s s u e   # 5 9 6 .


Question: What is Generic ephemeral volumes?

Answer: F o r   m o r e   i n f o r m a t i o n   o n   t h e   d e s i g n ,   s e e   t h e   G e n e r i c   e p h e m e r a l   i n l i n e   v o l u m e s   K E P .


Question: What is kubeadm Configuration (v1beta3)?

Answer: kubeadm Configuration (v1beta3)OverviewPackage v1beta3 defines the v1beta3 version of the kubeadm configuration file format. This version improves on the v1beta2 format by fixing some minor issues and adding a few new fields.A list of changes since v1beta2:The deprecated "ClusterConfiguration.useHyperKubeImage" field has been removed. Kubeadm no longer supports the hyperkube image.The "ClusterConfiguration.dns.type" field has been removed since CoreDNS is the only supported DNS server type by kubeadm.Include "datapolicy" tags on the fields that hold secrets. This would result in the field values to be omitted when API structures are printed with klog.Add "InitConfiguration.skipPhases", "JoinConfiguration.skipPhases" to allow skipping a list of phases during kubeadm init/join command execution.Add "InitConfiguration.nodeRegistration.imagePullPolicy" and "JoinConfiguration.nodeRegistration.imagePullPolicy" to allow specifying the images pull policy during kubeadm "init" and "join". The value must be one of "Always", "Never" or "IfNotPresent". "IfNotPresent" is the default, which has been the existing behavior prior to this addition.Add "InitConfiguration.patches.directory", "JoinConfiguration.patches.directory" to allow the user to configure a directory from which to take patches for components deployed by kubeadm.Move the BootstrapToken* API and related utilities out of the "kubeadm" API group to a new group "bootstraptoken". The kubeadm API version v1beta3 no longer contains the BootstrapToken* structures.Migration from old kubeadm config versionskubeadm v1.15.x and newer can be used to migrate from v1beta1 to v1beta2.kubeadm v1.22.x and newer no longer support v1beta1 and older APIs, but can be used to migrate v1beta2 to v1beta3.kubeadm v1.27.x and newer no longer support v1beta2 and older APIs,BasicsThe preferred way to configure kubeadm is to pass an YAML configuration file with the --config option. Some of the configuration options defined in the kubeadm config file are also available as command line flags, but only the most common/simple use case are supported with this approach.A kubeadm config file could contain multiple configuration types separated using three dashes (---).kubeadm supports the following configuration types:apiVersion: kubeadm.k8s.io/v1beta3 kind: InitConfiguration apiVersion: kubeadm.k8s.io/v1beta3 kind: ClusterConfiguration apiVersion: kubelet.config.k8s.io/v1beta1 kind: KubeletConfiguration apiVersion: kubeproxy.config.k8s.io/v1alpha1 kind: KubeProxyConfiguration apiVersion: kubeadm.k8s.io/v1beta3 kind: JoinConfiguration To print the defaults for "init" and "join" actions use the following commands:kubeadm config print init-defaults kubeadm config print join-defaults The list of configuration types that must be included in a configuration file depends by the action you are performing (init or join) and by the configuration options you are going to use (defaults or advanced customization).If some configuration types are