Question: What is Ingress?

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


Question: What is Ingress Controllers?

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


Question: What is Gateway API?

Answer: G a t e w a y   A P I   i s   a   f a m i l y   o f   A P I   k i n d s   t h a t   p r o v i d e   d y n a m i c   i n f r a s t r u c t u r e   p r o v i s i o n i n g   a n d   a d v a n c e d   t r a f f i c   r o u t i n g .


Question: What is EndpointSlices?

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


Question: What is Network Policies?

Answer: I f   y o u   w a n t   t o   c o n t r o l   t r a f f i c   f l o w   a t   t h e   I P   a d d r e s s   o r   p o r t   l e v e l   ( O S I   l a y e r   3   o r   4 ) ,   N e t w o r k P o l i c i e s   a l l o w   y o u   t o   s p e c i f y   r u l e s   f o r   t r a f f i c   f l o w   w i t h i n   y o u r   c l u s t e r ,   a n d   a l s o   b e t w e e n   P o d s   a n d   t h e   o u t s i d e   w o r l d .   Y o u r   c l u s t e r   m u s t   u s e   a   n e t w o r k   p l u g i n   t h a t   s u p p o r t s   N e t w o r k P o l i c y   e n f o r c e m e n t .


Question: What is DNS for Services and Pods?

Answer: Y o u r   w o r k l o a d   c a n   d i s c o v e r   S e r v i c e s   w i t h i n   y o u r   c l u s t e r   u s i n g   D N S ;   t h i s   p a g e   e x p l a i n s   h o w   t h a t   w o r k s .


Question: What is IPv4/IPv6 dual-stack?

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


Question: What is Topology Aware Routing?

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


Question: What is Service Internal Traffic Policy?

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


Question: What is Common Definitions?

Answer: Common DefinitionsDeleteOptionsDeleteOptions may be provided when deleting an API object.LabelSelectorA label selector is a label query over a set of resources.ListMetaListMeta describes metadata that synthetic resources must have, including lists and various status objects.LocalObjectReferenceLocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.NodeSelectorRequirementA node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.ObjectFieldSelectorObjectFieldSelector selects an APIVersioned field of an object.ObjectMetaObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.ObjectReferenceObjectReference contains enough information to let you inspect or modify the referred object.PatchPatch is provided to give a concrete name and type to the Kubernetes PATCH request body.QuantityQuantity is a fixed-point representation of a number.ResourceFieldSelectorResourceFieldSelector represents container resources (cpu, memory) and their output format.StatusStatus is a return value for calls that don't return other objects.TypedLocalObjectReferenceTypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.This page is automatically generated.If you plan to report an issue with this page, mention that the page is auto-generated in your issue description. The fix may need to happen elsewhere in the Kubernetes project.


Question: How does Common Definitions work?

Answer: Common DefinitionsDeleteOptionsDeleteOptions may be provided when deleting an API object.LabelSelectorA label selector is a label query over a set of resources.ListMetaListMeta describes metadata that synthetic resources must have, including lists and various status objects.LocalObjectReferenceLocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.NodeSelectorRequirementA node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.ObjectFieldSelectorObjectFieldSelector selects an APIVersioned field of an object.ObjectMetaObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.ObjectReferenceObjectReference contains enough information to let you inspect or modify the referred object.PatchPatch is provided to give a concrete name and type to the Kubernetes PATCH request body.QuantityQuantity is a fixed-point representation of a number.ResourceFieldSelectorResourceFieldSelector represents container resources (cpu, memory) and their output format.StatusStatus is a return value for calls that don't return other objects.TypedLocalObjectReferenceTypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.This page is automatically generated.If you plan to report an issue with this page, mention that the page is auto-generated in your issue description. The fix may need to happen elsewhere in the Kubernetes project.


Question: When would you use Common Definitions?

Answer: Common DefinitionsDeleteOptionsDeleteOptions may be provided when deleting an API object.LabelSelectorA label selector is a label query over a set of resources.ListMetaListMeta describes metadata that synthetic resources must have, including lists and various status objects.LocalObjectReferenceLocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.NodeSelectorRequirementA node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.ObjectFieldSelectorObjectFieldSelector selects an APIVersioned field of an object.ObjectMetaObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.ObjectReferenceObjectReference contains enough information to let you inspect or modify the referred object.PatchPatch is provided to give a concrete name and type to the Kubernetes PATCH request body.QuantityQuantity is a fixed-point representation of a number.ResourceFieldSelectorResourceFieldSelector represents container resources (cpu, memory) and their output format.StatusStatus is a return value for calls that don't return other objects.TypedLocalObjectReferenceTypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.This page is automatically generated.If you plan to report an issue with this page, mention that the page is auto-generated in your issue description. The fix may need to happen elsewhere in the Kubernetes project.


Question: What are the benefits of Common Definitions?

Answer: Common DefinitionsDeleteOptionsDeleteOptions may be provided when deleting an API object.LabelSelectorA label selector is a label query over a set of resources.ListMetaListMeta describes metadata that synthetic resources must have, including lists and various status objects.LocalObjectReferenceLocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.NodeSelectorRequirementA node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.ObjectFieldSelectorObjectFieldSelector selects an APIVersioned field of an object.ObjectMetaObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.ObjectReferenceObjectReference contains enough information to let you inspect or modify the referred object.PatchPatch is provided to give a concrete name and type to the Kubernetes PATCH request body.QuantityQuantity is a fixed-point representation of a number.ResourceFieldSelectorResourceFieldSelector represents container resources (cpu, memory) and their output format.StatusStatus is a return value for calls that don't return other objects.TypedLocalObjectReferenceTypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.This page is automatically generated.If you plan to report an issue with this page, mention that the page is auto-generated in your issue description. The fix may need to happen elsewhere in the Kubernetes project.


Question: What is DeleteOptions?

Answer: D e l e t e O p t i o n s   m a y   b e   p r o v i d e d   w h e n   d e l e t i n g   a n   A P I   o b j e c t .


Question: What is LabelSelector?

Answer: A   l a b e l   s e l e c t o r   i s   a   l a b e l   q u e r y   o v e r   a   s e t   o f   r e s o u r c e s .


Question: What is ListMeta?

Answer: L i s t M e t a   d e s c r i b e s   m e t a d a t a   t h a t   s y n t h e t i c   r e s o u r c e s   m u s t   h a v e ,   i n c l u d i n g   l i s t s   a n d   v a r i o u s   s t a t u s   o b j e c t s .


Question: What is LocalObjectReference?

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


Question: What is NodeSelectorRequirement?

Answer: A   n o d e   s e l e c t o r   r e q u i r e m e n t   i s   a   s e l e c t o r   t h a t   c o n t a i n s   v a l u e s ,   a   k e y ,   a n d   a n   o p e r a t o r   t h a t   r e l a t e s   t h e   k e y   a n d   v a l u e s .


Question: What is ObjectFieldSelector?

Answer: O b j e c t F i e l d S e l e c t o r   s e l e c t s   a n   A P I V e r s i o n e d   f i e l d   o f   a n   o b j e c t .


Question: What is ObjectMeta?

Answer: O b j e c t M e t a   i s   m e t a d a t a   t h a t   a l l   p e r s i s t e d   r e s o u r c e s   m u s t   h a v e ,   w h i c h   i n c l u d e s   a l l   o b j e c t s   u s e r s   m u s t   c r e a t e .


Question: What is ObjectReference?

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


Question: What is Patch?

Answer: P a t c h   i s   p r o v i d e d   t o   g i v e   a   c o n c r e t e   n a m e   a n d   t y p e   t o   t h e   K u b e r n e t e s   P A T C H   r e q u e s t   b o d y .


Question: What is Quantity?

Answer: Q u a n t i t y   i s   a   f i x e d - p o i n t   r e p r e s e n t a t i o n   o f   a   n u m b e r .


Question: What is ResourceFieldSelector?

Answer: R e s o u r c e F i e l d S e l e c t o r   r e p r e s e n t s   c o n t a i n e r   r e s o u r c e s   ( c p u ,   m e m o r y )   a n d   t h e i r   o u t p u t   f o r m a t .


Question: What is Status?

Answer: S t a t u s   i s   a   r e t u r n   v a l u e   f o r   c a l l s   t h a t   d o n ' t   r e t u r n   o t h e r   o b j e c t s .


Question: What is TypedLocalObjectReference?

Answer: T y p e d L o c a l O b j e c t R e f e r e n c e   c o n t a i n s   e n o u g h   i n f o r m a t i o n   t o   l e t   y o u   l o c a t e   t h e   t y p e d   r e f e r e n c e d   o b j e c t   i n s i d e   t h e   s a m e   n a m e s p a c e .   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 set resources?

Answer: kubectl set resourcesSynopsisSpecify compute resource requirements (CPU, memory) for any resource that defines a pod template. If a pod is successfully scheduled, it is guaranteed the amount of resource requested, but may burst up to its specified limits.For each compute resource, if a limit is specified and a request is omitted, the request will default to the limit.Possible resources include (case insensitive): Use "kubectl api-resources" for a complete list of supported resources..kubectl set resources (-f FILENAME | TYPE NAME) ([--limits=LIMITS & --requests=REQUESTS] Examples # Set a deployments nginx container cpu limits to "200m" and memory to "512Mi" kubectl set resources deployment nginx -c=nginx --limits=cpu=200m,memory=512Mi # Set the resource request and limits for all containers in nginx kubectl set resources deployment nginx --limits=cpu=200m,memory=512Mi --requests=cpu=100m,memory=256Mi # Remove the resource requests for resources on containers in nginx kubectl set resources deployment nginx --limits=cpu=0,memory=0 --requests=cpu=0,memory=0 # Print the result (in yaml format) of updating nginx container limits from a local, without hitting the server kubectl set resources -f path/to/file.yaml --limits=cpu=200m,memory=512Mi --local -o yaml Options--allSelect all resources, in the namespace of the specified resource types--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.-c, --containers string Default: "*"The names of containers in the selected pod templates to change, all containers are selected by default - may use wildcards--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.--field-manager string Default: "kubectl-set"Name of the manager used to track field ownership.-f, --filename stringsFilename, directory, or URL to files identifying the resource to get from a server.-h, --helphelp for resources-k, --kustomize stringProcess the kustomization directory. This flag can't be used together with -f or -R.--limits stringThe resource requirement requests for this container. For example, 'cpu=100m,memory=256Mi'. Note that server side components may assign requests depending on the server configuration, such as limit ranges.--localIf true, set resources will NOT contact api-server but run locally.-o, --output stringOutput format. One of: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).-R, --recursiveProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.--requests stringThe resource requirement requests for this container. For example, 'cpu=100m,memory=256Mi'.


Question: How does kubectl set resources work?

Answer: kubectl set resourcesSynopsisSpecify compute resource requirements (CPU, memory) for any resource that defines a pod template. If a pod is successfully scheduled, it is guaranteed the amount of resource requested, but may burst up to its specified limits.For each compute resource, if a limit is specified and a request is omitted, the request will default to the limit.Possible resources include (case insensitive): Use "kubectl api-resources" for a complete list of supported resources..kubectl set resources (-f FILENAME | TYPE NAME) ([--limits=LIMITS & --requests=REQUESTS] Examples # Set a deployments nginx container cpu limits to "200m" and memory to "512Mi" kubectl set resources deployment nginx -c=nginx --limits=cpu=200m,memory=512Mi # Set the resource request and limits for all containers in nginx kubectl set resources deployment nginx --limits=cpu=200m,memory=512Mi --requests=cpu=100m,memory=256Mi # Remove the resource requests for resources on containers in nginx kubectl set resources deployment nginx --limits=cpu=0,memory=0 --requests=cpu=0,memory=0 # Print the result (in yaml format) of updating nginx container limits from a local, without hitting the server kubectl set resources -f path/to/file.yaml --limits=cpu=200m,memory=512Mi --local -o yaml Options--allSelect all resources, in the namespace of the specified resource types--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.-c, --containers string Default: "*"The names of containers in the selected pod templates to change, all containers are selected by default - may use wildcards--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.--field-manager string Default: "kubectl-set"Name of the manager used to track field ownership.-f, --filename stringsFilename, directory, or URL to files identifying the resource to get from a server.-h, --helphelp for resources-k, --kustomize stringProcess the kustomization directory. This flag can't be used together with -f or -R.--limits stringThe resource requirement requests for this container. For example, 'cpu=100m,memory=256Mi'. Note that server side components may assign requests depending on the server configuration, such as limit ranges.--localIf true, set resources will NOT contact api-server but run locally.-o, --output stringOutput format. One of: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).-R, --recursiveProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.--requests stringThe resource requirement requests for this container. For example, 'cpu=100m,memory=256Mi'.


Question: When would you use kubectl set resources?

Answer: kubectl set resourcesSynopsisSpecify compute resource requirements (CPU, memory) for any resource that defines a pod template. If a pod is successfully scheduled, it is guaranteed the amount of resource requested, but may burst up to its specified limits.For each compute resource, if a limit is specified and a request is omitted, the request will default to the limit.Possible resources include (case insensitive): Use "kubectl api-resources" for a complete list of supported resources..kubectl set resources (-f FILENAME | TYPE NAME) ([--limits=LIMITS & --requests=REQUESTS] Examples # Set a deployments nginx container cpu limits to "200m" and memory to "512Mi" kubectl set resources deployment nginx -c=nginx --limits=cpu=200m,memory=512Mi # Set the resource request and limits for all containers in nginx kubectl set resources deployment nginx --limits=cpu=200m,memory=512Mi --requests=cpu=100m,memory=256Mi # Remove the resource requests for resources on containers in nginx kubectl set resources deployment nginx --limits=cpu=0,memory=0 --requests=cpu=0,memory=0 # Print the result (in yaml format) of updating nginx container limits from a local, without hitting the server kubectl set resources -f path/to/file.yaml --limits=cpu=200m,memory=512Mi --local -o yaml Options--allSelect all resources, in the namespace of the specified resource types--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.-c, --containers string Default: "*"The names of containers in the selected pod templates to change, all containers are selected by default - may use wildcards--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.--field-manager string Default: "kubectl-set"Name of the manager used to track field ownership.-f, --filename stringsFilename, directory, or URL to files identifying the resource to get from a server.-h, --helphelp for resources-k, --kustomize stringProcess the kustomization directory. This flag can't be used together with -f or -R.--limits stringThe resource requirement requests for this container. For example, 'cpu=100m,memory=256Mi'. Note that server side components may assign requests depending on the server configuration, such as limit ranges.--localIf true, set resources will NOT contact api-server but run locally.-o, --output stringOutput format. One of: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).-R, --recursiveProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.--requests stringThe resource requirement requests for this container. For example, 'cpu=100m,memory=256Mi'.


Question: What are the benefits of kubectl set resources?

Answer: kubectl set resourcesSynopsisSpecify compute resource requirements (CPU, memory) for any resource that defines a pod template. If a pod is successfully scheduled, it is guaranteed the amount of resource requested, but may burst up to its specified limits.For each compute resource, if a limit is specified and a request is omitted, the request will default to the limit.Possible resources include (case insensitive): Use "kubectl api-resources" for a complete list of supported resources..kubectl set resources (-f FILENAME | TYPE NAME) ([--limits=LIMITS & --requests=REQUESTS] Examples # Set a deployments nginx container cpu limits to "200m" and memory to "512Mi" kubectl set resources deployment nginx -c=nginx --limits=cpu=200m,memory=512Mi # Set the resource request and limits for all containers in nginx kubectl set resources deployment nginx --limits=cpu=200m,memory=512Mi --requests=cpu=100m,memory=256Mi # Remove the resource requests for resources on containers in nginx kubectl set resources deployment nginx --limits=cpu=0,memory=0 --requests=cpu=0,memory=0 # Print the result (in yaml format) of updating nginx container limits from a local, without hitting the server kubectl set resources -f path/to/file.yaml --limits=cpu=200m,memory=512Mi --local -o yaml Options--allSelect all resources, in the namespace of the specified resource types--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.-c, --containers string Default: "*"The names of containers in the selected pod templates to change, all containers are selected by default - may use wildcards--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.--field-manager string Default: "kubectl-set"Name of the manager used to track field ownership.-f, --filename stringsFilename, directory, or URL to files identifying the resource to get from a server.-h, --helphelp for resources-k, --kustomize stringProcess the kustomization directory. This flag can't be used together with -f or -R.--limits stringThe resource requirement requests for this container. For example, 'cpu=100m,memory=256Mi'. Note that server side components may assign requests depending on the server configuration, such as limit ranges.--localIf true, set resources will NOT contact api-server but run locally.-o, --output stringOutput format. One of: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).-R, --recursiveProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.--requests stringThe resource requirement requests for this container. For example, 'cpu=100m,memory=256Mi'.


Question: What is Synopsis?

Answer: S p e c i f y   c o m p u t e   r e s o u r c e   r e q u i r e m e n t s   ( C P U ,   m e m o r y )   f o r   a n y   r e s o u r c e   t h a t   d e f i n e s   a   p o d   t e m p l a t e .   I f   a   p o d   i s   s u c c e s s f u l l y   s c h e d u l e d ,   i t   i s   g u a r a n t e e d   t h e   a m o u n t   o f   r e s o u r c e   r e q u e s t e d ,   b u t   m a y   b u r s t   u p   t o   i t s   s p e c i f i e d   l i m i t s .   F o r   e a c h   c o m p u t e   r e s o u r c e ,   i f   a   l i m i t   i s   s p e c i f i e d   a n d   a   r e q u e s t   i s   o m i t t e d ,   t h e   r e q u e s t   w i l l   d e f a u l t   t o   t h e   l i m i t .   P o s s i b l e   r e s o u r c e s   i n c l u d e   ( c a s e   i n s e n s i t i v e ) :   U s e   " k u b e c t l   a p i - r e s o u r c e s "   f o r   a   c o m p l e t e   l i s t   o f   s u p p o r t e d   r e s o u r c e s . .   k u b e c t l   s e t   r e s o u r c e s   ( - f   F I L E N A M E   |   T Y P E   N A M E )   ( [ - - l i m i t s = L I M I T S   &   - - r e q u e s t s = R E Q U E S T S ]


Question: What is Examples?

Answer: #   S e t   a   d e p l o y m e n t s   n g i n x   c o n t a i n e r   c p u   l i m i t s   t o   " 2 0 0 m "   a n d   m e m o r y   t o   " 5 1 2 M i "   k u b e c t l   s e t   r e s o u r c e s   d e p l o y m e n t   n g i n x   - c = n g i n x   - - l i m i t s = c p u = 2 0 0 m , m e m o r y = 5 1 2 M i   #   S e t   t h e   r e s o u r c e   r e q u e s t   a n d   l i m i t s   f o r   a l l   c o n t a i n e r s   i n   n g i n x   k u b e c t l   s e t   r e s o u r c e s   d e p l o y m e n t   n g i n x   - - l i m i t s = c p u = 2 0 0 m , m e m o r y = 5 1 2 M i   - - r e q u e s t s = c p u = 1 0 0 m , m e m o r y = 2 5 6 M i   #   R e m o v e   t h e   r e s o u r c e   r e q u e s t s   f o r   r e s o u r c e s   o n   c o n t a i n e r s   i n   n g i n x   k u b e c t l   s e t   r e s o u r c e s   d e p l o y m e n t   n g i n x   - - l i m i t s = c p u = 0 , m e m o r y = 0   - - r e q u e s t s = c p u = 0 , m e m o r y = 0   #   P r i n t   t h e   r e s u l t   ( i n   y a m l   f o r m a t )   o f   u p d a t i n g   n g i n x   c o n t a i n e r   l i m i t s   f r o m   a   l o c a l ,   w i t h o u t   h i t t i n g   t h e   s e r v e r   k u b e c t l   s e t   r e s o u r c e s   - f   p a t h / t o / f i l e . y a m l   - - l i m i t s = c p u = 2 0 0 m , m e m o r y = 5 1 2 M i   - - l o c a l   - o   y a m l


Question: What is Options?

Answer: S e l e c t   a l l   r e s o u r c e s ,   i n   t h e   n a m e s p a c e   o f   t h e   s p e c i f i e d   r e s o u r c e   t y p e s   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 .   T h e   n a m e s   o f   c o n t a i n e r s   i n   t h e   s e l e c t e d   p o d   t e m p l a t e s   t o   c h a n g e ,   a l l   c o n t a i n e r s   a r e   s e l e c t e d   b y   d e f a u l t   -   m a y   u s e   w i l d c a r d s   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 .   N a m e   o f   t h e   m a n a g e r   u s e d   t o   t r a c k   f i e l d   o w n e r s h i p .   F i l e n a m e ,   d i r e c t o r y ,   o r   U R L   t o   f i l e s   i d e n t i f y i n g   t h e   r e s o u r c e   t o   g e t   f r o m   a   s e r v e r .   h e l p   f o r   r e s o u r c e s   P r o c e s s   t h e   k u s t o m i z a t i o n   d i r e c t o r y .   T h i s   f l a g   c a n ' t   b e   u s e d   t o g e t h e r   w i t h   - f   o r   - R .   T h e   r e s o u r c e   r e q u i r e m e n t   r e q u e s t s   f o r   t h i s   c o n t a i n e r .   F o r   e x a m p l e ,   ' c p u = 1 0 0 m , m e m o r y = 2 5 6 M i ' .   N o t e   t h a t   s e r v e r   s i d e   c o m p o n e n t s   m a y   a s s i g n   r e q u e s t s   d e p e n d i n g   o n   t h e   s e r v e r   c o n f i g u r a t i o n ,   s u c h   a s   l i m i t   r a n g e s .   I f   t r u e ,   s e t   r 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   s e t   -   S e t   s p e c i f i c   f e a t u r e s   o n   o b j e c t s   T h i s   p a g e   i s   a u t o m a t i c a l l y   g e n e r a t e d .   I f   y o u   p l a n   t o   r e p o r t   a n   i s s u e   w i t h   t h i s   p a g e ,   m e n t i o n   t h a t   t h e   p a g e   i s   a u t o - g e n e r a t e d   i n   y o u r   i s s u e   d e s c r i p t i o n .   T h e   f i x   m a y   n e e d   t o   h a p p e n   e l s e w h e r e   i n   t h e   K u b e r n e t e s   p r o j e c t .


Question: What is Switching from Polling to CRI Event-based Updates to Container Status?

Answer: Switching from Polling to CRI Event-based Updates to Container StatusFEATURE STATE: Kubernetes v1.26 [alpha] (enabled by default: false)This page shows how to migrate nodes to use event based updates for container status. The event-based implementation reduces node resource consumption by the kubelet, compared to the legacy approach that relies on polling. You may know this feature as evented Pod lifecycle event generator (PLEG). That's the name used internally within the Kubernetes project for a key implementation detail.The polling based approach is referred to as generic PLEG.Before you beginYou need to run a version of Kubernetes that provides this feature. Kubernetes v1.27 includes beta support for event-based container status updates. The feature is beta but is disabled by default because it requires support from the container runtime.Your Kubernetes server must be at or later than version 1.26.To check the version, enter kubectl version.If you are running a different version of Kubernetes, check the documentation for that release.The container runtime in use must support container lifecycle events. The kubelet automatically switches back to the legacy generic PLEG mechanism if the container runtime does not announce support for container lifecycle events, even if you have this feature gate enabled.Why switch to Evented PLEG?The Generic PLEG incurs non-negligible overhead due to frequent polling of container statuses.This overhead is exacerbated by Kubelet's parallelized polling of container states, thus limiting its scalability and causing poor performance and reliability problems.The goal of Evented PLEG is to reduce unnecessary work during inactivity by replacing periodic polling.Switching to Evented PLEGStart the Kubelet with the feature gate EventedPLEG enabled. You can manage the kubelet feature gates editing the kubelet config file and restarting the kubelet service. You need to do this on each node where you are using this feature.Make sure the node is drained before proceeding.Start the container runtime with the container event generation enabled.Version 1.7+Version 1.26+Check if the CRI-O is already configured to emit CRI events by verifying the configuration,crio config | grep enable_pod_events If it is enabled, the output should be similar to the following:enable_pod_events = true To enable it, start the CRI-O daemon with the flag --enable-pod-events=true or use a dropin config with the following lines:[crio.runtime] enable_pod_events: true Your Kubernetes server must be at or later than version 1.26.To check the version, enter kubectl version.Verify that the kubelet is using event-based container stage change monitoring. To check, look for the term EventedPLEG in the kubelet logs.The output should be similar to this:I0314 11:10:13.909915 1105457 feature_gate.go:249] feature gates: &{map[EventedPLEG:true]} If you have set --v to 4 and above, you might see more entries that indicate that the kubelet is using event-based containe


Question: How does Switching from Polling to CRI Event-based Updates to Container Status work?

Answer: Switching from Polling to CRI Event-based Updates to Container StatusFEATURE STATE: Kubernetes v1.26 [alpha] (enabled by default: false)This page shows how to migrate nodes to use event based updates for container status. The event-based implementation reduces node resource consumption by the kubelet, compared to the legacy approach that relies on polling. You may know this feature as evented Pod lifecycle event generator (PLEG). That's the name used internally within the Kubernetes project for a key implementation detail.The polling based approach is referred to as generic PLEG.Before you beginYou need to run a version of Kubernetes that provides this feature. Kubernetes v1.27 includes beta support for event-based container status updates. The feature is beta but is disabled by default because it requires support from the container runtime.Your Kubernetes server must be at or later than version 1.26.To check the version, enter kubectl version.If you are running a different version of Kubernetes, check the documentation for that release.The container runtime in use must support container lifecycle events. The kubelet automatically switches back to the legacy generic PLEG mechanism if the container runtime does not announce support for container lifecycle events, even if you have this feature gate enabled.Why switch to Evented PLEG?The Generic PLEG incurs non-negligible overhead due to frequent polling of container statuses.This overhead is exacerbated by Kubelet's parallelized polling of container states, thus limiting its scalability and causing poor performance and reliability problems.The goal of Evented PLEG is to reduce unnecessary work during inactivity by replacing periodic polling.Switching to Evented PLEGStart the Kubelet with the feature gate EventedPLEG enabled. You can manage the kubelet feature gates editing the kubelet config file and restarting the kubelet service. You need to do this on each node where you are using this feature.Make sure the node is drained before proceeding.Start the container runtime with the container event generation enabled.Version 1.7+Version 1.26+Check if the CRI-O is already configured to emit CRI events by verifying the configuration,crio config | grep enable_pod_events If it is enabled, the output should be similar to the following:enable_pod_events = true To enable it, start the CRI-O daemon with the flag --enable-pod-events=true or use a dropin config with the following lines:[crio.runtime] enable_pod_events: true Your Kubernetes server must be at or later than version 1.26.To check the version, enter kubectl version.Verify that the kubelet is using event-based container stage change monitoring. To check, look for the term EventedPLEG in the kubelet logs.The output should be similar to this:I0314 11:10:13.909915 1105457 feature_gate.go:249] feature gates: &{map[EventedPLEG:true]} If you have set --v to 4 and above, you might see more entries that indicate that the kubelet is using event-based containe


Question: When would you use Switching from Polling to CRI Event-based Updates to Container Status?

Answer: Switching from Polling to CRI Event-based Updates to Container StatusFEATURE STATE: Kubernetes v1.26 [alpha] (enabled by default: false)This page shows how to migrate nodes to use event based updates for container status. The event-based implementation reduces node resource consumption by the kubelet, compared to the legacy approach that relies on polling. You may know this feature as evented Pod lifecycle event generator (PLEG). That's the name used internally within the Kubernetes project for a key implementation detail.The polling based approach is referred to as generic PLEG.Before you beginYou need to run a version of Kubernetes that provides this feature. Kubernetes v1.27 includes beta support for event-based container status updates. The feature is beta but is disabled by default because it requires support from the container runtime.Your Kubernetes server must be at or later than version 1.26.To check the version, enter kubectl version.If you are running a different version of Kubernetes, check the documentation for that release.The container runtime in use must support container lifecycle events. The kubelet automatically switches back to the legacy generic PLEG mechanism if the container runtime does not announce support for container lifecycle events, even if you have this feature gate enabled.Why switch to Evented PLEG?The Generic PLEG incurs non-negligible overhead due to frequent polling of container statuses.This overhead is exacerbated by Kubelet's parallelized polling of container states, thus limiting its scalability and causing poor performance and reliability problems.The goal of Evented PLEG is to reduce unnecessary work during inactivity by replacing periodic polling.Switching to Evented PLEGStart the Kubelet with the feature gate EventedPLEG enabled. You can manage the kubelet feature gates editing the kubelet config file and restarting the kubelet service. You need to do this on each node where you are using this feature.Make sure the node is drained before proceeding.Start the container runtime with the container event generation enabled.Version 1.7+Version 1.26+Check if the CRI-O is already configured to emit CRI events by verifying the configuration,crio config | grep enable_pod_events If it is enabled, the output should be similar to the following:enable_pod_events = true To enable it, start the CRI-O daemon with the flag --enable-pod-events=true or use a dropin config with the following lines:[crio.runtime] enable_pod_events: true Your Kubernetes server must be at or later than version 1.26.To check the version, enter kubectl version.Verify that the kubelet is using event-based container stage change monitoring. To check, look for the term EventedPLEG in the kubelet logs.The output should be similar to this:I0314 11:10:13.909915 1105457 feature_gate.go:249] feature gates: &{map[EventedPLEG:true]} If you have set --v to 4 and above, you might see more entries that indicate that the kubelet is using event-based containe


Question: What are the benefits of Switching from Polling to CRI Event-based Updates to Container Status?

Answer: Switching from Polling to CRI Event-based Updates to Container StatusFEATURE STATE: Kubernetes v1.26 [alpha] (enabled by default: false)This page shows how to migrate nodes to use event based updates for container status. The event-based implementation reduces node resource consumption by the kubelet, compared to the legacy approach that relies on polling. You may know this feature as evented Pod lifecycle event generator (PLEG). That's the name used internally within the Kubernetes project for a key implementation detail.The polling based approach is referred to as generic PLEG.Before you beginYou need to run a version of Kubernetes that provides this feature. Kubernetes v1.27 includes beta support for event-based container status updates. The feature is beta but is disabled by default because it requires support from the container runtime.Your Kubernetes server must be at or later than version 1.26.To check the version, enter kubectl version.If you are running a different version of Kubernetes, check the documentation for that release.The container runtime in use must support container lifecycle events. The kubelet automatically switches back to the legacy generic PLEG mechanism if the container runtime does not announce support for container lifecycle events, even if you have this feature gate enabled.Why switch to Evented PLEG?The Generic PLEG incurs non-negligible overhead due to frequent polling of container statuses.This overhead is exacerbated by Kubelet's parallelized polling of container states, thus limiting its scalability and causing poor performance and reliability problems.The goal of Evented PLEG is to reduce unnecessary work during inactivity by replacing periodic polling.Switching to Evented PLEGStart the Kubelet with the feature gate EventedPLEG enabled. You can manage the kubelet feature gates editing the kubelet config file and restarting the kubelet service. You need to do this on each node where you are using this feature.Make sure the node is drained before proceeding.Start the container runtime with the container event generation enabled.Version 1.7+Version 1.26+Check if the CRI-O is already configured to emit CRI events by verifying the configuration,crio config | grep enable_pod_events If it is enabled, the output should be similar to the following:enable_pod_events = true To enable it, start the CRI-O daemon with the flag --enable-pod-events=true or use a dropin config with the following lines:[crio.runtime] enable_pod_events: true Your Kubernetes server must be at or later than version 1.26.To check the version, enter kubectl version.Verify that the kubelet is using event-based container stage change monitoring. To check, look for the term EventedPLEG in the kubelet logs.The output should be similar to this:I0314 11:10:13.909915 1105457 feature_gate.go:249] feature gates: &{map[EventedPLEG:true]} If you have set --v to 4 and above, you might see more entries that indicate that the kubelet is using event-based containe


Question: What is Switching from Polling to CRI Event-based Updates to Container Status?

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


Question: What is Before you begin?

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


Question: What is Why switch to Evented PLEG??

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


Question: What is Switching to Evented PLEG?

Answer: S t a r t   t h e   K u b e l e t   w i t h   t h e   f e a t u r e   g a t e   E v e n t e d P L E G   e n a b l e d .   Y o u   c a n   m a n a g e   t h e   k u b e l e t   f e a t u r e   g a t e s   e d i t i n g   t h e   k u b e l e t   c o n f i g   f i l e   a n d   r e s t a r t i n g   t h e   k u b e l e t   s e r v i c e .   Y o u   n e e d   t o   d o   t h i s   o n   e a c h   n o d e   w h e r e   y o u   a r e   u s i n g   t h i s   f e a t u r e . M a k e   s u r e   t h e   n o d e   i s   d r a i n e d   b e f o r e   p r o c e e d i n g . S t a r t   t h e   c o n t a i n e r   r u n t i m e   w i t h   t h e   c o n t a i n e r   e v e n t   g e n e r a t i o n   e n a b l e d . V e r s i o n   1 . 7 + V e r s i o n   1 . 2 6 + C h e c k   i f   t h e   C R I - O   i s   a l r e a d y   c o n f i g u r e d   t o   e m i t   C R I   e v e n t s   b y   v e r i f y i n g   t h e   c o n f i g u r a t i o n , c r i o   c o n f i g   |   g r e p   e n a b l e _ p o d _ e v e n t s   I f   i t   i s   e n a b l e d ,   t h e   o u t p u t   s h o u l d   b e   s i m i l a r   t o   t h e   f o l l o w i n g : e n a b l e _ p o d _ e v e n t s   =   t r u e   T o   e n a b l e   i t ,   s t a r t   t h e   C R I - O   d a e m o n   w i t h   t h e   f l a g   - - e n a b l e - p o d - e v e n t s = t r u e   o r   u s e   a   d r o p i n   c o n f i g   w i t h   t h e   f o l l o w i n g   l i n e s : [ c r i o . r u n t i m e ]   e n a b l e _ p o d _ e v e n t s :   t r u e   Y o u r   K u b e r n e t e s   s e r v e r   m u s t   b e   a t   o r   l a t e r   t h a n   v e r s i o n   1 . 2 6 . T o   c h e c k   t h e   v e r s i o n ,   e n t e r   k u b e c t l   v e r s i o n . V e r i f y   t h a t   t h e   k u b e l e t   i s   u s i n g   e v e n t - b a s e d   c o n t a i n e r   s t a g e   c h a n g e   m o n i t o r i n g .   T o   c h e c k ,   l o o k   f o r   t h e   t e r m   E v e n t e d P L E G   i n   t h e   k u b e l e t


Question: What is What's next?

Answer: L e a r n   m o r e   a b o u t   t h e   d e s i g n   i n   t h e   K u b e r n e t e s   E n h a n c e m e n t   P r o p o s a l   ( K E P ) :   K u b e l e t   E v e n t e d   P L E G   f o r   B e t t e r   P e r f o r m a n c e .


Question: What is Contributing new content?

Answer: Contributing new contentThis section contains information you should know before contributing new content.There are also dedicated pages about submitting case studies and blog articles.New content task flowflowchart LR subgraph second[Before you begin] direction TB S[ ] -.- A[Sign the CNCF CLA] --> B[Choose Git branch] B --> C[One language per PR] C --> F[Check outcontributor tools] end subgraph first[Contributing Basics] direction TB T[ ] -.- D[Write docs in markdownand build site with Hugo] --- E[source in GitHub] E --- G['/content/../docs' folder contains docsfor multiple languages] G --- H[Review Hugo page contenttypes and shortcodes] end first ----> second classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000 class A,B,C,D,E,F,G,H grey class S,T spacewhite class first,second whiteJavaScript must be enabled to view this contentFigure - Contributing new content preparationThe figure above depicts the information you should know prior to submitting new content. The information details follow.Contributing basicsWrite Kubernetes documentation in Markdown and build the Kubernetes site using Hugo.Kubernetes documentation uses CommonMark as its flavor of Markdown.The source is in GitHub. You can find Kubernetes documentation at /content/en/docs/. Some of the reference documentation is automatically generated from scripts in the update-imported-docs/ directory.Page content types describe the presentation of documentation content in Hugo.You can use Docsy shortcodes or custom Hugo shortcodes to contribute to Kubernetes documentation.In addition to the standard Hugo shortcodes, we use a number of custom Hugo shortcodes in our documentation to control the presentation of content.Documentation source is available in multiple languages in /content/. Each language has its own folder with a two-letter code determined by the ISO 639-1 standard . For example, English documentation source is stored in /content/en/docs/.For more information about contributing to documentation in multiple languages or starting a new translation, see localization.Before you beginSign the CNCF CLAAll Kubernetes contributors must read the Contributor guide and sign the Contributor License Agreement (CLA) .Pull requests from contributors who haven't signed the CLA fail the automated tests. The name and email you provide must match those found in your git config, and your git name and email must match those used for the CNCF CLA.Choose which Git branch to useWhen opening a pull request, you need to know in advance which branch to base your work on.ScenarioBranchExisting or new English language content for the current releasemainContent for a feature change releaseThe branch which corresponds to the major and minor version the feature change is in, using the pattern dev-<version>. For example, if


Question: How does Contributing new content work?

Answer: Contributing new contentThis section contains information you should know before contributing new content.There are also dedicated pages about submitting case studies and blog articles.New content task flowflowchart LR subgraph second[Before you begin] direction TB S[ ] -.- A[Sign the CNCF CLA] --> B[Choose Git branch] B --> C[One language per PR] C --> F[Check outcontributor tools] end subgraph first[Contributing Basics] direction TB T[ ] -.- D[Write docs in markdownand build site with Hugo] --- E[source in GitHub] E --- G['/content/../docs' folder contains docsfor multiple languages] G --- H[Review Hugo page contenttypes and shortcodes] end first ----> second classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000 class A,B,C,D,E,F,G,H grey class S,T spacewhite class first,second whiteJavaScript must be enabled to view this contentFigure - Contributing new content preparationThe figure above depicts the information you should know prior to submitting new content. The information details follow.Contributing basicsWrite Kubernetes documentation in Markdown and build the Kubernetes site using Hugo.Kubernetes documentation uses CommonMark as its flavor of Markdown.The source is in GitHub. You can find Kubernetes documentation at /content/en/docs/. Some of the reference documentation is automatically generated from scripts in the update-imported-docs/ directory.Page content types describe the presentation of documentation content in Hugo.You can use Docsy shortcodes or custom Hugo shortcodes to contribute to Kubernetes documentation.In addition to the standard Hugo shortcodes, we use a number of custom Hugo shortcodes in our documentation to control the presentation of content.Documentation source is available in multiple languages in /content/. Each language has its own folder with a two-letter code determined by the ISO 639-1 standard . For example, English documentation source is stored in /content/en/docs/.For more information about contributing to documentation in multiple languages or starting a new translation, see localization.Before you beginSign the CNCF CLAAll Kubernetes contributors must read the Contributor guide and sign the Contributor License Agreement (CLA) .Pull requests from contributors who haven't signed the CLA fail the automated tests. The name and email you provide must match those found in your git config, and your git name and email must match those used for the CNCF CLA.Choose which Git branch to useWhen opening a pull request, you need to know in advance which branch to base your work on.ScenarioBranchExisting or new English language content for the current releasemainContent for a feature change releaseThe branch which corresponds to the major and minor version the feature change is in, using the pattern dev-<version>. For example, if


Question: When would you use Contributing new content?

Answer: Contributing new contentThis section contains information you should know before contributing new content.There are also dedicated pages about submitting case studies and blog articles.New content task flowflowchart LR subgraph second[Before you begin] direction TB S[ ] -.- A[Sign the CNCF CLA] --> B[Choose Git branch] B --> C[One language per PR] C --> F[Check outcontributor tools] end subgraph first[Contributing Basics] direction TB T[ ] -.- D[Write docs in markdownand build site with Hugo] --- E[source in GitHub] E --- G['/content/../docs' folder contains docsfor multiple languages] G --- H[Review Hugo page contenttypes and shortcodes] end first ----> second classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000 class A,B,C,D,E,F,G,H grey class S,T spacewhite class first,second whiteJavaScript must be enabled to view this contentFigure - Contributing new content preparationThe figure above depicts the information you should know prior to submitting new content. The information details follow.Contributing basicsWrite Kubernetes documentation in Markdown and build the Kubernetes site using Hugo.Kubernetes documentation uses CommonMark as its flavor of Markdown.The source is in GitHub. You can find Kubernetes documentation at /content/en/docs/. Some of the reference documentation is automatically generated from scripts in the update-imported-docs/ directory.Page content types describe the presentation of documentation content in Hugo.You can use Docsy shortcodes or custom Hugo shortcodes to contribute to Kubernetes documentation.In addition to the standard Hugo shortcodes, we use a number of custom Hugo shortcodes in our documentation to control the presentation of content.Documentation source is available in multiple languages in /content/. Each language has its own folder with a two-letter code determined by the ISO 639-1 standard . For example, English documentation source is stored in /content/en/docs/.For more information about contributing to documentation in multiple languages or starting a new translation, see localization.Before you beginSign the CNCF CLAAll Kubernetes contributors must read the Contributor guide and sign the Contributor License Agreement (CLA) .Pull requests from contributors who haven't signed the CLA fail the automated tests. The name and email you provide must match those found in your git config, and your git name and email must match those used for the CNCF CLA.Choose which Git branch to useWhen opening a pull request, you need to know in advance which branch to base your work on.ScenarioBranchExisting or new English language content for the current releasemainContent for a feature change releaseThe branch which corresponds to the major and minor version the feature change is in, using the pattern dev-<version>. For example, if


Question: What are the benefits of Contributing new content?

Answer: Contributing new contentThis section contains information you should know before contributing new content.There are also dedicated pages about submitting case studies and blog articles.New content task flowflowchart LR subgraph second[Before you begin] direction TB S[ ] -.- A[Sign the CNCF CLA] --> B[Choose Git branch] B --> C[One language per PR] C --> F[Check outcontributor tools] end subgraph first[Contributing Basics] direction TB T[ ] -.- D[Write docs in markdownand build site with Hugo] --- E[source in GitHub] E --- G['/content/../docs' folder contains docsfor multiple languages] G --- H[Review Hugo page contenttypes and shortcodes] end first ----> second classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000 class A,B,C,D,E,F,G,H grey class S,T spacewhite class first,second whiteJavaScript must be enabled to view this contentFigure - Contributing new content preparationThe figure above depicts the information you should know prior to submitting new content. The information details follow.Contributing basicsWrite Kubernetes documentation in Markdown and build the Kubernetes site using Hugo.Kubernetes documentation uses CommonMark as its flavor of Markdown.The source is in GitHub. You can find Kubernetes documentation at /content/en/docs/. Some of the reference documentation is automatically generated from scripts in the update-imported-docs/ directory.Page content types describe the presentation of documentation content in Hugo.You can use Docsy shortcodes or custom Hugo shortcodes to contribute to Kubernetes documentation.In addition to the standard Hugo shortcodes, we use a number of custom Hugo shortcodes in our documentation to control the presentation of content.Documentation source is available in multiple languages in /content/. Each language has its own folder with a two-letter code determined by the ISO 639-1 standard . For example, English documentation source is stored in /content/en/docs/.For more information about contributing to documentation in multiple languages or starting a new translation, see localization.Before you beginSign the CNCF CLAAll Kubernetes contributors must read the Contributor guide and sign the Contributor License Agreement (CLA) .Pull requests from contributors who haven't signed the CLA fail the automated tests. The name and email you provide must match those found in your git config, and your git name and email must match those used for the CNCF CLA.Choose which Git branch to useWhen opening a pull request, you need to know in advance which branch to base your work on.ScenarioBranchExisting or new English language content for the current releasemainContent for a feature change releaseThe branch which corresponds to the major and minor version the feature change is in, using the pattern dev-<version>. For example, if


Question: What is Contributing new content?

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


Question: What is New content task flow?

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


Question: What is Contributing basics?

Answer: W r i t e   K u b e r n e t e s   d o c u m e n t a t i o n   i n   M a r k d o w n   a n d   b u i l d   t h e   K u b e r n e t e s   s i t e   u s i n g   H u g o . K u b e r n e t e s   d o c u m e n t a t i o n   u s e s   C o m m o n M a r k   a s   i t s   f l a v o r   o f   M a r k d o w n . T h e   s o u r c e   i s   i n   G i t H u b .   Y o u   c a n   f i n d   K u b e r n e t e s   d o c u m e n t a t i o n   a t   / c o n t e n t / e n / d o c s / .   S o m e   o f   t h e   r e f e r e n c e   d o c u m e n t a t i o n   i s   a u t o m a t i c a l l y   g e n e r a t e d   f r o m   s c r i p t s   i n   t h e   u p d a t e - i m p o r t e d - d o c s /   d i r e c t o r y . P a g e   c o n t e n t   t y p e s   d e s c r i b e   t h e   p r e s e n t a t i o n   o f   d o c u m e n t a t i o n   c o n t e n t   i n   H u g o . Y o u   c a n   u s e   D o c s y   s h o r t c o d e s   o r   c u s t o m   H u g o   s h o r t c o d e s   t o   c o n t r i b u t e   t o   K u b e r n e t e s   d o c u m e n t a t i o n . I n   a d d i t i o n   t o   t h e   s t a n d a r d   H u g o   s h o r t c o d e s ,   w e   u s e   a   n u m b e r   o f   c u s t o m   H u g o   s h o r t c o d e s   i n   o u r   d o c u m e n t a t i o n   t o   c o n t r o l   t h e   p r e s e n t a t i o n   o f   c o n t e n t . D o c u m e n t a t i o n   s o u r c e   i s   a v a i l a b l e   i n   m u l t i p l e   l a n g u a g e s   i n   / c o n t e n t / .   E a c h   l a n g u a g e   h a s   i t s   o w n   f o l d e r   w i t h   a   t w o - l e t t e r   c o d e   d e t e r m i n e d   b y   t h e   I S O   6 3 9 - 1   s t a n d a r d   .   F o r   e x a m p l e ,   E n g l i s h   d o c u m e n t a t i o n   s o u r c e   i s   s t o r e d   i n   / c o n t e n t / e n / d o c s / . F o r   m o r e   i n f o r m a t i o n   a b o u t   c o n t r i b u t i n g   t o   d o c u m e n t a t i o n   i n   m u l t i p l e   l a n g u a g e s   o r   s t a r t i n


Question: What is Sign the CNCF CLA?

Answer: A l l   K u b e r n e t e s   c o n t r i b u t o r s   m u s t   r e a d   t h e   C o n t r i b u t o r   g u i d e   a n d   s i g n   t h e   C o n t r i b u t o r   L i c e n s e   A g r e e m e n t   ( C L A )   .   P u l l   r e q u e s t s   f r o m   c o n t r i b u t o r s   w h o   h a v e n ' t   s i g n e d   t h e   C L A   f a i l   t h e   a u t o m a t e d   t e s t s .   T h e   n a m e   a n d   e m a i l   y o u   p r o v i d e   m u s t   m a t c h   t h o s e   f o u n d   i n   y o u r   g i t   c o n f i g ,   a n d   y o u r   g i t   n a m e   a n d   e m a i l   m u s t   m a t c h   t h o s e   u s e d   f o r   t h e   C N C F   C L A .


Question: What is Choose which Git branch to use?

Answer: W h e n   o p e n i n g   a   p u l l   r e q u e s t ,   y o u   n e e d   t o   k n o w   i n   a d v a n c e   w h i c h   b r a n c h   t o   b a s e   y o u r   w o r k   o n .   I f   y o u ' r e   s t i l l   n o t   s u r e   w h i c h   b r a n c h   t o   c h o o s e ,   a s k   i n   # s i g - d o c s   o n   S l a c k .


Question: What is Languages per PR?

Answer: L i m i t   p u l l   r e q u e s t s   t o   o n e   l a n g u a g e   p e r   P R .   I f   y o u   n e e d   t o   m a k e   a n   i d e n t i c a l   c h a n g e   t o   t h e   s a m e   c o d e   s a m p l e   i n   m u l t i p l e   l a n g u a g e s ,   o p e n   a   s e p a r a t e   P R   f o r   e a c h   l a n g u a g e .


Question: What is Tools for contributors?

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


Question: What is What's next?

Answer: R e a d   a b o u t   s u b m i t t i n g   b l o g   a r t i c l e s .   O p e n i n g   a   p u l l   r e q u e s t D o c u m e n t i n g   a   f e a t u r e   f o r   a   r e l e a s e S u b m i t t i n g   c a s e   s t u d i e s


Question: What is Contribute to Kubernetes Documentation?

Answer: Contribute to Kubernetes DocumentationThis website is maintained by Kubernetes SIG Docs. The Kubernetes project welcomes help from all contributors, new or experienced!Kubernetes documentation contributors:Improve existing contentCreate new contentTranslate the documentationManage and publish the documentation parts of the Kubernetes release cycleThe blog team, part of SIG Docs, helps manage the official blogs. Read contributing to Kubernetes blogs to learn more.Note:To learn more about contributing to Kubernetes in general, see the general contributor documentation site.Getting startedAnyone can open an issue about documentation, or contribute a change with a pull request (PR) to the kubernetes/website GitHub repository. You need to be comfortable with git and GitHub to work effectively in the Kubernetes community.To get involved with documentation:Sign the CNCF Contributor License Agreement.Familiarize yourself with the documentation repository and the website's static site generator.Make sure you understand the basic processes for opening a pull request and reviewing changes.flowchart TB subgraph third[Open PR] direction TB U[ ] -.- Q[Improve content] --- N[Create content] N --- O[Translate docs] O --- P[Manage/publish docs partsof K8s release cycle] end subgraph second[Review] direction TB T[ ] -.- D[Look over thekubernetes/websiterepository] --- E[Check out theHugo static sitegenerator] E --- F[Understand basicGitHub commands] F --- G[Review open PRand change reviewprocesses] end subgraph first[Sign up] direction TB S[ ] -.- B[Sign the CNCFContributorLicense Agreement] --- C[Join sig-docsSlack channel] C --- V[Join kubernetes-sig-docsmailing list] V --- M[Attend weeklysig-docs callsor slack meetings] end A([fa:fa-user NewContributor]) --> first A --> second A --> third A --> H[Ask Questions!!!] classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000 class A,B,C,D,E,F,G,H,M,Q,N,O,P,V grey class S,T,U spacewhite class first,second,third whiteJavaScript must be enabled to view this contentFigure 1. Getting started for a new contributor.Figure 1 outlines a roadmap for new contributors. You can follow some or all of the steps for Sign up and Review. Now you are ready to open PRs that achieve your contribution objectives with some listed under Open PR. Again, questions are always welcome!Some tasks require more trust and more access in the Kubernetes organization. See Participating in SIG Docs for more details about roles and permissions.Your first contributionYou can prepare for your first contribution by reviewing several steps beforehand. Figure 2 outlines the steps and the details follow.flowchart LR subgraph second[First Contribution] direction TB S[ ] -.- G[Review PRs from otherK8s members] --> A[Check kubernetes/websiteissues list forgood first PRs] -->


Question: How does Contribute to Kubernetes Documentation work?

Answer: Contribute to Kubernetes DocumentationThis website is maintained by Kubernetes SIG Docs. The Kubernetes project welcomes help from all contributors, new or experienced!Kubernetes documentation contributors:Improve existing contentCreate new contentTranslate the documentationManage and publish the documentation parts of the Kubernetes release cycleThe blog team, part of SIG Docs, helps manage the official blogs. Read contributing to Kubernetes blogs to learn more.Note:To learn more about contributing to Kubernetes in general, see the general contributor documentation site.Getting startedAnyone can open an issue about documentation, or contribute a change with a pull request (PR) to the kubernetes/website GitHub repository. You need to be comfortable with git and GitHub to work effectively in the Kubernetes community.To get involved with documentation:Sign the CNCF Contributor License Agreement.Familiarize yourself with the documentation repository and the website's static site generator.Make sure you understand the basic processes for opening a pull request and reviewing changes.flowchart TB subgraph third[Open PR] direction TB U[ ] -.- Q[Improve content] --- N[Create content] N --- O[Translate docs] O --- P[Manage/publish docs partsof K8s release cycle] end subgraph second[Review] direction TB T[ ] -.- D[Look over thekubernetes/websiterepository] --- E[Check out theHugo static sitegenerator] E --- F[Understand basicGitHub commands] F --- G[Review open PRand change reviewprocesses] end subgraph first[Sign up] direction TB S[ ] -.- B[Sign the CNCFContributorLicense Agreement] --- C[Join sig-docsSlack channel] C --- V[Join kubernetes-sig-docsmailing list] V --- M[Attend weeklysig-docs callsor slack meetings] end A([fa:fa-user NewContributor]) --> first A --> second A --> third A --> H[Ask Questions!!!] classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000 class A,B,C,D,E,F,G,H,M,Q,N,O,P,V grey class S,T,U spacewhite class first,second,third whiteJavaScript must be enabled to view this contentFigure 1. Getting started for a new contributor.Figure 1 outlines a roadmap for new contributors. You can follow some or all of the steps for Sign up and Review. Now you are ready to open PRs that achieve your contribution objectives with some listed under Open PR. Again, questions are always welcome!Some tasks require more trust and more access in the Kubernetes organization. See Participating in SIG Docs for more details about roles and permissions.Your first contributionYou can prepare for your first contribution by reviewing several steps beforehand. Figure 2 outlines the steps and the details follow.flowchart LR subgraph second[First Contribution] direction TB S[ ] -.- G[Review PRs from otherK8s members] --> A[Check kubernetes/websiteissues list forgood first PRs] -->


Question: When would you use Contribute to Kubernetes Documentation?

Answer: Contribute to Kubernetes DocumentationThis website is maintained by Kubernetes SIG Docs. The Kubernetes project welcomes help from all contributors, new or experienced!Kubernetes documentation contributors:Improve existing contentCreate new contentTranslate the documentationManage and publish the documentation parts of the Kubernetes release cycleThe blog team, part of SIG Docs, helps manage the official blogs. Read contributing to Kubernetes blogs to learn more.Note:To learn more about contributing to Kubernetes in general, see the general contributor documentation site.Getting startedAnyone can open an issue about documentation, or contribute a change with a pull request (PR) to the kubernetes/website GitHub repository. You need to be comfortable with git and GitHub to work effectively in the Kubernetes community.To get involved with documentation:Sign the CNCF Contributor License Agreement.Familiarize yourself with the documentation repository and the website's static site generator.Make sure you understand the basic processes for opening a pull request and reviewing changes.flowchart TB subgraph third[Open PR] direction TB U[ ] -.- Q[Improve content] --- N[Create content] N --- O[Translate docs] O --- P[Manage/publish docs partsof K8s release cycle] end subgraph second[Review] direction TB T[ ] -.- D[Look over thekubernetes/websiterepository] --- E[Check out theHugo static sitegenerator] E --- F[Understand basicGitHub commands] F --- G[Review open PRand change reviewprocesses] end subgraph first[Sign up] direction TB S[ ] -.- B[Sign the CNCFContributorLicense Agreement] --- C[Join sig-docsSlack channel] C --- V[Join kubernetes-sig-docsmailing list] V --- M[Attend weeklysig-docs callsor slack meetings] end A([fa:fa-user NewContributor]) --> first A --> second A --> third A --> H[Ask Questions!!!] classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000 class A,B,C,D,E,F,G,H,M,Q,N,O,P,V grey class S,T,U spacewhite class first,second,third whiteJavaScript must be enabled to view this contentFigure 1. Getting started for a new contributor.Figure 1 outlines a roadmap for new contributors. You can follow some or all of the steps for Sign up and Review. Now you are ready to open PRs that achieve your contribution objectives with some listed under Open PR. Again, questions are always welcome!Some tasks require more trust and more access in the Kubernetes organization. See Participating in SIG Docs for more details about roles and permissions.Your first contributionYou can prepare for your first contribution by reviewing several steps beforehand. Figure 2 outlines the steps and the details follow.flowchart LR subgraph second[First Contribution] direction TB S[ ] -.- G[Review PRs from otherK8s members] --> A[Check kubernetes/websiteissues list forgood first PRs] -->


Question: What are the benefits of Contribute to Kubernetes Documentation?

Answer: Contribute to Kubernetes DocumentationThis website is maintained by Kubernetes SIG Docs. The Kubernetes project welcomes help from all contributors, new or experienced!Kubernetes documentation contributors:Improve existing contentCreate new contentTranslate the documentationManage and publish the documentation parts of the Kubernetes release cycleThe blog team, part of SIG Docs, helps manage the official blogs. Read contributing to Kubernetes blogs to learn more.Note:To learn more about contributing to Kubernetes in general, see the general contributor documentation site.Getting startedAnyone can open an issue about documentation, or contribute a change with a pull request (PR) to the kubernetes/website GitHub repository. You need to be comfortable with git and GitHub to work effectively in the Kubernetes community.To get involved with documentation:Sign the CNCF Contributor License Agreement.Familiarize yourself with the documentation repository and the website's static site generator.Make sure you understand the basic processes for opening a pull request and reviewing changes.flowchart TB subgraph third[Open PR] direction TB U[ ] -.- Q[Improve content] --- N[Create content] N --- O[Translate docs] O --- P[Manage/publish docs partsof K8s release cycle] end subgraph second[Review] direction TB T[ ] -.- D[Look over thekubernetes/websiterepository] --- E[Check out theHugo static sitegenerator] E --- F[Understand basicGitHub commands] F --- G[Review open PRand change reviewprocesses] end subgraph first[Sign up] direction TB S[ ] -.- B[Sign the CNCFContributorLicense Agreement] --- C[Join sig-docsSlack channel] C --- V[Join kubernetes-sig-docsmailing list] V --- M[Attend weeklysig-docs callsor slack meetings] end A([fa:fa-user NewContributor]) --> first A --> second A --> third A --> H[Ask Questions!!!] classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000 class A,B,C,D,E,F,G,H,M,Q,N,O,P,V grey class S,T,U spacewhite class first,second,third whiteJavaScript must be enabled to view this contentFigure 1. Getting started for a new contributor.Figure 1 outlines a roadmap for new contributors. You can follow some or all of the steps for Sign up and Review. Now you are ready to open PRs that achieve your contribution objectives with some listed under Open PR. Again, questions are always welcome!Some tasks require more trust and more access in the Kubernetes organization. See Participating in SIG Docs for more details about roles and permissions.Your first contributionYou can prepare for your first contribution by reviewing several steps beforehand. Figure 2 outlines the steps and the details follow.flowchart LR subgraph second[First Contribution] direction TB S[ ] -.- G[Review PRs from otherK8s members] --> A[Check kubernetes/websiteissues list forgood first PRs] -->


Question: What is Contribute to Kubernetes Documentation?

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


Question: What is Getting started?

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


Question: What is Your first contribution?

Answer: Y o u   c a n   p r e p a r e   f o r   y o u r   f i r s t   c o n t r i b u t i o n   b y   r e v i e w i n g   s e v e r a l   s t e p s   b e f o r e h a n d .   F i g u r e   2   o u t l i n e s   t h e   s t e p s   a n d   t h e   d e t a i l s   f o l l o w .   f l o w c h a r t   L R   s u b g r a p h   s e c o n d [ F i r s t   C o n t r i b u t i o n ]   d i r e c t i o n   T B   S [   ]   - . -   G [ R e v i e w   P R s   f r o m   o t h e r K 8 s   m e m b e r s ]   - - >   A [ C h e c k   k u b e r n e t e s / w e b s i t e i s s u e s   l i s t   f o r g o o d   f i r s t   P R s ]   - - >   B [ O p e n   a   P R ! ! ]   e n d   s u b g r a p h   f i r s t [ S u g g e s t e d   P r e p ]   d i r e c t i o n   T B   T [   ]   - . -   D [ R e a d   c o n t r i b u t i o n   o v e r v i e w ]   - - > E [ R e a d   K 8 s   c o n t e n t a n d   s t y l e   g u i d e s ]   E   - - >   F [ L e a r n   a b o u t   H u g o   p a g e c o n t e n t   t y p e s a n d   s h o r t c o d e s ]   e n d   f i r s t   - - - - >   s e c o n d   c l a s s D e f   g r e y   f i l l : # d d d d d d , s t r o k e : # f f f f f f , s t r o k e - w i d t h : p x , c o l o r : # 0 0 0 0 0 0 ,   f o n t - s i z e : 1 5 p x ;   c l a s s D e f   w h i t e   f i l l : # f f f f f f , s t r o k e : # 0 0 0 , s t r o k e - w i d t h : p x , c o l o r : # 0 0 0 , f o n t - w e i g h t : b o l d   c l a s s D e f   s p a c e w h i t e   f i l l : # f f f f f f , s t r o k e : # f f f , s t r o k e - w i d t h : 0 p x , c o l o r : # 0 0 0   c l a s s   A , B , D , E , F , G   g r e y   c l a s s   S , T   s p a c e w h i t e   c l a s s   f i r s t , s e c o n d   w h i t e J a v a S c r i p t   m u s t   b e   e n a b l e d   t o   v i e w   t h i s   c o n t e n t F i g u r e   2 .   P r e p a r a t i o n   f o r   y o u r   f i r s t   c o n t r i b u t i o n .   R e a d   t h e   C o n t r i b u t i o n   o v e r v i e w   t o   l e a r n   a b o u t   t h e   d i f f e r e n t


Question: What is Getting help when contributing?

Answer: M a k i n g   y o u r   f i r s t   c o n t r i b u t i o n   c a n   b e   o v e r w h e l m i n g .   T h e   N e w   C o n t r i b u t o r   A m b a s s a d o r s   a r e   t h e r e   t o   w a l k   y o u   t h r o u g h   m a k i n g   y o u r   f i r s t   f e w   c o n t r i b u t i o n s .   Y o u   c a n   r e a c h   o u t   t o   t h e m   i n   t h e   K u b e r n e t e s   S l a c k   p r e f e r a b l y   i n   t h e   # s i g - d o c s   c h a n n e l .   T h e r e   i s   a l s o   t h e   N e w   C o n t r i b u t o r s   M e e t   a n d   G r e e t   c a l l   t h a t   h a p p e n s   o n   t h e   f i r s t   T u e s d a y   o f   e v e r y   m o n t h .   Y o u   c a n   i n t e r a c t   w i t h   t h e   N e w   C o n t r i b u t o r   A m b a s s a d o r s   a n d   g e t   y o u r   q u e r i e s   r e s o l v e d   h e r e .


Question: What is Next steps?

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


Question: What is Get involved with SIG Docs?

Answer: S I G   D o c s   i s   t h e   g r o u p   o f   c o n t r i b u t o r s   w h o   p u b l i s h   a n d   m a i n t a i n   K u b e r n e t e s   d o c u m e n t a t i o n   a n d   t h e   w e b s i t e .   G e t t i n g   i n v o l v e d   w i t h   S I G   D o c s   i s   a   g r e a t   w a y   f o r   K u b e r n e t e s   c o n t r i b u t o r s   ( f e a t u r e   d e v e l o p m e n t   o r   o t h e r w i s e )   t o   h a v e   a   l a r g e   i m p a c t   o n   t h e   K u b e r n e t e s   p r o j e c t .   S I G   D o c s   c o m m u n i c a t e s   w i t h   d i f f e r e n t   m e t h o d s :   J o i n   # s i g - d o c s   o n   t h e   K u b e r n e t e s   S l a c k   i n s t a n c e .   M a k e   s u r e   t o   i n t r o d u c e   y o u r s e l f ! J o i n   t h e   k u b e r n e t e s - s i g - d o c s   m a i l i n g   l i s t ,   w h e r e   b r o a d e r   d i s c u s s i o n s   t a k e   p l a c e   a n d   o f f i c i a l   d e c i s i o n s   a r e   r e c o r d e d . J o i n   t h e   S I G   D o c s   v i d e o   m e e t i n g   h e l d   e v e r y   t w o   w e e k s .   M e e t i n g s   a r e   a l w a y s   a n n o u n c e d   o n   # s i g - d o c s   a n d   a d d e d   t o   t h e   K u b e r n e t e s   c o m m u n i t y   m e e t i n g s   c a l e n d a r .   Y o u ' l l   n e e d   t o   d o w n l o a d   t h e   Z o o m   c l i e n t   o r   d i a l   i n   u s i n g   a   p h o n e . J o i n   t h e   S I G   D o c s   a s y n c   S l a c k   s t a n d u p   m e e t i n g   o n   t h o s e   w e e k s   w h e n   t h e   i n - p e r s o n   Z o o m   v i d e o   m e e t i n g   d o e s   n o t   t a k e   p l a c e .   M e e t i n g s   a r e   a l w a y s   a n n o u n c e d   o n   # s i g - d o c s .   Y o u   c a n   c o n t r i b u t e   t o   a n y   o n e   o f   t h e   t h r e a d s   u p   t o   2 4   h o u r s   a f t e r   m e e t i n g   a n n o u n c e m e n t .


Question: What is Other ways to contribute?

Answer: V i s i t   t h e   K u b e r n e t e s   c o m m u n i t y   s i t e .   P a r t i c i p a t e   o n   T w i t t e r   o r   S t a c k   O v e r f l o w ,   l e a r n   a b o u t   l o c a l   K u b e r n e t e s   m e e t u p s   a n d   e v e n t s ,   a n d   m o r e . R e a d   t h e   c o n t r i b u t o r   c h e a t s h e e t   t o   g e t   i n v o l v e d   w i t h   K u b e r n e t e s   f e a t u r e   d e v e l o p m e n t . V i s i t   t h e   c o n t r i b u t o r   s i t e   t o   l e a r n   m o r e   a b o u t   K u b e r n e t e s   C o n t r i b u t o r s   a n d   a d d i t i o n a l   c o n t r i b u t o r   r e s o u r c e s . L e a r n   h o w   t o   c o n t r i b u t e   t o   t h e   o f f i c i a l   b l o g s S u b m i t   a   c a s e   s t u d y


Question: What is Communication between Nodes and the Control Plane?

Answer: Communication between Nodes and the Control PlaneThis document catalogs the communication paths between the API server and the Kubernetes cluster. The intent is to allow users to customize their installation to harden the network configuration such that the cluster can be run on an untrusted network (or on fully public IPs on a cloud provider).Node to Control PlaneKubernetes has a "hub-and-spoke" API pattern. All API usage from nodes (or the pods they run) terminates at the API server. None of the other control plane components are designed to expose remote services. The API server is configured to listen for remote connections on a secure HTTPS port (typically 443) with one or more forms of client authentication enabled. One or more forms of authorization should be enabled, especially if anonymous requests or service account tokens are allowed.Nodes should be provisioned with the public root certificate for the cluster such that they can connect securely to the API server along with valid client credentials. A good approach is that the client credentials provided to the kubelet are in the form of a client certificate. See kubelet TLS bootstrapping for automated provisioning of kubelet client certificates.Pods that wish to connect to the API server can do so securely by leveraging a service account so that Kubernetes will automatically inject the public root certificate and a valid bearer token into the pod when it is instantiated. The kubernetes service (in default namespace) is configured with a virtual IP address that is redirected (via kube-proxy) to the HTTPS endpoint on the API server.The control plane components also communicate with the API server over the secure port.As a result, the default operating mode for connections from the nodes and pod running on the nodes to the control plane is secured by default and can run over untrusted and/or public networks.Control plane to nodeThere are two primary communication paths from the control plane (the API server) to the nodes. The first is from the API server to the kubelet process which runs on each node in the cluster. The second is from the API server to any node, pod, or service through the API server's proxy functionality.API server to kubeletThe connections from the API server to the kubelet are used for:Fetching logs for pods.Attaching (usually through kubectl) to running pods.Providing the kubelet's port-forwarding functionality.These connections terminate at the kubelet's HTTPS endpoint. By default, the API server does not verify the kubelet's serving certificate, which makes the connection subject to man-in-the-middle attacks and unsafe to run over untrusted and/or public networks.To verify this connection, use the --kubelet-certificate-authority flag to provide the API server with a root certificate bundle to use to verify the kubelet's serving certificate.If that is not possible, use SSH tunneling between the API server and kubelet if required to avoid connecting over an untrusted


Question: How does Communication between Nodes and the Control Plane work?

Answer: Communication between Nodes and the Control PlaneThis document catalogs the communication paths between the API server and the Kubernetes cluster. The intent is to allow users to customize their installation to harden the network configuration such that the cluster can be run on an untrusted network (or on fully public IPs on a cloud provider).Node to Control PlaneKubernetes has a "hub-and-spoke" API pattern. All API usage from nodes (or the pods they run) terminates at the API server. None of the other control plane components are designed to expose remote services. The API server is configured to listen for remote connections on a secure HTTPS port (typically 443) with one or more forms of client authentication enabled. One or more forms of authorization should be enabled, especially if anonymous requests or service account tokens are allowed.Nodes should be provisioned with the public root certificate for the cluster such that they can connect securely to the API server along with valid client credentials. A good approach is that the client credentials provided to the kubelet are in the form of a client certificate. See kubelet TLS bootstrapping for automated provisioning of kubelet client certificates.Pods that wish to connect to the API server can do so securely by leveraging a service account so that Kubernetes will automatically inject the public root certificate and a valid bearer token into the pod when it is instantiated. The kubernetes service (in default namespace) is configured with a virtual IP address that is redirected (via kube-proxy) to the HTTPS endpoint on the API server.The control plane components also communicate with the API server over the secure port.As a result, the default operating mode for connections from the nodes and pod running on the nodes to the control plane is secured by default and can run over untrusted and/or public networks.Control plane to nodeThere are two primary communication paths from the control plane (the API server) to the nodes. The first is from the API server to the kubelet process which runs on each node in the cluster. The second is from the API server to any node, pod, or service through the API server's proxy functionality.API server to kubeletThe connections from the API server to the kubelet are used for:Fetching logs for pods.Attaching (usually through kubectl) to running pods.Providing the kubelet's port-forwarding functionality.These connections terminate at the kubelet's HTTPS endpoint. By default, the API server does not verify the kubelet's serving certificate, which makes the connection subject to man-in-the-middle attacks and unsafe to run over untrusted and/or public networks.To verify this connection, use the --kubelet-certificate-authority flag to provide the API server with a root certificate bundle to use to verify the kubelet's serving certificate.If that is not possible, use SSH tunneling between the API server and kubelet if required to avoid connecting over an untrusted