Question: What is kubectl apply?

Answer: kubectl applySynopsisApply a configuration to a resource by file name or stdin. The resource name must be specified. This resource will be created if it doesn't exist yet. To use 'apply', always create the resource initially with either 'apply' or 'create --save-config'.JSON and YAML formats are accepted.Alpha Disclaimer: the --prune functionality is not yet complete. Do not use unless you are aware of what the current state is. See https://issues.k8s.io/34274.kubectl apply (-f FILENAME | -k DIRECTORY) Examples # Apply the configuration in pod.json to a pod kubectl apply -f ./pod.json # Apply resources from a directory containing kustomization.yaml - e.g. dir/kustomization.yaml kubectl apply -k dir/ # Apply the JSON passed into stdin to a pod cat pod.json | kubectl apply -f - # Apply the configuration from all files that end with '.json' kubectl apply -f '*.json' # Note: --prune is still in Alpha # Apply the configuration in manifest.yaml that matches label app=nginx and delete all other resources that are not in the file and match label app=nginx kubectl apply --prune -f manifest.yaml -l app=nginx # Apply the configuration in manifest.yaml and delete all the other config maps that are not in the file kubectl apply --prune -f manifest.yaml --all --prune-allowlist=core/v1/ConfigMap 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.--cascade string[="background"] Default: "background"Must be "background", "orphan", or "foreground". Selects the deletion cascading strategy for the dependents (e.g. Pods created by a ReplicationController). Defaults to background.--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-client-side-apply"Name of the manager used to track field ownership.-f, --filename stringsThe files that contain the configurations to apply.--forceIf true, immediately remove resources from API and bypass graceful deletion. Note that immediate deletion of some resources may result in inconsistency or data loss and requires confirmation.--force-conflictsIf true, server-side apply will force the changes against conflicts.--grace-period int Default: -1Period of time in seconds given to the resource to terminate gracefully. Ignored if negative. Set to 1 for immediate shutdown. Can only be set to 0 when --force is true (force deletion).-h, --helphelp for apply-k, --kustomize stringProcess a kustomization directory. This flag can't be used together with -f or -R.--openapi-patch Default: trueIf true, use openapi to calculate diff when the openapi presents and the resource can be found in the openapi spec


Question: How does kubectl apply work?

Answer: kubectl applySynopsisApply a configuration to a resource by file name or stdin. The resource name must be specified. This resource will be created if it doesn't exist yet. To use 'apply', always create the resource initially with either 'apply' or 'create --save-config'.JSON and YAML formats are accepted.Alpha Disclaimer: the --prune functionality is not yet complete. Do not use unless you are aware of what the current state is. See https://issues.k8s.io/34274.kubectl apply (-f FILENAME | -k DIRECTORY) Examples # Apply the configuration in pod.json to a pod kubectl apply -f ./pod.json # Apply resources from a directory containing kustomization.yaml - e.g. dir/kustomization.yaml kubectl apply -k dir/ # Apply the JSON passed into stdin to a pod cat pod.json | kubectl apply -f - # Apply the configuration from all files that end with '.json' kubectl apply -f '*.json' # Note: --prune is still in Alpha # Apply the configuration in manifest.yaml that matches label app=nginx and delete all other resources that are not in the file and match label app=nginx kubectl apply --prune -f manifest.yaml -l app=nginx # Apply the configuration in manifest.yaml and delete all the other config maps that are not in the file kubectl apply --prune -f manifest.yaml --all --prune-allowlist=core/v1/ConfigMap 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.--cascade string[="background"] Default: "background"Must be "background", "orphan", or "foreground". Selects the deletion cascading strategy for the dependents (e.g. Pods created by a ReplicationController). Defaults to background.--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-client-side-apply"Name of the manager used to track field ownership.-f, --filename stringsThe files that contain the configurations to apply.--forceIf true, immediately remove resources from API and bypass graceful deletion. Note that immediate deletion of some resources may result in inconsistency or data loss and requires confirmation.--force-conflictsIf true, server-side apply will force the changes against conflicts.--grace-period int Default: -1Period of time in seconds given to the resource to terminate gracefully. Ignored if negative. Set to 1 for immediate shutdown. Can only be set to 0 when --force is true (force deletion).-h, --helphelp for apply-k, --kustomize stringProcess a kustomization directory. This flag can't be used together with -f or -R.--openapi-patch Default: trueIf true, use openapi to calculate diff when the openapi presents and the resource can be found in the openapi spec


Question: When would you use kubectl apply?

Answer: kubectl applySynopsisApply a configuration to a resource by file name or stdin. The resource name must be specified. This resource will be created if it doesn't exist yet. To use 'apply', always create the resource initially with either 'apply' or 'create --save-config'.JSON and YAML formats are accepted.Alpha Disclaimer: the --prune functionality is not yet complete. Do not use unless you are aware of what the current state is. See https://issues.k8s.io/34274.kubectl apply (-f FILENAME | -k DIRECTORY) Examples # Apply the configuration in pod.json to a pod kubectl apply -f ./pod.json # Apply resources from a directory containing kustomization.yaml - e.g. dir/kustomization.yaml kubectl apply -k dir/ # Apply the JSON passed into stdin to a pod cat pod.json | kubectl apply -f - # Apply the configuration from all files that end with '.json' kubectl apply -f '*.json' # Note: --prune is still in Alpha # Apply the configuration in manifest.yaml that matches label app=nginx and delete all other resources that are not in the file and match label app=nginx kubectl apply --prune -f manifest.yaml -l app=nginx # Apply the configuration in manifest.yaml and delete all the other config maps that are not in the file kubectl apply --prune -f manifest.yaml --all --prune-allowlist=core/v1/ConfigMap 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.--cascade string[="background"] Default: "background"Must be "background", "orphan", or "foreground". Selects the deletion cascading strategy for the dependents (e.g. Pods created by a ReplicationController). Defaults to background.--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-client-side-apply"Name of the manager used to track field ownership.-f, --filename stringsThe files that contain the configurations to apply.--forceIf true, immediately remove resources from API and bypass graceful deletion. Note that immediate deletion of some resources may result in inconsistency or data loss and requires confirmation.--force-conflictsIf true, server-side apply will force the changes against conflicts.--grace-period int Default: -1Period of time in seconds given to the resource to terminate gracefully. Ignored if negative. Set to 1 for immediate shutdown. Can only be set to 0 when --force is true (force deletion).-h, --helphelp for apply-k, --kustomize stringProcess a kustomization directory. This flag can't be used together with -f or -R.--openapi-patch Default: trueIf true, use openapi to calculate diff when the openapi presents and the resource can be found in the openapi spec


Question: What are the benefits of kubectl apply?

Answer: kubectl applySynopsisApply a configuration to a resource by file name or stdin. The resource name must be specified. This resource will be created if it doesn't exist yet. To use 'apply', always create the resource initially with either 'apply' or 'create --save-config'.JSON and YAML formats are accepted.Alpha Disclaimer: the --prune functionality is not yet complete. Do not use unless you are aware of what the current state is. See https://issues.k8s.io/34274.kubectl apply (-f FILENAME | -k DIRECTORY) Examples # Apply the configuration in pod.json to a pod kubectl apply -f ./pod.json # Apply resources from a directory containing kustomization.yaml - e.g. dir/kustomization.yaml kubectl apply -k dir/ # Apply the JSON passed into stdin to a pod cat pod.json | kubectl apply -f - # Apply the configuration from all files that end with '.json' kubectl apply -f '*.json' # Note: --prune is still in Alpha # Apply the configuration in manifest.yaml that matches label app=nginx and delete all other resources that are not in the file and match label app=nginx kubectl apply --prune -f manifest.yaml -l app=nginx # Apply the configuration in manifest.yaml and delete all the other config maps that are not in the file kubectl apply --prune -f manifest.yaml --all --prune-allowlist=core/v1/ConfigMap 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.--cascade string[="background"] Default: "background"Must be "background", "orphan", or "foreground". Selects the deletion cascading strategy for the dependents (e.g. Pods created by a ReplicationController). Defaults to background.--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-client-side-apply"Name of the manager used to track field ownership.-f, --filename stringsThe files that contain the configurations to apply.--forceIf true, immediately remove resources from API and bypass graceful deletion. Note that immediate deletion of some resources may result in inconsistency or data loss and requires confirmation.--force-conflictsIf true, server-side apply will force the changes against conflicts.--grace-period int Default: -1Period of time in seconds given to the resource to terminate gracefully. Ignored if negative. Set to 1 for immediate shutdown. Can only be set to 0 when --force is true (force deletion).-h, --helphelp for apply-k, --kustomize stringProcess a kustomization directory. This flag can't be used together with -f or -R.--openapi-patch Default: trueIf true, use openapi to calculate diff when the openapi presents and the resource can be found in the openapi spec


Question: What is Synopsis?

Answer: A p p l y   a   c o n f i g u r a t i o n   t o   a   r e s o u r c e   b y   f i l e   n a m e   o r   s t d i n .   T h e   r e s o u r c e   n a m e   m u s t   b e   s p e c i f i e d .   T h i s   r e s o u r c e   w i l l   b e   c r e a t e d   i f   i t   d o e s n ' t   e x i s t   y e t .   T o   u s e   ' a p p l y ' ,   a l w a y s   c r e a t e   t h e   r e s o u r c e   i n i t i a l l y   w i t h   e i t h e r   ' a p p l y '   o r   ' c r e a t e   - - s a v e - c o n f i g ' .   J S O N   a n d   Y A M L   f o r m a t s   a r e   a c c e p t e d .   A l p h a   D i s c l a i m e r :   t h e   - - p r u n e   f u n c t i o n a l i t y   i s   n o t   y e t   c o m p l e t e .   D o   n o t   u s e   u n l e s s   y o u   a r e   a w a r e   o f   w h a t   t h e   c u r r e n t   s t a t e   i s .   S e e   h t t p s : / / i s s u e s . k 8 s . i o / 3 4 2 7 4 .   k u b e c t l   a p p l y   ( - f   F I L E N A M E   |   - k   D I R E C T O R Y )


Question: What is Examples?

Answer: #   A p p l y   t h e   c o n f i g u r a t i o n   i n   p o d . j s o n   t o   a   p o d   k u b e c t l   a p p l y   - f   . / p o d . j s o n   #   A p p l y   r e s o u r c e s   f r o m   a   d i r e c t o r y   c o n t a i n i n g   k u s t o m i z a t i o n . y a m l   -   e . g .   d i r / k u s t o m i z a t i o n . y a m l   k u b e c t l   a p p l y   - k   d i r /   #   A p p l y   t h e   J S O N   p a s s e d   i n t o   s t d i n   t o   a   p o d   c a t   p o d . j s o n   |   k u b e c t l   a p p l y   - f   -   #   A p p l y   t h e   c o n f i g u r a t i o n   f r o m   a l l   f i l e s   t h a t   e n d   w i t h   ' . j s o n '   k u b e c t l   a p p l y   - f   ' * . j s o n '   #   N o t e :   - - p r u n e   i s   s t i l l   i n   A l p h a   #   A p p l y   t h e   c o n f i g u r a t i o n   i n   m a n i f e s t . y a m l   t h a t   m a t c h e s   l a b e l   a p p = n g i n x   a n d   d e l e t e   a l l   o t h e r   r e s o u r c e s   t h a t   a r e   n o t   i n   t h e   f i l e   a n d   m a t c h   l a b e l   a p p = n g i n x   k u b e c t l   a p p l y   - - p r u n e   - f   m a n i f e s t . y a m l   - l   a p p = n g i n x   #   A p p l y   t h e   c o n f i g u r a t i o n   i n   m a n i f e s t . y a m l   a n d   d e l e t e   a l l   t h e   o t h e r   c o n f i g   m a p s   t h a t   a r e   n o t   i n   t h e   f i l e   k u b e c t l   a p p l y   - - p r u n e   - f   m a n i f e s t . y a m l   - - a l l   - - p r u n e - a l l o w l i s t = c o r e / v 1 / C o n f i g M a p


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


Question: What is Parent Options Inherited?

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


Question: What is See Also?

Answer: k u b e c t l   -   k u b e c t l   c o n t r o l s   t h e   K u b e r n e t e s   c l u s t e r   m a n a g e r k u b e c t l   a p p l y   e d i t - l a s t - a p p l i e d   -   E d i t   l a t e s t   l a s t - a p p l i e d - c o n f i g u r a t i o n   a n n o t a t i o n s   o f   a   r e s o u r c e / o b j e c t k u b e c t l   a p p l y   s e t - l a s t - a p p l i e d   -   S e t   t h e   l a s t - a p p l i e d - c o n f i g u r a t i o n   a n n o t a t i o n   o n   a   l i v e   o b j e c t   t o   m a t c h   t h e   c o n t e n t s   o f   a   f i l e k u b e c t l   a p p l y   v i e w - l a s t - a p p l i e d   -   V i e w   t h e   l a t e s t   l a s t - a p p l i e d - c o n f i g u r a t i o n   a n n o t a t i o n s   o f   a   r e s o u r c e / o b j e c t   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 Resource Bin Packing?

Answer: Resource Bin PackingIn the scheduling-plugin NodeResourcesFit of kube-scheduler, there are two scoring strategies that support the bin packing of resources: MostAllocated and RequestedToCapacityRatio.Enabling bin packing using MostAllocated strategyThe MostAllocated strategy scores the nodes based on the utilization of resources, favoring the ones with higher allocation. For each resource type, you can set a weight to modify its influence in the node score.To set the MostAllocated strategy for the NodeResourcesFit plugin, use a scheduler configuration similar to the following:apiVersion: kubescheduler.config.k8s.io/v1 kind: KubeSchedulerConfiguration profiles: - pluginConfig: - args: scoringStrategy: resources: - name: cpu weight: 1 - name: memory weight: 1 - name: intel.com/foo weight: 3 - name: intel.com/bar weight: 3 type: MostAllocated name: NodeResourcesFit To learn more about other parameters and their default configuration, see the API documentation for NodeResourcesFitArgs.Enabling bin packing using RequestedToCapacityRatioThe RequestedToCapacityRatio strategy allows the users to specify the resources along with weights for each resource to score nodes based on the request to capacity ratio. This allows users to bin pack extended resources by using appropriate parameters to improve the utilization of scarce resources in large clusters. It favors nodes according to a configured function of the allocated resources. The behavior of the RequestedToCapacityRatio in the NodeResourcesFit score function can be controlled by the scoringStrategy field. Within the scoringStrategy field, you can configure two parameters: requestedToCapacityRatio and resources. The shape in the requestedToCapacityRatio parameter allows the user to tune the function as least requested or most requested based on utilization and score values. The resources parameter comprises both the name of the resource to be considered during scoring and its corresponding weight, which specifies the weight of each resource.Below is an example configuration that sets the bin packing behavior for extended resources intel.com/foo and intel.com/bar using the requestedToCapacityRatio field.apiVersion: kubescheduler.config.k8s.io/v1 kind: KubeSchedulerConfiguration profiles: - pluginConfig: - args: scoringStrategy: resources: - name: intel.com/foo weight: 3 - name: intel.com/bar weight: 3 requestedToCapacityRatio: shape: - utilization: 0 score: 0 - utilization: 100 score: 10 type: RequestedToCapacityRatio name: NodeResourcesFit Referencing the KubeSchedulerConfiguration file with the kube-scheduler flag --config=/path/to/config/file will pass the configuration to the scheduler.To learn more about other parameters and their default configuration, see the API documentation for NodeResourcesFitArgs.Tuning the score functionshape is used to specify the behavior of the RequestedToCapacityRatio function.shape: - utilization: 0 score: 0 - utilization: 100 score: 10 The above arguments give the nod


Question: How does Resource Bin Packing work?

Answer: Resource Bin PackingIn the scheduling-plugin NodeResourcesFit of kube-scheduler, there are two scoring strategies that support the bin packing of resources: MostAllocated and RequestedToCapacityRatio.Enabling bin packing using MostAllocated strategyThe MostAllocated strategy scores the nodes based on the utilization of resources, favoring the ones with higher allocation. For each resource type, you can set a weight to modify its influence in the node score.To set the MostAllocated strategy for the NodeResourcesFit plugin, use a scheduler configuration similar to the following:apiVersion: kubescheduler.config.k8s.io/v1 kind: KubeSchedulerConfiguration profiles: - pluginConfig: - args: scoringStrategy: resources: - name: cpu weight: 1 - name: memory weight: 1 - name: intel.com/foo weight: 3 - name: intel.com/bar weight: 3 type: MostAllocated name: NodeResourcesFit To learn more about other parameters and their default configuration, see the API documentation for NodeResourcesFitArgs.Enabling bin packing using RequestedToCapacityRatioThe RequestedToCapacityRatio strategy allows the users to specify the resources along with weights for each resource to score nodes based on the request to capacity ratio. This allows users to bin pack extended resources by using appropriate parameters to improve the utilization of scarce resources in large clusters. It favors nodes according to a configured function of the allocated resources. The behavior of the RequestedToCapacityRatio in the NodeResourcesFit score function can be controlled by the scoringStrategy field. Within the scoringStrategy field, you can configure two parameters: requestedToCapacityRatio and resources. The shape in the requestedToCapacityRatio parameter allows the user to tune the function as least requested or most requested based on utilization and score values. The resources parameter comprises both the name of the resource to be considered during scoring and its corresponding weight, which specifies the weight of each resource.Below is an example configuration that sets the bin packing behavior for extended resources intel.com/foo and intel.com/bar using the requestedToCapacityRatio field.apiVersion: kubescheduler.config.k8s.io/v1 kind: KubeSchedulerConfiguration profiles: - pluginConfig: - args: scoringStrategy: resources: - name: intel.com/foo weight: 3 - name: intel.com/bar weight: 3 requestedToCapacityRatio: shape: - utilization: 0 score: 0 - utilization: 100 score: 10 type: RequestedToCapacityRatio name: NodeResourcesFit Referencing the KubeSchedulerConfiguration file with the kube-scheduler flag --config=/path/to/config/file will pass the configuration to the scheduler.To learn more about other parameters and their default configuration, see the API documentation for NodeResourcesFitArgs.Tuning the score functionshape is used to specify the behavior of the RequestedToCapacityRatio function.shape: - utilization: 0 score: 0 - utilization: 100 score: 10 The above arguments give the nod


Question: When would you use Resource Bin Packing?

Answer: Resource Bin PackingIn the scheduling-plugin NodeResourcesFit of kube-scheduler, there are two scoring strategies that support the bin packing of resources: MostAllocated and RequestedToCapacityRatio.Enabling bin packing using MostAllocated strategyThe MostAllocated strategy scores the nodes based on the utilization of resources, favoring the ones with higher allocation. For each resource type, you can set a weight to modify its influence in the node score.To set the MostAllocated strategy for the NodeResourcesFit plugin, use a scheduler configuration similar to the following:apiVersion: kubescheduler.config.k8s.io/v1 kind: KubeSchedulerConfiguration profiles: - pluginConfig: - args: scoringStrategy: resources: - name: cpu weight: 1 - name: memory weight: 1 - name: intel.com/foo weight: 3 - name: intel.com/bar weight: 3 type: MostAllocated name: NodeResourcesFit To learn more about other parameters and their default configuration, see the API documentation for NodeResourcesFitArgs.Enabling bin packing using RequestedToCapacityRatioThe RequestedToCapacityRatio strategy allows the users to specify the resources along with weights for each resource to score nodes based on the request to capacity ratio. This allows users to bin pack extended resources by using appropriate parameters to improve the utilization of scarce resources in large clusters. It favors nodes according to a configured function of the allocated resources. The behavior of the RequestedToCapacityRatio in the NodeResourcesFit score function can be controlled by the scoringStrategy field. Within the scoringStrategy field, you can configure two parameters: requestedToCapacityRatio and resources. The shape in the requestedToCapacityRatio parameter allows the user to tune the function as least requested or most requested based on utilization and score values. The resources parameter comprises both the name of the resource to be considered during scoring and its corresponding weight, which specifies the weight of each resource.Below is an example configuration that sets the bin packing behavior for extended resources intel.com/foo and intel.com/bar using the requestedToCapacityRatio field.apiVersion: kubescheduler.config.k8s.io/v1 kind: KubeSchedulerConfiguration profiles: - pluginConfig: - args: scoringStrategy: resources: - name: intel.com/foo weight: 3 - name: intel.com/bar weight: 3 requestedToCapacityRatio: shape: - utilization: 0 score: 0 - utilization: 100 score: 10 type: RequestedToCapacityRatio name: NodeResourcesFit Referencing the KubeSchedulerConfiguration file with the kube-scheduler flag --config=/path/to/config/file will pass the configuration to the scheduler.To learn more about other parameters and their default configuration, see the API documentation for NodeResourcesFitArgs.Tuning the score functionshape is used to specify the behavior of the RequestedToCapacityRatio function.shape: - utilization: 0 score: 0 - utilization: 100 score: 10 The above arguments give the nod


Question: What are the benefits of Resource Bin Packing?

Answer: Resource Bin PackingIn the scheduling-plugin NodeResourcesFit of kube-scheduler, there are two scoring strategies that support the bin packing of resources: MostAllocated and RequestedToCapacityRatio.Enabling bin packing using MostAllocated strategyThe MostAllocated strategy scores the nodes based on the utilization of resources, favoring the ones with higher allocation. For each resource type, you can set a weight to modify its influence in the node score.To set the MostAllocated strategy for the NodeResourcesFit plugin, use a scheduler configuration similar to the following:apiVersion: kubescheduler.config.k8s.io/v1 kind: KubeSchedulerConfiguration profiles: - pluginConfig: - args: scoringStrategy: resources: - name: cpu weight: 1 - name: memory weight: 1 - name: intel.com/foo weight: 3 - name: intel.com/bar weight: 3 type: MostAllocated name: NodeResourcesFit To learn more about other parameters and their default configuration, see the API documentation for NodeResourcesFitArgs.Enabling bin packing using RequestedToCapacityRatioThe RequestedToCapacityRatio strategy allows the users to specify the resources along with weights for each resource to score nodes based on the request to capacity ratio. This allows users to bin pack extended resources by using appropriate parameters to improve the utilization of scarce resources in large clusters. It favors nodes according to a configured function of the allocated resources. The behavior of the RequestedToCapacityRatio in the NodeResourcesFit score function can be controlled by the scoringStrategy field. Within the scoringStrategy field, you can configure two parameters: requestedToCapacityRatio and resources. The shape in the requestedToCapacityRatio parameter allows the user to tune the function as least requested or most requested based on utilization and score values. The resources parameter comprises both the name of the resource to be considered during scoring and its corresponding weight, which specifies the weight of each resource.Below is an example configuration that sets the bin packing behavior for extended resources intel.com/foo and intel.com/bar using the requestedToCapacityRatio field.apiVersion: kubescheduler.config.k8s.io/v1 kind: KubeSchedulerConfiguration profiles: - pluginConfig: - args: scoringStrategy: resources: - name: intel.com/foo weight: 3 - name: intel.com/bar weight: 3 requestedToCapacityRatio: shape: - utilization: 0 score: 0 - utilization: 100 score: 10 type: RequestedToCapacityRatio name: NodeResourcesFit Referencing the KubeSchedulerConfiguration file with the kube-scheduler flag --config=/path/to/config/file will pass the configuration to the scheduler.To learn more about other parameters and their default configuration, see the API documentation for NodeResourcesFitArgs.Tuning the score functionshape is used to specify the behavior of the RequestedToCapacityRatio function.shape: - utilization: 0 score: 0 - utilization: 100 score: 10 The above arguments give the nod


Question: What is Resource Bin Packing?

Answer: I n   t h e   s c h e d u l i n g - p l u g i n   N o d e R e s o u r c e s F i t   o f   k u b e - s c h e d u l e r ,   t h e r e   a r e   t w o   s c o r i n g   s t r a t e g i e s   t h a t   s u p p o r t   t h e   b i n   p a c k i n g   o f   r e s o u r c e s :   M o s t A l l o c a t e d   a n d   R e q u e s t e d T o C a p a c i t y R a t i o .


Question: What is Enabling bin packing using MostAllocated strategy?

Answer: T h e   M o s t A l l o c a t e d   s t r a t e g y   s c o r e s   t h e   n o d e s   b a s e d   o n   t h e   u t i l i z a t i o n   o f   r e s o u r c e s ,   f a v o r i n g   t h e   o n e s   w i t h   h i g h e r   a l l o c a t i o n .   F o r   e a c h   r e s o u r c e   t y p e ,   y o u   c a n   s e t   a   w e i g h t   t o   m o d i f y   i t s   i n f l u e n c e   i n   t h e   n o d e   s c o r e .   T o   s e t   t h e   M o s t A l l o c a t e d   s t r a t e g y   f o r   t h e   N o d e R e s o u r c e s F i t   p l u g i n ,   u s e   a   s c h e d u l e r   c o n f i g u r a t i o n   s i m i l a r   t o   t h e   f o l l o w i n g :   a p i V e r s i o n :   k u b e s c h e d u l e r . c o n f i g . k 8 s . i o / v 1   k i n d :   K u b e S c h e d u l e r C o n f i g u r a t i o n   p r o f i l e s :   -   p l u g i n C o n f i g :   -   a r g s :   s c o r i n g S t r a t e g y :   r e s o u r c e s :   -   n a m e :   c p u   w e i g h t :   1   -   n a m e :   m e m o r y   w e i g h t :   1   -   n a m e :   i n t e l . c o m / f o o   w e i g h t :   3   -   n a m e :   i n t e l . c o m / b a r   w e i g h t :   3   t y p e :   M o s t A l l o c a t e d   n a m e :   N o d e R e s o u r c e s F i t   T o   l e a r n   m o r e   a b o u t   o t h e r   p a r a m e t e r s   a n d   t h e i r   d e f a u l t   c o n f i g u r a t i o n ,   s e e   t h e   A P I   d o c u m e n t a t i o n   f o r   N o d e R e s o u r c e s F i t A r g s .


Question: What is Enabling bin packing using RequestedToCapacityRatio?

Answer: T h e   R e q u e s t e d T o C a p a c i t y R a t i o   s t r a t e g y   a l l o w s   t h e   u s e r s   t o   s p e c i f y   t h e   r e s o u r c e s   a l o n g   w i t h   w e i g h t s   f o r   e a c h   r e s o u r c e   t o   s c o r e   n o d e s   b a s e d   o n   t h e   r e q u e s t   t o   c a p a c i t y   r a t i o .   T h i s   a l l o w s   u s e r s   t o   b i n   p a c k   e x t e n d e d   r e s o u r c e s   b y   u s i n g   a p p r o p r i a t e   p a r a m e t e r s   t o   i m p r o v e   t h e   u t i l i z a t i o n   o f   s c a r c e   r e s o u r c e s   i n   l a r g e   c l u s t e r s .   I t   f a v o r s   n o d e s   a c c o r d i n g   t o   a   c o n f i g u r e d   f u n c t i o n   o f   t h e   a l l o c a t e d   r e s o u r c e s .   T h e   b e h a v i o r   o f   t h e   R e q u e s t e d T o C a p a c i t y R a t i o   i n   t h e   N o d e R e s o u r c e s F i t   s c o r e   f u n c t i o n   c a n   b e   c o n t r o l l e d   b y   t h e   s c o r i n g S t r a t e g y   f i e l d .   W i t h i n   t h e   s c o r i n g S t r a t e g y   f i e l d ,   y o u   c a n   c o n f i g u r e   t w o   p a r a m e t e r s :   r e q u e s t e d T o C a p a c i t y R a t i o   a n d   r e s o u r c e s .   T h e   s h a p e   i n   t h e   r e q u e s t e d T o C a p a c i t y R a t i o   p a r a m e t e r   a l l o w s   t h e   u s e r   t o   t u n e   t h e   f u n c t i o n   a s   l e a s t   r e q u e s t e d   o r   m o s t   r e q u e s t e d   b a s e d   o n   u t i l i z a t i o n   a n d   s c o r e   v a l u e s .   T h e   r e s o u r c e s   p a r a m e t e r   c o m p r i s e s   b o t h   t h e   n a m e   o f   t h e   r e s o u r c e   t o   b e   c o n s i d e r e d   d u r i n g   s c o r i n g   a n d   i t s   c o r r e s p o n d i n g   w e i g h t ,   w h i c h   s p e c i f i e s   t h e   w e i g h t   o f   e a c h   r e s o u r c e .   B e l o w   i s   a n   e x a m p l e   c o n f i g


Question: What is Tuning the score function?

Answer: s h a p e   i s   u s e d   t o   s p e c i f y   t h e   b e h a v i o r   o f   t h e   R e q u e s t e d T o C a p a c i t y R a t i o   f u n c t i o n .   s h a p e :   -   u t i l i z a t i o n :   0   s c o r e :   0   -   u t i l i z a t i o n :   1 0 0   s c o r e :   1 0   T h e   a b o v e   a r g u m e n t s   g i v e   t h e   n o d e   a   s c o r e   o f   0   i f   u t i l i z a t i o n   i s   0 %   a n d   1 0   f o r   u t i l i z a t i o n   1 0 0 % ,   t h u s   e n a b l i n g   b i n   p a c k i n g   b e h a v i o r .   T o   e n a b l e   l e a s t   r e q u e s t e d   t h e   s c o r e   v a l u e   m u s t   b e   r e v e r s e d   a s   f o l l o w s .   s h a p e :   -   u t i l i z a t i o n :   0   s c o r e :   1 0   -   u t i l i z a t i o n :   1 0 0   s c o r e :   0   r e s o u r c e s   i s   a n   o p t i o n a l   p a r a m e t e r   w h i c h   d e f a u l t s   t o :   r e s o u r c e s :   -   n a m e :   c p u   w e i g h t :   1   -   n a m e :   m e m o r y   w e i g h t :   1   I t   c a n   b e   u s e d   t o   a d d   e x t e n d e d   r e s o u r c e s   a s   f o l l o w s :   r e s o u r c e s :   -   n a m e :   i n t e l . c o m / f o o   w e i g h t :   5   -   n a m e :   c p u   w e i g h t :   3   -   n a m e :   m e m o r y   w e i g h t :   1   T h e   w e i g h t   p a r a m e t e r   i s   o p t i o n a l   a n d   i s   s e t   t o   1   i f   n o t   s p e c i f i e d .   A l s o ,   t h e   w e i g h t   c a n n o t   b e   s e t   t o   a   n e g a t i v e   v a l u e .


Question: What is Node scoring for capacity allocation?

Answer: T h i s   s e c t i o n   i s   i n t e n d e d   f o r   t h o s e   w h o   w a n t   t o   u n d e r s t a n d   t h e   i n t e r n a l   d e t a i l s   o f   t h i s   f e a t u r e .   B e l o w   i s   a n   e x a m p l e   o f   h o w   t h e   n o d e   s c o r e   i s   c a l c u l a t e d   f o r   a   g i v e n   s e t   o f   v a l u e s .   R e q u e s t e d   r e s o u r c e s :   i n t e l . c o m / f o o   :   2   m e m o r y :   2 5 6 M B   c p u :   2   R e s o u r c e   w e i g h t s :   i n t e l . c o m / f o o   :   5   m e m o r y :   1   c p u :   3   F u n c t i o n S h a p e P o i n t   { { 0 ,   0 } ,   { 1 0 0 ,   1 0 } }   N o d e   1   s p e c :   A v a i l a b l e :   i n t e l . c o m / f o o :   4   m e m o r y :   1   G B   c p u :   8   U s e d :   i n t e l . c o m / f o o :   1   m e m o r y :   2 5 6 M B   c p u :   1   N o d e   s c o r e :   i n t e l . c o m / f o o   =   r e s o u r c e S c o r i n g F u n c t i o n ( ( 2 + 1 ) , 4 )   =   ( 1 0 0   -   ( ( 4 - 3 ) * 1 0 0 / 4 )   =   ( 1 0 0   -   2 5 )   =   7 5   #   r e q u e s t e d   +   u s e d   =   7 5 %   *   a v a i l a b l e   =   r a w S c o r i n g F u n c t i o n ( 7 5 )   =   7   #   f l o o r ( 7 5 / 1 0 )   m e m o r y   =   r e s o u r c e S c o r i n g F u n c t i o n ( ( 2 5 6 + 2 5 6 ) , 1 0 2 4 )   =   ( 1 0 0   - ( ( 1 0 2 4 - 5 1 2 ) * 1 0 0 / 1 0 2 4 ) )   =   5 0   #   r e q u e s t e d   +   u s e d   =   5 0 %   *   a v a i l a b l e   =   r a w S c o r i n g F u n c t i o n ( 5 0 )   =   5   #   f l o o r ( 5 0 / 1 0 )   c p u   =   r e s o u r c e S c o r i n g F u n c t i o n ( ( 2 + 1 ) , 8 )   =   ( 1 0 0   - ( ( 8 - 3 ) * 1 0 0 / 8 ) )   =   3 7 . 5   #   r e q u e s t e d   +   u s e d   =   3 7 . 5 %   *   a v a i l a b l e   =   r a w S c o r i n g F u n c t i o n ( 3 7 . 5 )   =   3   #   f l o o r ( 3 7 . 5 / 1 0 )   N o d e S c o r e   =   ( ( 7   *   5 )   +   ( 5   *   1 )   +   ( 3   *   3 ) )   /   ( 5   +   1   +   3 )   =   5


Question: What is What's next?

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


Question: What is Debug a StatefulSet?

Answer: Debug a StatefulSetThis task shows you how to debug a StatefulSet.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster.You should have a StatefulSet running that you want to investigate.Debugging a StatefulSetIn order to list all the pods which belong to a StatefulSet, which have a label app.kubernetes.io/name=MyApp set on them, you can use the following:kubectl get pods -l app.kubernetes.io/name=MyApp If you find that any Pods listed are in Unknown or Terminating state for an extended period of time, refer to the Deleting StatefulSet Pods task for instructions on how to deal with them. You can debug individual Pods in a StatefulSet using the Debugging Pods guide.What's nextLearn more about debugging an init-container.


Question: How does Debug a StatefulSet work?

Answer: Debug a StatefulSetThis task shows you how to debug a StatefulSet.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster.You should have a StatefulSet running that you want to investigate.Debugging a StatefulSetIn order to list all the pods which belong to a StatefulSet, which have a label app.kubernetes.io/name=MyApp set on them, you can use the following:kubectl get pods -l app.kubernetes.io/name=MyApp If you find that any Pods listed are in Unknown or Terminating state for an extended period of time, refer to the Deleting StatefulSet Pods task for instructions on how to deal with them. You can debug individual Pods in a StatefulSet using the Debugging Pods guide.What's nextLearn more about debugging an init-container.


Question: When would you use Debug a StatefulSet?

Answer: Debug a StatefulSetThis task shows you how to debug a StatefulSet.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster.You should have a StatefulSet running that you want to investigate.Debugging a StatefulSetIn order to list all the pods which belong to a StatefulSet, which have a label app.kubernetes.io/name=MyApp set on them, you can use the following:kubectl get pods -l app.kubernetes.io/name=MyApp If you find that any Pods listed are in Unknown or Terminating state for an extended period of time, refer to the Deleting StatefulSet Pods task for instructions on how to deal with them. You can debug individual Pods in a StatefulSet using the Debugging Pods guide.What's nextLearn more about debugging an init-container.


Question: What are the benefits of Debug a StatefulSet?

Answer: Debug a StatefulSetThis task shows you how to debug a StatefulSet.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster.You should have a StatefulSet running that you want to investigate.Debugging a StatefulSetIn order to list all the pods which belong to a StatefulSet, which have a label app.kubernetes.io/name=MyApp set on them, you can use the following:kubectl get pods -l app.kubernetes.io/name=MyApp If you find that any Pods listed are in Unknown or Terminating state for an extended period of time, refer to the Deleting StatefulSet Pods task for instructions on how to deal with them. You can debug individual Pods in a StatefulSet using the Debugging Pods guide.What's nextLearn more about debugging an init-container.


Question: What is Debug a StatefulSet?

Answer: T h i s   t a s k   s h o w s   y o u   h o w   t o   d e b u g   a   S t a t e f u l S e t .


Question: What is Before you begin?

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


Question: What is Debugging a StatefulSet?

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


Question: What is What's next?

Answer: L e a r n   m o r e   a b o u t   d e b u g g i n g   a n   i n i t - c o n t a i n e r .


Question: What is Control CPU Management Policies on the Node?

Answer: Control CPU Management Policies on the NodeFEATURE STATE: Kubernetes v1.26 [stable]Kubernetes keeps many aspects of how pods execute on nodes abstracted from the user. This is by design. However, some workloads require stronger guarantees in terms of latency and/or performance in order to operate acceptably. The kubelet provides methods to enable more complex workload placement policies while keeping the abstraction free from explicit placement directives.For detailed information on resource management, please refer to the Resource Management for Pods and Containers documentation.For detailed information on how the kubelet implements resource management, please refer to the Node ResourceManagers documentation.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:iximiuz LabsKillercodaKodeKloudPlay with KubernetesYour Kubernetes server must be at or later than version v1.26.To check the version, enter kubectl version.If you are running an older version of Kubernetes, please look at the documentation for the version you are actually running.Configuring CPU management policiesBy default, the kubelet uses CFS quota to enforce pod CPU limits. When the node runs many CPU-bound pods, the workload can move to different CPU cores depending on whether the pod is throttled and which CPU cores are available at scheduling time. Many workloads are not sensitive to this migration and thus work fine without any intervention.However, in workloads where CPU cache affinity and scheduling latency significantly affect workload performance, the kubelet allows alternative CPU management policies to determine some placement preferences on the node.Windows SupportFEATURE STATE: Kubernetes v1.32 [alpha] (enabled by default: false)CPU Manager support can be enabled on Windows by using the WindowsCPUAndMemoryAffinity feature gate and it requires support in the container runtime. Once the feature gate is enabled, follow the steps below to configure the CPU manager policy.ConfigurationThe CPU Manager policy is set with the --cpu-manager-policy kubelet flag or the cpuManagerPolicy field in KubeletConfiguration. There are two supported policies:none: the default policy.static: allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node.The CPU manager periodically writes resource updates through the CRI in order to reconcile in-memory CPU assignments with cgroupfs. The reconcile frequency is set through a new Kubelet configuration value --cpu-manager-reconcile-period. If not specified, it defaults to the same duration as --node-status-update-frequency.The behavior of the static policy can be fine


Question: How does Control CPU Management Policies on the Node work?

Answer: Control CPU Management Policies on the NodeFEATURE STATE: Kubernetes v1.26 [stable]Kubernetes keeps many aspects of how pods execute on nodes abstracted from the user. This is by design. However, some workloads require stronger guarantees in terms of latency and/or performance in order to operate acceptably. The kubelet provides methods to enable more complex workload placement policies while keeping the abstraction free from explicit placement directives.For detailed information on resource management, please refer to the Resource Management for Pods and Containers documentation.For detailed information on how the kubelet implements resource management, please refer to the Node ResourceManagers documentation.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:iximiuz LabsKillercodaKodeKloudPlay with KubernetesYour Kubernetes server must be at or later than version v1.26.To check the version, enter kubectl version.If you are running an older version of Kubernetes, please look at the documentation for the version you are actually running.Configuring CPU management policiesBy default, the kubelet uses CFS quota to enforce pod CPU limits. When the node runs many CPU-bound pods, the workload can move to different CPU cores depending on whether the pod is throttled and which CPU cores are available at scheduling time. Many workloads are not sensitive to this migration and thus work fine without any intervention.However, in workloads where CPU cache affinity and scheduling latency significantly affect workload performance, the kubelet allows alternative CPU management policies to determine some placement preferences on the node.Windows SupportFEATURE STATE: Kubernetes v1.32 [alpha] (enabled by default: false)CPU Manager support can be enabled on Windows by using the WindowsCPUAndMemoryAffinity feature gate and it requires support in the container runtime. Once the feature gate is enabled, follow the steps below to configure the CPU manager policy.ConfigurationThe CPU Manager policy is set with the --cpu-manager-policy kubelet flag or the cpuManagerPolicy field in KubeletConfiguration. There are two supported policies:none: the default policy.static: allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node.The CPU manager periodically writes resource updates through the CRI in order to reconcile in-memory CPU assignments with cgroupfs. The reconcile frequency is set through a new Kubelet configuration value --cpu-manager-reconcile-period. If not specified, it defaults to the same duration as --node-status-update-frequency.The behavior of the static policy can be fine


Question: When would you use Control CPU Management Policies on the Node?

Answer: Control CPU Management Policies on the NodeFEATURE STATE: Kubernetes v1.26 [stable]Kubernetes keeps many aspects of how pods execute on nodes abstracted from the user. This is by design. However, some workloads require stronger guarantees in terms of latency and/or performance in order to operate acceptably. The kubelet provides methods to enable more complex workload placement policies while keeping the abstraction free from explicit placement directives.For detailed information on resource management, please refer to the Resource Management for Pods and Containers documentation.For detailed information on how the kubelet implements resource management, please refer to the Node ResourceManagers documentation.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:iximiuz LabsKillercodaKodeKloudPlay with KubernetesYour Kubernetes server must be at or later than version v1.26.To check the version, enter kubectl version.If you are running an older version of Kubernetes, please look at the documentation for the version you are actually running.Configuring CPU management policiesBy default, the kubelet uses CFS quota to enforce pod CPU limits. When the node runs many CPU-bound pods, the workload can move to different CPU cores depending on whether the pod is throttled and which CPU cores are available at scheduling time. Many workloads are not sensitive to this migration and thus work fine without any intervention.However, in workloads where CPU cache affinity and scheduling latency significantly affect workload performance, the kubelet allows alternative CPU management policies to determine some placement preferences on the node.Windows SupportFEATURE STATE: Kubernetes v1.32 [alpha] (enabled by default: false)CPU Manager support can be enabled on Windows by using the WindowsCPUAndMemoryAffinity feature gate and it requires support in the container runtime. Once the feature gate is enabled, follow the steps below to configure the CPU manager policy.ConfigurationThe CPU Manager policy is set with the --cpu-manager-policy kubelet flag or the cpuManagerPolicy field in KubeletConfiguration. There are two supported policies:none: the default policy.static: allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node.The CPU manager periodically writes resource updates through the CRI in order to reconcile in-memory CPU assignments with cgroupfs. The reconcile frequency is set through a new Kubelet configuration value --cpu-manager-reconcile-period. If not specified, it defaults to the same duration as --node-status-update-frequency.The behavior of the static policy can be fine


Question: What are the benefits of Control CPU Management Policies on the Node?

Answer: Control CPU Management Policies on the NodeFEATURE STATE: Kubernetes v1.26 [stable]Kubernetes keeps many aspects of how pods execute on nodes abstracted from the user. This is by design. However, some workloads require stronger guarantees in terms of latency and/or performance in order to operate acceptably. The kubelet provides methods to enable more complex workload placement policies while keeping the abstraction free from explicit placement directives.For detailed information on resource management, please refer to the Resource Management for Pods and Containers documentation.For detailed information on how the kubelet implements resource management, please refer to the Node ResourceManagers documentation.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:iximiuz LabsKillercodaKodeKloudPlay with KubernetesYour Kubernetes server must be at or later than version v1.26.To check the version, enter kubectl version.If you are running an older version of Kubernetes, please look at the documentation for the version you are actually running.Configuring CPU management policiesBy default, the kubelet uses CFS quota to enforce pod CPU limits. When the node runs many CPU-bound pods, the workload can move to different CPU cores depending on whether the pod is throttled and which CPU cores are available at scheduling time. Many workloads are not sensitive to this migration and thus work fine without any intervention.However, in workloads where CPU cache affinity and scheduling latency significantly affect workload performance, the kubelet allows alternative CPU management policies to determine some placement preferences on the node.Windows SupportFEATURE STATE: Kubernetes v1.32 [alpha] (enabled by default: false)CPU Manager support can be enabled on Windows by using the WindowsCPUAndMemoryAffinity feature gate and it requires support in the container runtime. Once the feature gate is enabled, follow the steps below to configure the CPU manager policy.ConfigurationThe CPU Manager policy is set with the --cpu-manager-policy kubelet flag or the cpuManagerPolicy field in KubeletConfiguration. There are two supported policies:none: the default policy.static: allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node.The CPU manager periodically writes resource updates through the CRI in order to reconcile in-memory CPU assignments with cgroupfs. The reconcile frequency is set through a new Kubelet configuration value --cpu-manager-reconcile-period. If not specified, it defaults to the same duration as --node-status-update-frequency.The behavior of the static policy can be fine


Question: What is Control CPU Management Policies on the Node?

Answer: K u b e r n e t e s   k e e p s   m a n y   a s p e c t s   o f   h o w   p o d s   e x e c u t e   o n   n o d e s   a b s t r a c t e d   f r o m   t h e   u s e r .   T h i s   i s   b y   d e s i g n .   H o w e v e r ,   s o m e   w o r k l o a d s   r e q u i r e   s t r o n g e r   g u a r a n t e e s   i n   t e r m s   o f   l a t e n c y   a n d / o r   p e r f o r m a n c e   i n   o r d e r   t o   o p e r a t e   a c c e p t a b l y .   T h e   k u b e l e t   p r o v i d e s   m e t h o d s   t o   e n a b l e   m o r e   c o m p l e x   w o r k l o a d   p l a c e m e n t   p o l i c i e s   w h i l e   k e e p i n g   t h e   a b s t r a c t i o n   f r e e   f r o m   e x p l i c i t   p l a c e m e n t   d i r e c t i v e s .   F o r   d e t a i l e d   i n f o r m a t i o n   o n   r e s o u r c e   m a n a g e m e n t ,   p l e a s e   r e f e r   t o   t h e   R e s o u r c e   M a n a g e m e n t   f o r   P o d s   a n d   C o n t a i n e r s   d o c u m e n t a t i o n .   F o r   d e t a i l e d   i n f o r m a t i o n   o n   h o w   t h e   k u b e l e t   i m p l e m e n t s   r e s o u r c e   m a n a g e m e n t ,   p l e a s e   r e f e r   t o   t h e   N o d e   R e s o u r c e M a n a g e r s   d o c u m e n t a t i o n .


Question: What is Before you begin?

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


Question: What is Configuring CPU management policies?

Answer: B y   d e f a u l t ,   t h e   k u b e l e t   u s e s   C F S   q u o t a   t o   e n f o r c e   p o d   C P U   l i m i t s .   W h e n   t h e   n o d e   r u n s   m a n y   C P U - b o u n d   p o d s ,   t h e   w o r k l o a d   c a n   m o v e   t o   d i f f e r e n t   C P U   c o r e s   d e p e n d i n g   o n   w h e t h e r   t h e   p o d   i s   t h r o t t l e d   a n d   w h i c h   C P U   c o r e s   a r e   a v a i l a b l e   a t   s c h e d u l i n g   t i m e .   M a n y   w o r k l o a d s   a r e   n o t   s e n s i t i v e   t o   t h i s   m i g r a t i o n   a n d   t h u s   w o r k   f i n e   w i t h o u t   a n y   i n t e r v e n t i o n .   H o w e v e r ,   i n   w o r k l o a d s   w h e r e   C P U   c a c h e   a f f i n i t y   a n d   s c h e d u l i n g   l a t e n c y   s i g n i f i c a n t l y   a f f e c t   w o r k l o a d   p e r f o r m a n c e ,   t h e   k u b e l e t   a l l o w s   a l t e r n a t i v e   C P U   m a n a g e m e n t   p o l i c i e s   t o   d e t e r m i n e   s o m e   p l a c e m e n t   p r e f e r e n c e s   o n   t h e   n o d e .


Question: What is Windows Support?

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


Question: What is Configuration?

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


Question: What is Changing the CPU Manager Policy?

Answer: S i n c e   t h e   C P U   m a n a g e r   p o l i c y   c a n   o n l y   b e   a p p l i e d   w h e n   k u b e l e t   s p a w n s   n e w   p o d s ,   s i m p l y   c h a n g i n g   f r o m   " n o n e "   t o   " s t a t i c "   w o n ' t   a p p l y   t o   e x i s t i n g   p o d s .   S o   i n   o r d e r   t o   p r o p e r l y   c h a n g e   t h e   C P U   m a n a g e r   p o l i c y   o n   a   n o d e ,   p e r f o r m   t h e   f o l l o w i n g   s t e p s :   D r a i n   t h e   n o d e . S t o p   k u b e l e t . R e m o v e   t h e   o l d   C P U   m a n a g e r   s t a t e   f i l e .   T h e   p a t h   t o   t h i s   f i l e   i s   / v a r / l i b / k u b e l e t / c p u _ m a n a g e r _ s t a t e   b y   d e f a u l t .   T h i s   c l e a r s   t h e   s t a t e   m a i n t a i n e d   b y   t h e   C P U M a n a g e r   s o   t h a t   t h e   c p u - s e t s   s e t   u p   b y   t h e   n e w   p o l i c y   w o n ’ t   c o n f l i c t   w i t h   i t . E d i t   t h e   k u b e l e t   c o n f i g u r a t i o n   t o   c h a n g e   t h e   C P U   m a n a g e r   p o l i c y   t o   t h e   d e s i r e d   v a l u e . S t a r t   k u b e l e t .   R e p e a t   t h i s   p r o c e s s   f o r   e v e r y   n o d e   t h a t   n e e d s   i t s   C P U   m a n a g e r   p o l i c y   c h a n g e d .   S k i p p i n g   t h i s   p r o c e s s   w i l l   r e s u l t   i n   k u b e l e t   c r a s h l o o p i n g   w i t h   t h e   f o l l o w i n g   e r r o r :   c o u l d   n o t   r e s t o r e   s t a t e   f r o m   c h e c k p o i n t :   c o n f i g u r e d   p o l i c y   " s t a t i c "   d i f f e r s   f r o m   s t a t e   c h e c k p o i n t   p o l i c y   " n o n e " ,   p l e a s e   d r a i n   t h i s   n o d e   a n d   d e l e t e   t h e   C P U   m a n a g e r   c h e c k p o i n t   f i l e   " / v a r / l i b / k u b e l e t / c p u _ m a n a g e r _ s t a t e "   b e f o r e   r e s t a r t i n g   K u


Question: What is none policy configuration?

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


Question: What is static policy configuration?

Answer: T h i s   p o l i c y   m a n a g e s   a   s h a r e d   p o o l   o f   C P U s   t h a t   i n i t i a l l y   c o n t a i n s   a l l   C P U s   i n   t h e   n o d e .   T h e   a m o u n t   o f   e x c l u s i v e l y   a l l o c a t a b l e   C P U s   i s   e q u a l   t o   t h e   t o t a l   n u m b e r   o f   C P U s   i n   t h e   n o d e   m i n u s   a n y   C P U   r e s e r v a t i o n s   b y   t h e   k u b e l e t   - - k u b e - r e s e r v e d   o r   - - s y s t e m - r e s e r v e d   o p t i o n s .   F r o m   1 . 1 7 ,   t h e   C P U   r e s e r v a t i o n   l i s t   c a n   b e   s p e c i f i e d   e x p l i c i t l y   b y   k u b e l e t   - - r e s e r v e d - c p u s   o p t i o n .   T h e   e x p l i c i t   C P U   l i s t   s p e c i f i e d   b y   - - r e s e r v e d - c p u s   t a k e s   p r e c e d e n c e   o v e r   t h e   C P U   r e s e r v a t i o n   s p e c i f i e d   b y   - - k u b e - r e s e r v e d   a n d   - - s y s t e m - r e s e r v e d .   C P U s   r e s e r v e d   b y   t h e s e   o p t i o n s   a r e   t a k e n ,   i n   i n t e g e r   q u a n t i t y ,   f r o m   t h e   i n i t i a l   s h a r e d   p o o l   i n   a s c e n d i n g   o r d e r   b y   p h y s i c a l   c o r e   I D .   T h i s   s h a r e d   p o o l   i s   t h e   s e t   o f   C P U s   o n   w h i c h   a n y   c o n t a i n e r s   i n   B e s t E f f o r t   a n d   B u r s t a b l e   p o d s   r u n .   C o n t a i n e r s   i n   G u a r a n t e e d   p o d s   w i t h   f r a c t i o n a l   C P U   r e q u e s t s   a l s o   r u n   o n   C P U s   i n   t h e   s h a r e d   p o o l .   O n l y   c o n t a i n e r s   t h a t   a r e   b o t h   p a r t   o f   a   G u a r a n t e e d   p o d   a n d   h a v e   i n t e g e r   C P U   r e q u e s t s   a r e   a s s i g n e d   e x c l u s i v e   C P U s .


Question: What is Static policy options?

Answer: Y o u   c a n   t o g g l e   g r o u p s   o f   o p t i o n s   o n   a n d   o f f   b a s e d   u p o n   t h e i r   m a t u r i t y   l e v e l   u s i n g   t h e   f o l l o w i n g   f e a t u r e   g a t e s :   C P U M a n a g e r P o l i c y B e t a O p t i o n s   d e f a u l t   e n a b l e d .   D i s a b l e   t o   h i d e   b e t a - l e v e l   o p t i o n s . C P U M a n a g e r P o l i c y A l p h a O p t i o n s   d e f a u l t   d i s a b l e d .   E n a b l e   t o   s h o w   a l p h a - l e v e l   o p t i o n s .   Y o u   w i l l   s t i l l   h a v e   t o   e n a b l e   e a c h   o p t i o n   u s i n g   t h e   C P U M a n a g e r P o l i c y O p t i o n s   k u b e l e t   o p t i o n .   T h e   f o l l o w i n g   p o l i c y   o p t i o n s   e x i s t   f o r   t h e   s t a t i c   C P U M a n a g e r   p o l i c y :   f u l l - p c p u s - o n l y   ( G A ,   v i s i b l e   b y   d e f a u l t )   ( 1 . 3 3   o r   h i g h e r ) d i s t r i b u t e - c p u s - a c r o s s - n u m a   ( b e t a ,   v i s i b l e   b y   d e f a u l t )   ( 1 . 3 3   o r   h i g h e r ) a l i g n - b y - s o c k e t   ( a l p h a ,   h i d d e n   b y   d e f a u l t )   ( 1 . 2 5   o r   h i g h e r ) d i s t r i b u t e - c p u s - a c r o s s - c o r e s   ( a l p h a ,   h i d d e n   b y   d e f a u l t )   ( 1 . 3 1   o r   h i g h e r ) s t r i c t - c p u - r e s e r v a t i o n   ( b e t a ,   v i s i b l e   b y   d e f a u l t )   ( 1 . 3 2   o r   h i g h e r ) p r e f e r - a l i g n - c p u s - b y - u n c o r e c a c h e   ( b e t a ,   v i s i b l e   b y   d e f a u l t )   ( 1 . 3 4   o r   h i g h e r )   T h e   f u l l - p c p u s - o n l y   o p t i o n   c a n   b e   e n a b l e d   b y   a d d i n g   f u l l - p c p u s - o n l y = t r u e   t o   t h e   C P U M a n a g e r   p o l i c y   o p t i o n s .   L i k e w i s e ,   t h e   d i s t r i b u t e - c p u s - a c r o s s - n u m a   o p t i o n   c a n   b e


Question: What is Event?

Answer: EventEvent is a report of an event somewhere in the cluster.apiVersion: events.k8s.io/v1import "k8s.io/api/events/v1"EventEvent is a report of an event somewhere in the cluster. It generally denotes some state change in the system. Events have a limited retention time and triggers and messages may evolve with time. Event consumers should not rely on the timing of an event with a given Reason reflecting a consistent underlying trigger, or the continued existence of events with that Reason. Events should be treated as informative, best-effort, supplemental data.apiVersion: events.k8s.io/v1kind: Eventmetadata (ObjectMeta)Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataeventTime (MicroTime), requiredeventTime is the time when this Event was first observed. It is required.MicroTime is version of Time with microsecond level precision.action (string)action is what action was taken/failed regarding to the regarding object. It is machine-readable. This field cannot be empty for new Events and it can have at most 128 characters.deprecatedCount (int32)deprecatedCount is the deprecated field assuring backward compatibility with core.v1 Event type.deprecatedFirstTimestamp (Time)deprecatedFirstTimestamp is the deprecated field assuring backward compatibility with core.v1 Event type.Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.deprecatedLastTimestamp (Time)deprecatedLastTimestamp is the deprecated field assuring backward compatibility with core.v1 Event type.Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.deprecatedSource (EventSource)deprecatedSource is the deprecated field assuring backward compatibility with core.v1 Event type.EventSource contains information for an event.deprecatedSource.component (string)Component from which the event is generated.deprecatedSource.host (string)Node name on which the event is generated.note (string)note is a human-readable description of the status of this operation. Maximal length of the note is 1kB, but libraries should be prepared to handle values up to 64kB.reason (string)reason is why the action was taken. It is human-readable. This field cannot be empty for new Events and it can have at most 128 characters.regarding (ObjectReference)regarding contains the object this Event is about. In most cases it's an Object reporting controller implements, e.g. ReplicaSetController implements ReplicaSets and this event is emitted because it acts on some changes in a ReplicaSet object.related (ObjectReference)related is the optional secondary object for more complex actions. E.g. when regarding object triggers a creation or deletion of related object.reportingController (string)reportingController is the nam


Question: How does Event work?

Answer: EventEvent is a report of an event somewhere in the cluster.apiVersion: events.k8s.io/v1import "k8s.io/api/events/v1"EventEvent is a report of an event somewhere in the cluster. It generally denotes some state change in the system. Events have a limited retention time and triggers and messages may evolve with time. Event consumers should not rely on the timing of an event with a given Reason reflecting a consistent underlying trigger, or the continued existence of events with that Reason. Events should be treated as informative, best-effort, supplemental data.apiVersion: events.k8s.io/v1kind: Eventmetadata (ObjectMeta)Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataeventTime (MicroTime), requiredeventTime is the time when this Event was first observed. It is required.MicroTime is version of Time with microsecond level precision.action (string)action is what action was taken/failed regarding to the regarding object. It is machine-readable. This field cannot be empty for new Events and it can have at most 128 characters.deprecatedCount (int32)deprecatedCount is the deprecated field assuring backward compatibility with core.v1 Event type.deprecatedFirstTimestamp (Time)deprecatedFirstTimestamp is the deprecated field assuring backward compatibility with core.v1 Event type.Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.deprecatedLastTimestamp (Time)deprecatedLastTimestamp is the deprecated field assuring backward compatibility with core.v1 Event type.Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.deprecatedSource (EventSource)deprecatedSource is the deprecated field assuring backward compatibility with core.v1 Event type.EventSource contains information for an event.deprecatedSource.component (string)Component from which the event is generated.deprecatedSource.host (string)Node name on which the event is generated.note (string)note is a human-readable description of the status of this operation. Maximal length of the note is 1kB, but libraries should be prepared to handle values up to 64kB.reason (string)reason is why the action was taken. It is human-readable. This field cannot be empty for new Events and it can have at most 128 characters.regarding (ObjectReference)regarding contains the object this Event is about. In most cases it's an Object reporting controller implements, e.g. ReplicaSetController implements ReplicaSets and this event is emitted because it acts on some changes in a ReplicaSet object.related (ObjectReference)related is the optional secondary object for more complex actions. E.g. when regarding object triggers a creation or deletion of related object.reportingController (string)reportingController is the nam


Question: When would you use Event?

Answer: EventEvent is a report of an event somewhere in the cluster.apiVersion: events.k8s.io/v1import "k8s.io/api/events/v1"EventEvent is a report of an event somewhere in the cluster. It generally denotes some state change in the system. Events have a limited retention time and triggers and messages may evolve with time. Event consumers should not rely on the timing of an event with a given Reason reflecting a consistent underlying trigger, or the continued existence of events with that Reason. Events should be treated as informative, best-effort, supplemental data.apiVersion: events.k8s.io/v1kind: Eventmetadata (ObjectMeta)Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataeventTime (MicroTime), requiredeventTime is the time when this Event was first observed. It is required.MicroTime is version of Time with microsecond level precision.action (string)action is what action was taken/failed regarding to the regarding object. It is machine-readable. This field cannot be empty for new Events and it can have at most 128 characters.deprecatedCount (int32)deprecatedCount is the deprecated field assuring backward compatibility with core.v1 Event type.deprecatedFirstTimestamp (Time)deprecatedFirstTimestamp is the deprecated field assuring backward compatibility with core.v1 Event type.Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.deprecatedLastTimestamp (Time)deprecatedLastTimestamp is the deprecated field assuring backward compatibility with core.v1 Event type.Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.deprecatedSource (EventSource)deprecatedSource is the deprecated field assuring backward compatibility with core.v1 Event type.EventSource contains information for an event.deprecatedSource.component (string)Component from which the event is generated.deprecatedSource.host (string)Node name on which the event is generated.note (string)note is a human-readable description of the status of this operation. Maximal length of the note is 1kB, but libraries should be prepared to handle values up to 64kB.reason (string)reason is why the action was taken. It is human-readable. This field cannot be empty for new Events and it can have at most 128 characters.regarding (ObjectReference)regarding contains the object this Event is about. In most cases it's an Object reporting controller implements, e.g. ReplicaSetController implements ReplicaSets and this event is emitted because it acts on some changes in a ReplicaSet object.related (ObjectReference)related is the optional secondary object for more complex actions. E.g. when regarding object triggers a creation or deletion of related object.reportingController (string)reportingController is the nam


Question: What are the benefits of Event?

Answer: EventEvent is a report of an event somewhere in the cluster.apiVersion: events.k8s.io/v1import "k8s.io/api/events/v1"EventEvent is a report of an event somewhere in the cluster. It generally denotes some state change in the system. Events have a limited retention time and triggers and messages may evolve with time. Event consumers should not rely on the timing of an event with a given Reason reflecting a consistent underlying trigger, or the continued existence of events with that Reason. Events should be treated as informative, best-effort, supplemental data.apiVersion: events.k8s.io/v1kind: Eventmetadata (ObjectMeta)Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataeventTime (MicroTime), requiredeventTime is the time when this Event was first observed. It is required.MicroTime is version of Time with microsecond level precision.action (string)action is what action was taken/failed regarding to the regarding object. It is machine-readable. This field cannot be empty for new Events and it can have at most 128 characters.deprecatedCount (int32)deprecatedCount is the deprecated field assuring backward compatibility with core.v1 Event type.deprecatedFirstTimestamp (Time)deprecatedFirstTimestamp is the deprecated field assuring backward compatibility with core.v1 Event type.Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.deprecatedLastTimestamp (Time)deprecatedLastTimestamp is the deprecated field assuring backward compatibility with core.v1 Event type.Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.deprecatedSource (EventSource)deprecatedSource is the deprecated field assuring backward compatibility with core.v1 Event type.EventSource contains information for an event.deprecatedSource.component (string)Component from which the event is generated.deprecatedSource.host (string)Node name on which the event is generated.note (string)note is a human-readable description of the status of this operation. Maximal length of the note is 1kB, but libraries should be prepared to handle values up to 64kB.reason (string)reason is why the action was taken. It is human-readable. This field cannot be empty for new Events and it can have at most 128 characters.regarding (ObjectReference)regarding contains the object this Event is about. In most cases it's an Object reporting controller implements, e.g. ReplicaSetController implements ReplicaSets and this event is emitted because it acts on some changes in a ReplicaSet object.related (ObjectReference)related is the optional secondary object for more complex actions. E.g. when regarding object triggers a creation or deletion of related object.reportingController (string)reportingController is the nam


Question: What is Event?

Answer: a p i V e r s i o n :   e v e n t s . k 8 s . i o / v 1   i m p o r t   " k 8 s . i o / a p i / e v e n t s / v 1 "


Question: What is Event?

Answer: E v e n t   i s   a   r e p o r t   o f   a n   e v e n t   s o m e w h e r e   i n   t h e   c l u s t e r .   I t   g e n e r a l l y   d e n o t e s   s o m e   s t a t e   c h a n g e   i n   t h e   s y s t e m .   E v e n t s   h a v e   a   l i m i t e d   r e t e n t i o n   t i m e   a n d   t r i g g e r s   a n d   m e s s a g e s   m a y   e v o l v e   w i t h   t i m e .   E v e n t   c o n s u m e r s   s h o u l d   n o t   r e l y   o n   t h e   t i m i n g   o f   a n   e v e n t   w i t h   a   g i v e n   R e a s o n   r e f l e c t i n g   a   c o n s i s t e n t   u n d e r l y i n g   t r i g g e r ,   o r   t h e   c o n t i n u e d   e x i s t e n c e   o f   e v e n t s   w i t h   t h a t   R e a s o n .   E v e n t s   s h o u l d   b e   t r e a t e d   a s   i n f o r m a t i v e ,   b e s t - e f f o r t ,   s u p p l e m e n t a l   d a t a .   a p i V e r s i o n :   e v e n t s . k 8 s . i o / v 1 k i n d :   E v e n t m e t a d a t a   ( O b j e c t M e t a ) S t a n d a r d   o b j e c t ' s   m e t a d a t a .   M o r e   i n f o :   h t t p s : / / g i t . k 8 s . i o / c o m m u n i t y / c o n t r i b u t o r s / d e v e l / s i g - a r c h i t e c t u r e / a p i - c o n v e n t i o n s . m d # m e t a d a t a e v e n t T i m e   ( M i c r o T i m e ) ,   r e q u i r e d e v e n t T i m e   i s   t h e   t i m e   w h e n   t h i s   E v e n t   w a s   f i r s t   o b s e r v e d .   I t   i s   r e q u i r e d . M i c r o T i m e   i s   v e r s i o n   o f   T i m e   w i t h   m i c r o s e c o n d   l e v e l   p r e c i s i o n . a c t i o n   ( s t r i n g ) a c t i o n   i s   w h a t   a c t i o n   w a s   t a k e n / f a i l e d   r e g a r d i n g   t o   t h e   r e g a r d i n g   o b j e c t .   I t   i s   m a c h i n e - r e a d a b l e .   T h i s   f i e l d   c a n n o t   b e   e m p t y   f o r   n e w   E v e n t s   a n d   i t   c a n   h a v e   a t   m o s t   1 2 8   c h a r a c t e r s . d e p r


Question: What is EventList?

Answer: E v e n t L i s t   i s   a   l i s t   o f   E v e n t   o b j e c t s .   a p i V e r s i o n :   e v e n t s . k 8 s . i o / v 1 k i n d :   E v e n t L i s t m e t a d a t a   ( L i s t M e t a ) S t a n d a r d   l i s t   m e t a d a t a .   M o r e   i n f o :   h t t p s : / / g i t . k 8 s . i o / c o m m u n i t y / c o n t r i b u t o r s / d e v e l / s i g - a r c h i t e c t u r e / a p i - c o n v e n t i o n s . m d # m e t a d a t a i t e m s   ( [ ] E v e n t ) ,   r e q u i r e d i t e m s   i s   a   l i s t   o f   s c h e m a   o b j e c t s .   a p i V e r s i o n :   e v e n t s . k 8 s . i o / v 1   k i n d :   E v e n t L i s t   m e t a d a t a   ( L i s t M e t a )   S t a n d a r d   l i s t   m e t a d a t a .   M o r e   i n f o :   h t t p s : / / g i t . k 8 s . i o / c o m m u n i t y / c o n t r i b u t o r s / d e v e l / s i g - a r c h i t e c t u r e / a p i - c o n v e n t i o n s . m d # m e t a d a t a   i t e m s   ( [ ] E v e n t ) ,   r e q u i r e d   i t e m s   i s   a   l i s t   o f   s c h e m a   o b j e c t s .


Question: What is HTTP Request?

Answer: G E T   / a p i s / e v e n t s . k 8 s . i o / v 1 / n a m e s p a c e s / { n a m e s p a c e } / e v e n t s / { n a m e }


Question: What is Parameters?

Answer: n a m e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d n a m e   o f   t h e   E v e n t n a m e s p a c e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d n a m e s p a c e p r e t t y   ( i n   q u e r y ) :   s t r i n g p r e t t y   n a m e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d   n a m e   o f   t h e   E v e n t   n a m e s p a c e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d   n a m e s p a c e   p r e t t y   ( i n   q u e r y ) :   s t r i n g   p r e t t y


Question: What is Response?

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


Question: What is HTTP Request?

Answer: G E T   / a p i s / e v e n t s . k 8 s . i o / v 1 / n a m e s p a c e s / { n a m e s p a c e } / e v e n t s


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: G E T   / a p i s / e v e n t s . k 8 s . i o / v 1 / e v e n t s


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: P O S T   / a p i s / e v e n t s . k 8 s . i o / v 1 / n a m e s p a c e s / { n a m e s p a c e } / e v e n t s


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: P U T   / a p i s / e v e n t s . k 8 s . i o / v 1 / n a m e s p a c e s / { n a m e s p a c e } / e v e n t s / { n a m e }


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

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


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

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


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

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