Question: How does Leases work?

Answer: LeasesDistributed systems often have a need for leases, which provide a mechanism to lock shared resources and coordinate activity between members of a set. In Kubernetes, the lease concept is represented by Lease objects in the coordination.k8s.io API Group, which are used for system-critical capabilities such as node heartbeats and component-level leader election.Node heartbeatsKubernetes uses the Lease API to communicate kubelet node heartbeats to the Kubernetes API server. For every Node , there is a Lease object with a matching name in the kube-node-lease namespace. Under the hood, every kubelet heartbeat is an update request to this Lease object, updating the spec.renewTime field for the Lease. The Kubernetes control plane uses the time stamp of this field to determine the availability of this Node.See Node Lease objects for more details.Leader electionKubernetes also uses Leases to ensure only one instance of a component is running at any given time. This is used by control plane components like kube-controller-manager and kube-scheduler in HA configurations, where only one instance of the component should be actively running while the other instances are on stand-by.Read coordinated leader election to learn about how Kubernetes builds on the Lease API to select which component instance acts as leader.API server identityFEATURE STATE: Kubernetes v1.26 [beta] (enabled by default: true)Starting in Kubernetes v1.26, each kube-apiserver uses the Lease API to publish its identity to the rest of the system. While not particularly useful on its own, this provides a mechanism for clients to discover how many instances of kube-apiserver are operating the Kubernetes control plane. Existence of kube-apiserver leases enables future capabilities that may require coordination between each kube-apiserver.You can inspect Leases owned by each kube-apiserver by checking for lease objects in the kube-system namespace with the name apiserver-<sha256-hash>. Alternatively you can use the label selector apiserver.kubernetes.io/identity=kube-apiserver:kubectl -n kube-system get lease -l apiserver.kubernetes.io/identity=kube-apiserver NAME HOLDER AGE apiserver-07a5ea9b9b072c4a5f3d1c3702 apiserver-07a5ea9b9b072c4a5f3d1c3702_0c8914f7-0f35-440e-8676-7844977d3a05 5m33s apiserver-7be9e061c59d368b3ddaf1376e apiserver-7be9e061c59d368b3ddaf1376e_84f2a85d-37c1-4b14-b6b9-603e62e4896f 4m23s apiserver-1dfef752bcb36637d2763d1868 apiserver-1dfef752bcb36637d2763d1868_c5ffa286-8a9a-45d4-91e7-61118ed58d2e 4m43s The SHA256 hash used in the lease name is based on the OS hostname as seen by that API server. Each kube-apiserver should be configured to use a hostname that is unique within the cluster. New instances of kube-apiserver that use the same hostname will take over existing Leases using a new holder identity, as opposed to instantiating new Lease objects. You can check the hostname used by kube-apiserver by checking the value of the kubernetes.io/hostname label:kubectl -n kube


Question: When would you use Leases?

Answer: LeasesDistributed systems often have a need for leases, which provide a mechanism to lock shared resources and coordinate activity between members of a set. In Kubernetes, the lease concept is represented by Lease objects in the coordination.k8s.io API Group, which are used for system-critical capabilities such as node heartbeats and component-level leader election.Node heartbeatsKubernetes uses the Lease API to communicate kubelet node heartbeats to the Kubernetes API server. For every Node , there is a Lease object with a matching name in the kube-node-lease namespace. Under the hood, every kubelet heartbeat is an update request to this Lease object, updating the spec.renewTime field for the Lease. The Kubernetes control plane uses the time stamp of this field to determine the availability of this Node.See Node Lease objects for more details.Leader electionKubernetes also uses Leases to ensure only one instance of a component is running at any given time. This is used by control plane components like kube-controller-manager and kube-scheduler in HA configurations, where only one instance of the component should be actively running while the other instances are on stand-by.Read coordinated leader election to learn about how Kubernetes builds on the Lease API to select which component instance acts as leader.API server identityFEATURE STATE: Kubernetes v1.26 [beta] (enabled by default: true)Starting in Kubernetes v1.26, each kube-apiserver uses the Lease API to publish its identity to the rest of the system. While not particularly useful on its own, this provides a mechanism for clients to discover how many instances of kube-apiserver are operating the Kubernetes control plane. Existence of kube-apiserver leases enables future capabilities that may require coordination between each kube-apiserver.You can inspect Leases owned by each kube-apiserver by checking for lease objects in the kube-system namespace with the name apiserver-<sha256-hash>. Alternatively you can use the label selector apiserver.kubernetes.io/identity=kube-apiserver:kubectl -n kube-system get lease -l apiserver.kubernetes.io/identity=kube-apiserver NAME HOLDER AGE apiserver-07a5ea9b9b072c4a5f3d1c3702 apiserver-07a5ea9b9b072c4a5f3d1c3702_0c8914f7-0f35-440e-8676-7844977d3a05 5m33s apiserver-7be9e061c59d368b3ddaf1376e apiserver-7be9e061c59d368b3ddaf1376e_84f2a85d-37c1-4b14-b6b9-603e62e4896f 4m23s apiserver-1dfef752bcb36637d2763d1868 apiserver-1dfef752bcb36637d2763d1868_c5ffa286-8a9a-45d4-91e7-61118ed58d2e 4m43s The SHA256 hash used in the lease name is based on the OS hostname as seen by that API server. Each kube-apiserver should be configured to use a hostname that is unique within the cluster. New instances of kube-apiserver that use the same hostname will take over existing Leases using a new holder identity, as opposed to instantiating new Lease objects. You can check the hostname used by kube-apiserver by checking the value of the kubernetes.io/hostname label:kubectl -n kube


Question: What are the benefits of Leases?

Answer: LeasesDistributed systems often have a need for leases, which provide a mechanism to lock shared resources and coordinate activity between members of a set. In Kubernetes, the lease concept is represented by Lease objects in the coordination.k8s.io API Group, which are used for system-critical capabilities such as node heartbeats and component-level leader election.Node heartbeatsKubernetes uses the Lease API to communicate kubelet node heartbeats to the Kubernetes API server. For every Node , there is a Lease object with a matching name in the kube-node-lease namespace. Under the hood, every kubelet heartbeat is an update request to this Lease object, updating the spec.renewTime field for the Lease. The Kubernetes control plane uses the time stamp of this field to determine the availability of this Node.See Node Lease objects for more details.Leader electionKubernetes also uses Leases to ensure only one instance of a component is running at any given time. This is used by control plane components like kube-controller-manager and kube-scheduler in HA configurations, where only one instance of the component should be actively running while the other instances are on stand-by.Read coordinated leader election to learn about how Kubernetes builds on the Lease API to select which component instance acts as leader.API server identityFEATURE STATE: Kubernetes v1.26 [beta] (enabled by default: true)Starting in Kubernetes v1.26, each kube-apiserver uses the Lease API to publish its identity to the rest of the system. While not particularly useful on its own, this provides a mechanism for clients to discover how many instances of kube-apiserver are operating the Kubernetes control plane. Existence of kube-apiserver leases enables future capabilities that may require coordination between each kube-apiserver.You can inspect Leases owned by each kube-apiserver by checking for lease objects in the kube-system namespace with the name apiserver-<sha256-hash>. Alternatively you can use the label selector apiserver.kubernetes.io/identity=kube-apiserver:kubectl -n kube-system get lease -l apiserver.kubernetes.io/identity=kube-apiserver NAME HOLDER AGE apiserver-07a5ea9b9b072c4a5f3d1c3702 apiserver-07a5ea9b9b072c4a5f3d1c3702_0c8914f7-0f35-440e-8676-7844977d3a05 5m33s apiserver-7be9e061c59d368b3ddaf1376e apiserver-7be9e061c59d368b3ddaf1376e_84f2a85d-37c1-4b14-b6b9-603e62e4896f 4m23s apiserver-1dfef752bcb36637d2763d1868 apiserver-1dfef752bcb36637d2763d1868_c5ffa286-8a9a-45d4-91e7-61118ed58d2e 4m43s The SHA256 hash used in the lease name is based on the OS hostname as seen by that API server. Each kube-apiserver should be configured to use a hostname that is unique within the cluster. New instances of kube-apiserver that use the same hostname will take over existing Leases using a new holder identity, as opposed to instantiating new Lease objects. You can check the hostname used by kube-apiserver by checking the value of the kubernetes.io/hostname label:kubectl -n kube


Question: What is Leases?

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


Question: What is Node heartbeats?

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


Question: What is Leader election?

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


Question: What is API server identity?

Answer: S t a r t i n g   i n   K u b e r n e t e s   v 1 . 2 6 ,   e a c h   k u b e - a p i s e r v e r   u s e s   t h e   L e a s e   A P I   t o   p u b l i s h   i t s   i d e n t i t y   t o   t h e   r e s t   o f   t h e   s y s t e m .   W h i l e   n o t   p a r t i c u l a r l y   u s e f u l   o n   i t s   o w n ,   t h i s   p r o v i d e s   a   m e c h a n i s m   f o r   c l i e n t s   t o   d i s c o v e r   h o w   m a n y   i n s t a n c e s   o f   k u b e - a p i s e r v e r   a r e   o p e r a t i n g   t h e   K u b e r n e t e s   c o n t r o l   p l a n e .   E x i s t e n c e   o f   k u b e - a p i s e r v e r   l e a s e s   e n a b l e s   f u t u r e   c a p a b i l i t i e s   t h a t   m a y   r e q u i r e   c o o r d i n a t i o n   b e t w e e n   e a c h   k u b e - a p i s e r v e r .   Y o u   c a n   i n s p e c t   L e a s e s   o w n e d   b y   e a c h   k u b e - a p i s e r v e r   b y   c h e c k i n g   f o r   l e a s e   o b j e c t s   i n   t h e   k u b e - s y s t e m   n a m e s p a c e   w i t h   t h e   n a m e   a p i s e r v e r - < s h a 2 5 6 - h a s h > .   A l t e r n a t i v e l y   y o u   c a n   u s e   t h e   l a b e l   s e l e c t o r   a p i s e r v e r . k u b e r n e t e s . i o / i d e n t i t y = k u b e - a p i s e r v e r :   k u b e c t l   - n   k u b e - s y s t e m   g e t   l e a s e   - l   a p i s e r v e r . k u b e r n e t e s . i o / i d e n t i t y = k u b e - a p i s e r v e r   N A M E   H O L D E R   A G E   a p i s e r v e r - 0 7 a 5 e a 9 b 9 b 0 7 2 c 4 a 5 f 3 d 1 c 3 7 0 2   a p i s e r v e r - 0 7 a 5 e a 9 b 9 b 0 7 2 c 4 a 5 f 3 d 1 c 3 7 0 2 _ 0 c 8 9 1 4 f 7 - 0 f 3 5 - 4 4 0 e - 8 6 7 6 - 7 8 4 4 9 7 7 d 3 a 0 5   5 m 3 3 s   a p i s e r v e r - 7 b e 9 e 0 6 1 c 5 9 d 3 6 8 b 3 d d a f 1 3 7 6 e   a p i s e r v e r - 7 b e 9 e 0 6 1 c 5 9 d 3 6 8 b 3 d d a f 1 3 7 6 e _ 8 4 f 2 a 8 5 d - 3 7 c 1 - 4 b 1 4 - b 6 b 9 - 6 0 3 e 6 2 e 4 8 9 6 f   4 m 2 3 s   a p i s e r v


Question: What is Workloads?

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


Question: What is Helping as a blog writing buddy?

Answer: Helping as a blog writing buddyThere are two official Kubernetes blogs, and the CNCF has its own blog where you can cover Kubernetes too. Read contributing to Kubernetes blogs to learn about these two blogs.When people contribute to either blog as an author, the Kubernetes project pairs up authors as writing buddies. This page explains how to fulfil the buddy role.You should make sure that you have at least read an outline of article submission before you read on within this page.Buddy responsibilitiesAs a writing buddy, you:help the blog team get articles ready to merge and to publishsupport your buddy to produce content that is good to mergeprovide a review on the article that your buddy has writtenWhen the team pairs you up with another author, the idea is that you both support each other by reviewing the other author's draft article. Most people reading articles on the Kubernetes blog are not experts; the content should try to make sense for that audience, or at least to support non-expert readers appropriately.The blog team are also there to help you both along the journey from draft to publication. They will either be directly able to approve your article for publication, or can arrange for the approval to happen.Supporting the blog teamYour main responsibility here is to communicate about your capacity, availability and progress in a reasonable timeline. If many weeks go by and your buddy hasn't heard from you, it makes the overall work take more time.Supporting your buddyThere are two parts to the process(This is the recommended option)The blog team recommend that the main author for the article sets up collaborative editing using either a Google Doc or HackMD (their choice). The main author then shares that document with the following people:Any co-authorsYou (their writing buddy)Ideally, with a nominated person from the blog team.As a writing buddy, you then read the draft text and either directly make suggestions or provide


Question: How does Helping as a blog writing buddy work?

Answer: Helping as a blog writing buddyThere are two official Kubernetes blogs, and the CNCF has its own blog where you can cover Kubernetes too. Read contributing to Kubernetes blogs to learn about these two blogs.When people contribute to either blog as an author, the Kubernetes project pairs up authors as writing buddies. This page explains how to fulfil the buddy role.You should make sure that you have at least read an outline of article submission before you read on within this page.Buddy responsibilitiesAs a writing buddy, you:help the blog team get articles ready to merge and to publishsupport your buddy to produce content that is good to mergeprovide a review on the article that your buddy has writtenWhen the team pairs you up with another author, the idea is that you both support each other by reviewing the other author's draft article. Most people reading articles on the Kubernetes blog are not experts; the content should try to make sense for that audience, or at least to support non-expert readers appropriately.The blog team are also there to help you both along the journey from draft to publication. They will either be directly able to approve your article for publication, or can arrange for the approval to happen.Supporting the blog teamYour main responsibility here is to communicate about your capacity, availability and progress in a reasonable timeline. If many weeks go by and your buddy hasn't heard from you, it makes the overall work take more time.Supporting your buddyThere are two parts to the process(This is the recommended option)The blog team recommend that the main author for the article sets up collaborative editing using either a Google Doc or HackMD (their choice). The main author then shares that document with the following people:Any co-authorsYou (their writing buddy)Ideally, with a nominated person from the blog team.As a writing buddy, you then read the draft text and either directly make suggestions or provide


Question: When would you use Helping as a blog writing buddy?

Answer: Helping as a blog writing buddyThere are two official Kubernetes blogs, and the CNCF has its own blog where you can cover Kubernetes too. Read contributing to Kubernetes blogs to learn about these two blogs.When people contribute to either blog as an author, the Kubernetes project pairs up authors as writing buddies. This page explains how to fulfil the buddy role.You should make sure that you have at least read an outline of article submission before you read on within this page.Buddy responsibilitiesAs a writing buddy, you:help the blog team get articles ready to merge and to publishsupport your buddy to produce content that is good to mergeprovide a review on the article that your buddy has writtenWhen the team pairs you up with another author, the idea is that you both support each other by reviewing the other author's draft article. Most people reading articles on the Kubernetes blog are not experts; the content should try to make sense for that audience, or at least to support non-expert readers appropriately.The blog team are also there to help you both along the journey from draft to publication. They will either be directly able to approve your article for publication, or can arrange for the approval to happen.Supporting the blog teamYour main responsibility here is to communicate about your capacity, availability and progress in a reasonable timeline. If many weeks go by and your buddy hasn't heard from you, it makes the overall work take more time.Supporting your buddyThere are two parts to the process(This is the recommended option)The blog team recommend that the main author for the article sets up collaborative editing using either a Google Doc or HackMD (their choice). The main author then shares that document with the following people:Any co-authorsYou (their writing buddy)Ideally, with a nominated person from the blog team.As a writing buddy, you then read the draft text and either directly make suggestions or provide


Question: What are the benefits of Helping as a blog writing buddy?

Answer: Helping as a blog writing buddyThere are two official Kubernetes blogs, and the CNCF has its own blog where you can cover Kubernetes too. Read contributing to Kubernetes blogs to learn about these two blogs.When people contribute to either blog as an author, the Kubernetes project pairs up authors as writing buddies. This page explains how to fulfil the buddy role.You should make sure that you have at least read an outline of article submission before you read on within this page.Buddy responsibilitiesAs a writing buddy, you:help the blog team get articles ready to merge and to publishsupport your buddy to produce content that is good to mergeprovide a review on the article that your buddy has writtenWhen the team pairs you up with another author, the idea is that you both support each other by reviewing the other author's draft article. Most people reading articles on the Kubernetes blog are not experts; the content should try to make sense for that audience, or at least to support non-expert readers appropriately.The blog team are also there to help you both along the journey from draft to publication. They will either be directly able to approve your article for publication, or can arrange for the approval to happen.Supporting the blog teamYour main responsibility here is to communicate about your capacity, availability and progress in a reasonable timeline. If many weeks go by and your buddy hasn't heard from you, it makes the overall work take more time.Supporting your buddyThere are two parts to the process(This is the recommended option)The blog team recommend that the main author for the article sets up collaborative editing using either a Google Doc or HackMD (their choice). The main author then shares that document with the following people:Any co-authorsYou (their writing buddy)Ideally, with a nominated person from the blog team.As a writing buddy, you then read the draft text and either directly make suggestions or provide


Question: What is Helping as a blog writing buddy?

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


Question: What is Buddy responsibilities?

Answer: A s   a   w r i t i n g   b u d d y ,   y o u :   h e l p   t h e   b l o g   t e a m   g e t   a r t i c l e s   r e a d y   t o   m e r g e   a n d   t o   p u b l i s h s u p p o r t   y o u r   b u d d y   t o   p r o d u c e   c o n t e n t   t h a t   i s   g o o d   t o   m e r g e p r o v i d e   a   r e v i e w   o n   t h e   a r t i c l e   t h a t   y o u r   b u d d y   h a s   w r i t t e n   W h e n   t h e   t e a m   p a i r s   y o u   u p   w i t h   a n o t h e r   a u t h o r ,   t h e   i d e a   i s   t h a t   y o u   b o t h   s u p p o r t   e a c h   o t h e r   b y   r e v i e w i n g   t h e   o t h e r   a u t h o r ' s   d r a f t   a r t i c l e .   M o s t   p e o p l e   r e a d i n g   a r t i c l e s   o n   t h e   K u b e r n e t e s   b l o g   a r e   n o t   e x p e r t s ;   t h e   c o n t e n t   s h o u l d   t r y   t o   m a k e   s e n s e   f o r   t h a t   a u d i e n c e ,   o r   a t   l e a s t   t o   s u p p o r t   n o n - e x p e r t   r e a d e r s   a p p r o p r i a t e l y .   T h e   b l o g   t e a m   a r e   a l s o   t h e r e   t o   h e l p   y o u   b o t h   a l o n g   t h e   j o u r n e y   f r o m   d r a f t   t o   p u b l i c a t i o n .   T h e y   w i l l   e i t h e r   b e   d i r e c t l y   a b l e   t o   a p p r o v e   y o u r   a r t i c l e   f o r   p u b l i c a t i o n ,   o r   c a n   a r r a n g e   f o r   t h e   a p p r o v a l   t o   h a p p e n .


Question: What is Supporting the blog team?

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


Question: What is Supporting your buddy?

Answer: T h e r e   a r e   t w o   p a r t s   t o   t h e   p r o c e s s   ( T h i s   i s   t h e   r e c o m m e n d e d   o p t i o n ) T h e   b l o g   t e a m   r e c o m m e n d   t h a t   t h e   m a i n   a u t h o r   f o r   t h e   a r t i c l e   s e t s   u p   c o l l a b o r a t i v e   e d i t i n g   u s i n g   e i t h e r   a   G o o g l e   D o c   o r   H a c k M D   ( t h e i r   c h o i c e ) .   T h e   m a i n   a u t h o r   t h e n   s h a r e s   t h a t   d o c u m e n t   w i t h   t h e   f o l l o w i n g   p e o p l e : A n y   c o - a u t h o r s Y o u   ( t h e i r   w r i t i n g   b u d d y ) I d e a l l y ,   w i t h   a   n o m i n a t e d   p e r s o n   f r o m   t h e   b l o g   t e a m . A s   a   w r i t i n g   b u d d y ,   y o u   t h e n   r e a d   t h e   d r a f t   t e x t   a n d   e i t h e r   d i r e c t l y   m a k e   s u g g e s t i o n s   o r   p r o v i d e


Question: What is Pull request review?

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


Question: What is Subsequent steps?

Answer: F o r   y o u   a s   a   w r i t i n g   b u d d y ,   t h e r e   i s   n o   s t e p   f o u r .   O n c e   t h e   p u l l   r e q u e s t   i s   g o o d   t o   m e r g e ,   t h e   b l o g   t e a m   ( o r ,   f o r   t h e   c o n t r i b u t o r   s i t e ,   t h e   c o n t r i b u t o r   c o m m s   t e a m )   t a k e   t h i n g s   f r o m   t h e r e .   I t ' s   p o s s i b l e   t h a t   y o u ' l l   n e e d   t o   r e t u r n   t o   a n   e a r l i e r   s t e p   b a s e d   o n


Question: What is Mutating Admission Policy?

Answer: Mutating Admission PolicyFEATURE STATE: Kubernetes v1.34 [beta]This page provides an overview of MutatingAdmissionPolicies. MutatingAdmissionPolicies allow you change what happens when someone writes a change to the Kubernetes API. If you want to use declarative policies just to prevent a particular kind of change to resources (for example: protecting platform namespaces from deletion), ValidatingAdmissionPolicy is a simpler and more effective alternative.To use the feature, enable the MutatingAdmissionPolicy feature gate (which is off by default) and set --runtime-config=admissionregistration.k8s.io/v1beta1=true on the kube-apiserver.What are MutatingAdmissionPolicies?Mutating admission policies offer a declarative, in-process alternative to mutating admission webhooks.Mutating admission policies use the Common Expression Language (CEL) to declare mutations to resources. Mutations can be defined either with an apply configuration that is merged using the server side apply merge strategy, or a JSON patch.Mutating admission policies are highly configurable, enabling policy authors to define policies that can be parameterized and scoped to resources as needed by cluster administrators.What resources make a policyA policy is generally made up of three resources:The MutatingAdmissionPolicy describes the abstract logic of a policy (think: "this policy sets a particular label to a particular value").A parameter resource provides information to a MutatingAdmissionPolicy to make it a concrete statement (think "set the owner label to something like company.example.com"). Parameter resources refer to Kubernetes resources, available in the Kubernetes API. They can be built-in types or extensions, such as a CustomResourceDefinition (CRD). For example, you can use a ConfigMap as a parameter.A MutatingAdmissionPolicyBinding links the above (MutatingAdmissionPolicy and parameter) resources together and provides scoping. If you only want to set an owner label for Pods, and not other API kinds, the binding is where you specify this mutation.At least a MutatingAdmissionPolicy and a corresponding MutatingAdmissionPolicyBinding must be defined for a policy to have an effect.If a MutatingAdmissionPolicy does not need to be configured via parameters, simply leave spec.paramKind in MutatingAdmissionPolicy not specified.Getting Started with MutatingAdmissionPoliciesMutating admission policy is part of the cluster control-plane. You should write and deploy them with great caution. The following describes how to quickly experiment with Mutating admission policy.Create a MutatingAdmissionPolicyThe following is an example of a MutatingAdmissionPolicy. This policy mutates newly created Pods to have a sidecar container if it does not exist.mutatingadmissionpolicy/applyconfiguration-example.yaml apiVersion: admissionregistration.k8s.io/v1beta1 kind: MutatingAdmissionPolicy metadata: name: "sidecar-policy.example.com" spec: paramKind: kind: Sidecar apiVersion: mutations.example


Question: How does Mutating Admission Policy work?

Answer: Mutating Admission PolicyFEATURE STATE: Kubernetes v1.34 [beta]This page provides an overview of MutatingAdmissionPolicies. MutatingAdmissionPolicies allow you change what happens when someone writes a change to the Kubernetes API. If you want to use declarative policies just to prevent a particular kind of change to resources (for example: protecting platform namespaces from deletion), ValidatingAdmissionPolicy is a simpler and more effective alternative.To use the feature, enable the MutatingAdmissionPolicy feature gate (which is off by default) and set --runtime-config=admissionregistration.k8s.io/v1beta1=true on the kube-apiserver.What are MutatingAdmissionPolicies?Mutating admission policies offer a declarative, in-process alternative to mutating admission webhooks.Mutating admission policies use the Common Expression Language (CEL) to declare mutations to resources. Mutations can be defined either with an apply configuration that is merged using the server side apply merge strategy, or a JSON patch.Mutating admission policies are highly configurable, enabling policy authors to define policies that can be parameterized and scoped to resources as needed by cluster administrators.What resources make a policyA policy is generally made up of three resources:The MutatingAdmissionPolicy describes the abstract logic of a policy (think: "this policy sets a particular label to a particular value").A parameter resource provides information to a MutatingAdmissionPolicy to make it a concrete statement (think "set the owner label to something like company.example.com"). Parameter resources refer to Kubernetes resources, available in the Kubernetes API. They can be built-in types or extensions, such as a CustomResourceDefinition (CRD). For example, you can use a ConfigMap as a parameter.A MutatingAdmissionPolicyBinding links the above (MutatingAdmissionPolicy and parameter) resources together and provides scoping. If you only want to set an owner label for Pods, and not other API kinds, the binding is where you specify this mutation.At least a MutatingAdmissionPolicy and a corresponding MutatingAdmissionPolicyBinding must be defined for a policy to have an effect.If a MutatingAdmissionPolicy does not need to be configured via parameters, simply leave spec.paramKind in MutatingAdmissionPolicy not specified.Getting Started with MutatingAdmissionPoliciesMutating admission policy is part of the cluster control-plane. You should write and deploy them with great caution. The following describes how to quickly experiment with Mutating admission policy.Create a MutatingAdmissionPolicyThe following is an example of a MutatingAdmissionPolicy. This policy mutates newly created Pods to have a sidecar container if it does not exist.mutatingadmissionpolicy/applyconfiguration-example.yaml apiVersion: admissionregistration.k8s.io/v1beta1 kind: MutatingAdmissionPolicy metadata: name: "sidecar-policy.example.com" spec: paramKind: kind: Sidecar apiVersion: mutations.example


Question: When would you use Mutating Admission Policy?

Answer: Mutating Admission PolicyFEATURE STATE: Kubernetes v1.34 [beta]This page provides an overview of MutatingAdmissionPolicies. MutatingAdmissionPolicies allow you change what happens when someone writes a change to the Kubernetes API. If you want to use declarative policies just to prevent a particular kind of change to resources (for example: protecting platform namespaces from deletion), ValidatingAdmissionPolicy is a simpler and more effective alternative.To use the feature, enable the MutatingAdmissionPolicy feature gate (which is off by default) and set --runtime-config=admissionregistration.k8s.io/v1beta1=true on the kube-apiserver.What are MutatingAdmissionPolicies?Mutating admission policies offer a declarative, in-process alternative to mutating admission webhooks.Mutating admission policies use the Common Expression Language (CEL) to declare mutations to resources. Mutations can be defined either with an apply configuration that is merged using the server side apply merge strategy, or a JSON patch.Mutating admission policies are highly configurable, enabling policy authors to define policies that can be parameterized and scoped to resources as needed by cluster administrators.What resources make a policyA policy is generally made up of three resources:The MutatingAdmissionPolicy describes the abstract logic of a policy (think: "this policy sets a particular label to a particular value").A parameter resource provides information to a MutatingAdmissionPolicy to make it a concrete statement (think "set the owner label to something like company.example.com"). Parameter resources refer to Kubernetes resources, available in the Kubernetes API. They can be built-in types or extensions, such as a CustomResourceDefinition (CRD). For example, you can use a ConfigMap as a parameter.A MutatingAdmissionPolicyBinding links the above (MutatingAdmissionPolicy and parameter) resources together and provides scoping. If you only want to set an owner label for Pods, and not other API kinds, the binding is where you specify this mutation.At least a MutatingAdmissionPolicy and a corresponding MutatingAdmissionPolicyBinding must be defined for a policy to have an effect.If a MutatingAdmissionPolicy does not need to be configured via parameters, simply leave spec.paramKind in MutatingAdmissionPolicy not specified.Getting Started with MutatingAdmissionPoliciesMutating admission policy is part of the cluster control-plane. You should write and deploy them with great caution. The following describes how to quickly experiment with Mutating admission policy.Create a MutatingAdmissionPolicyThe following is an example of a MutatingAdmissionPolicy. This policy mutates newly created Pods to have a sidecar container if it does not exist.mutatingadmissionpolicy/applyconfiguration-example.yaml apiVersion: admissionregistration.k8s.io/v1beta1 kind: MutatingAdmissionPolicy metadata: name: "sidecar-policy.example.com" spec: paramKind: kind: Sidecar apiVersion: mutations.example


Question: What are the benefits of Mutating Admission Policy?

Answer: Mutating Admission PolicyFEATURE STATE: Kubernetes v1.34 [beta]This page provides an overview of MutatingAdmissionPolicies. MutatingAdmissionPolicies allow you change what happens when someone writes a change to the Kubernetes API. If you want to use declarative policies just to prevent a particular kind of change to resources (for example: protecting platform namespaces from deletion), ValidatingAdmissionPolicy is a simpler and more effective alternative.To use the feature, enable the MutatingAdmissionPolicy feature gate (which is off by default) and set --runtime-config=admissionregistration.k8s.io/v1beta1=true on the kube-apiserver.What are MutatingAdmissionPolicies?Mutating admission policies offer a declarative, in-process alternative to mutating admission webhooks.Mutating admission policies use the Common Expression Language (CEL) to declare mutations to resources. Mutations can be defined either with an apply configuration that is merged using the server side apply merge strategy, or a JSON patch.Mutating admission policies are highly configurable, enabling policy authors to define policies that can be parameterized and scoped to resources as needed by cluster administrators.What resources make a policyA policy is generally made up of three resources:The MutatingAdmissionPolicy describes the abstract logic of a policy (think: "this policy sets a particular label to a particular value").A parameter resource provides information to a MutatingAdmissionPolicy to make it a concrete statement (think "set the owner label to something like company.example.com"). Parameter resources refer to Kubernetes resources, available in the Kubernetes API. They can be built-in types or extensions, such as a CustomResourceDefinition (CRD). For example, you can use a ConfigMap as a parameter.A MutatingAdmissionPolicyBinding links the above (MutatingAdmissionPolicy and parameter) resources together and provides scoping. If you only want to set an owner label for Pods, and not other API kinds, the binding is where you specify this mutation.At least a MutatingAdmissionPolicy and a corresponding MutatingAdmissionPolicyBinding must be defined for a policy to have an effect.If a MutatingAdmissionPolicy does not need to be configured via parameters, simply leave spec.paramKind in MutatingAdmissionPolicy not specified.Getting Started with MutatingAdmissionPoliciesMutating admission policy is part of the cluster control-plane. You should write and deploy them with great caution. The following describes how to quickly experiment with Mutating admission policy.Create a MutatingAdmissionPolicyThe following is an example of a MutatingAdmissionPolicy. This policy mutates newly created Pods to have a sidecar container if it does not exist.mutatingadmissionpolicy/applyconfiguration-example.yaml apiVersion: admissionregistration.k8s.io/v1beta1 kind: MutatingAdmissionPolicy metadata: name: "sidecar-policy.example.com" spec: paramKind: kind: Sidecar apiVersion: mutations.example


Question: What is Mutating Admission Policy?

Answer: T h i s   p a g e   p r o v i d e s   a n   o v e r v i e w   o f   M u t a t i n g A d m i s s i o n P o l i c i e s .   M u t a t i n g A d m i s s i o n P o l i c i e s   a l l o w   y o u   c h a n g e   w h a t   h a p p e n s   w h e n   s o m e o n e   w r i t e s   a   c h a n g e   t o   t h e   K u b e r n e t e s   A P I .   I f   y o u   w a n t   t o   u s e   d e c l a r a t i v e   p o l i c i e s   j u s t   t o   p r e v e n t   a   p a r t i c u l a r   k i n d   o f   c h a n g e   t o   r e s o u r c e s   ( f o r   e x a m p l e :   p r o t e c t i n g   p l a t f o r m   n a m e s p a c e s   f r o m   d e l e t i o n ) ,   V a l i d a t i n g A d m i s s i o n P o l i c y   i s   a   s i m p l e r   a n d   m o r e   e f f e c t i v e   a l t e r n a t i v e .   T o   u s e   t h e   f e a t u r e ,   e n a b l e   t h e   M u t a t i n g A d m i s s i o n P o l i c y   f e a t u r e   g a t e   ( w h i c h   i s   o f f   b y   d e f a u l t )   a n d   s e t   - - r u n t i m e - c o n f i g = a d m i s s i o n r e g i s t r a t i o n . k 8 s . i o / v 1 b e t a 1 = t r u e   o n   t h e   k u b e - a p i s e r v e r .


Question: What is What are MutatingAdmissionPolicies??

Answer: M u t a t i n g   a d m i s s i o n   p o l i c i e s   o f f e r   a   d e c l a r a t i v e ,   i n - p r o c e s s   a l t e r n a t i v e   t o   m u t a t i n g   a d m i s s i o n   w e b h o o k s .   M u t a t i n g   a d m i s s i o n   p o l i c i e s   u s e   t h e   C o m m o n   E x p r e s s i o n   L a n g u a g e   ( C E L )   t o   d e c l a r e   m u t a t i o n s   t o   r e s o u r c e s .   M u t a t i o n s   c a n   b e   d e f i n e d   e i t h e r   w i t h   a n   a p p l y   c o n f i g u r a t i o n   t h a t   i s   m e r g e d   u s i n g   t h e   s e r v e r   s i d e   a p p l y   m e r g e   s t r a t e g y ,   o r   a   J S O N   p a t c h .   M u t a t i n g   a d m i s s i o n   p o l i c i e s   a r e   h i g h l y   c o n f i g u r a b l e ,   e n a b l i n g   p o l i c y   a u t h o r s   t o   d e f i n e   p o l i c i e s   t h a t   c a n   b e   p a r a m e t e r i z e d   a n d   s c o p e d   t o   r e s o u r c e s   a s   n e e d e d   b y   c l u s t e r   a d m i n i s t r a t o r s .


Question: What is What resources make a policy?

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


Question: What is Getting Started with MutatingAdmissionPolicies?

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


Question: What is Create a MutatingAdmissionPolicy?

Answer: T h e   f o l l o w i n g   i s   a n   e x a m p l e   o f   a   M u t a t i n g A d m i s s i o n P o l i c y .   T h i s   p o l i c y   m u t a t e s   n e w l y   c r e a t e d   P o d s   t o   h a v e   a   s i d e c a r   c o n t a i n e r   i f   i t   d o e s   n o t   e x i s t .   a p i V e r s i o n :   a d m i s s i o n r e g i s t r a t i o n . k 8 s . i o / v 1 b e t a 1   k i n d :   M u t a t i n g A d m i s s i o n P o l i c y   m e t a d a t a :   n a m e :   " s i d e c a r - p o l i c y . e x a m p l e . c o m "   s p e c :   p a r a m K i n d :   k i n d :   S i d e c a r   a p i V e r s i o n :   m u t a t i o n s . e x a m p l e . c o m / v 1   m a t c h C o n s t r a i n t s :   r e s o u r c e R u l e s :   -   a p i G r o u p s :   [ " " ]   a p i V e r s i o n s :   [ " v 1 " ]   o p e r a t i o n s :   [ " C R E A T E " ]   r e s o u r c e s :   [ " p o d s " ]   m a t c h C o n d i t i o n s :   -   n a m e :   d o e s - n o t - a l r e a d y - h a v e - s i d e c a r   e x p r e s s i o n :   " ! o b j e c t . s p e c . i n i t C o n t a i n e r s . e x i s t s ( i c ,   i c . n a m e   = =   \ " m e s h - p r o x y \ " ) "   f a i l u r e P o l i c y :   F a i l   r e i n v o c a t i o n P o l i c y :   I f N e e d e d   m u t a t i o n s :   -   p a t c h T y p e :   " A p p l y C o n f i g u r a t i o n "   a p p l y C o n f i g u r a t i o n :   e x p r e s s i o n :   >   O b j e c t {   s p e c :   O b j e c t . s p e c {   i n i t C o n t a i n e r s :   [   O b j e c t . s p e c . i n i t C o n t a i n e r s {   n a m e :   " m e s h - p r o x y " ,   i m a g e :   " m e s h / p r o x y : v 1 . 0 . 0 " ,   a r g s :   [ " p r o x y " ,   " s i d e c a r " ] ,   r e s t a r t P o l i c y :   " A l w a y s "   }   ]   }   }   T h e   . s p e c . m u t a t i o n s   f i e l d   c o n s i s t s   o f   a   l i s t   o f   e x p r e s s i o n s   t h a t   e v a l u a t e   t o   r e s o u r c e   p a t c h e s .   T h e   e m i t


Question: What is Parameter resources?

Answer: P a r a m e t e r   r e s o u r c e s   a l l o w   a   p o l i c y   c o n f i g u r a t i o n   t o   b e   s e p a r a t e   f r o m   i t s   d e f i n i t i o n .   A   p o l i c y   c a n   d e f i n e   p a r a m K i n d ,   w h i c h   o u t l i n e s   G V K   o f   t h e   p a r a m e t e r   r e s o u r c e ,   a n d   t h e n   a   p o l i c y   b i n d i n g   t i e s   a   p o l i c y   b y   n a m e   ( v i a   p o l i c y N a m e )   t o   a   p a r t i c u l a r   p a r a m e t e r   r e s o u r c e   v i a   p a r a m R e f .   P l e a s e   r e f e r   t o   p a r a m e t e r   r e s o u r c e s   f o r   m o r e   i n f o r m a t i o n .


Question: What is ApplyConfiguration?

Answer: M u t a t i n g A d m i s s i o n P o l i c y   e x p r e s s i o n s   a r e   a l w a y s   C E L .   E a c h   a p p l y   c o n f i g u r a t i o n   e x p r e s s i o n   m u s t   e v a l u a t e   t o   a   C E L   o b j e c t   ( d e c l a r e d   u s i n g   O b j e c t ( )   i n i t i a l i z a t i o n ) .   A p p l y   c o n f i g u r a t i o n s   m a y   n o t   m o d i f y   a t o m i c   s t r u c t s ,   m a p s   o r   a r r a y s   d u e   t o   t h e   r i s k   o f   a c c i d e n t a l   d e l e t i o n   o f   v a l u e s   n o t   i n c l u d e d   i n   t h e   a p p l y   c o n f i g u r a t i o n .   C E L   e x p r e s s i o n s   h a v e   a c c e s s   t o   t h e   o b j e c t   t y p e s   n e e d e d   t o   c r e a t e   a p p l y   c o n f i g u r a t i o n s :   O b j e c t   -   C E L   t y p e   o f   t h e   r e s o u r c e   o b j e c t . O b j e c t . < f i e l d N a m e >   -   C E L   t y p e   o f   o b j e c t   f i e l d   ( s u c h   a s   O b j e c t . s p e c ) O b j e c t . < f i e l d N a m e 1 > . < f i e l d N a m e 2 > . . . < f i e l d N a m e N >   -   C E L   t y p e   o f   n e s t e d   f i e l d   ( s u c h   a s   O b j e c t . s p e c . c o n t a i n e r s )   C E L   e x p r e s s i o n s   h a v e   a c c e s s   t o   t h e   c o n t e n t s   o f   t h e   A P I   r e q u e s t ,   o r g a n i z e d   i n t o   C E L   v a r i a b l e s   a s   w e l l   a s   s o m e   o t h e r   u s e f u l   v a r i a b l e s :   o b j e c t   -   T h e   o b j e c t   f r o m   t h e   i n c o m i n g   r e q u e s t .   T h e   v a l u e   i s   n u l l   f o r   D E L E T E   r e q u e s t s . o l d O b j e c t   -   T h e   e x i s t i n g   o b j e c t .   T h e   v a l u e   i s   n u l l   f o r   C R E A T E   r e q u e s t s . r e q u e s t   -   A t t r i b u t e s   o f   t h e   A P I   r e q u e s t . p a r a m s   -   P a r a m e t e r   r e s o u r c e   r e f e r r e d   t o   b y   t h e   p o l i


Question: What is JSONPatch?

Answer: T h e   s a m e   m u t a t i o n   c a n   b e   w r i t t e n   a s   a   J S O N   P a t c h   a s   f o l l o w s :   a p i V e r s i o n :   a d m i s s i o n r e g i s t r a t i o n . k 8 s . i o / v 1 b e t a 1   k i n d :   M u t a t i n g A d m i s s i o n P o l i c y   m e t a d a t a :   n a m e :   " s i d e c a r - p o l i c y . e x a m p l e . c o m "   s p e c :   p a r a m K i n d :   k i n d :   S i d e c a r   a p i V e r s i o n :   m u t a t i o n s . e x a m p l e . c o m / v 1   m a t c h C o n s t r a i n t s :   r e s o u r c e R u l e s :   -   a p i G r o u p s :   [ " " ]   a p i V e r s i o n s :   [ " v 1 " ]   o p e r a t i o n s :   [ " C R E A T E " ]   r e s o u r c e s :   [ " p o d s " ]   m a t c h C o n d i t i o n s :   -   n a m e :   d o e s - n o t - a l r e a d y - h a v e - s i d e c a r   e x p r e s s i o n :   " ! o b j e c t . s p e c . i n i t C o n t a i n e r s . e x i s t s ( i c ,   i c . n a m e   = =   \ " m e s h - p r o x y \ " ) "   f a i l u r e P o l i c y :   F a i l   r e i n v o c a t i o n P o l i c y :   I f N e e d e d   m u t a t i o n s :   -   p a t c h T y p e :   " J S O N P a t c h "   j s o n P a t c h :   e x p r e s s i o n :   >   [   J S O N P a t c h {   o p :   " a d d " ,   p a t h :   " / s p e c / i n i t C o n t a i n e r s / - " ,   v a l u e :   O b j e c t . s p e c . i n i t C o n t a i n e r s {   n a m e :   " m e s h - p r o x y " ,   i m a g e :   " m e s h - p r o x y / v 1 . 0 . 0 " ,   r e s t a r t P o l i c y :   " A l w a y s "   }   }   ]   T h e   e x p r e s s i o n   w i l l   b e   e v a l u a t e d   b y   C E L   t o   c r e a t e   a   J S O N   p a t c h .   r e f :   h t t p s : / / g i t h u b . c o m / g o o g l e / c e l - s p e c   E a c h   e v a l u a t e d   e x p r e s s i o n   m u s t   r e t u r n   a n   a r r a y   o f   J S O N P a t c h   v a l u e s .   T h e J S O N P a t c h   t y p e   r e p r e s e n t s   o n e   o p e r a t i o n   f r o m


Question: What is API kinds exempt from mutating admission?

Answer: T h e r e   a r e   c e r t a i n   A P I   k i n d s   t h a t   a r e   e x e m p t   f r o m   a d m i s s i o n - t i m e   m u t a t i o n .   F o r   e x a m p l e ,   y o u   c a n ' t   c r e a t e   a   M u t a t i n g A d m i s s i o n P o l i c y   t h a t   c h a n g e s   a   M u t a t i n g A d m i s s i o n P o l i c y .   T h e   l i s t   o f   e x e m p t   A P I   k i n d s   i s :   V a l i d a t i n g A d m i s s i o n P o l i c i e s V a l i d a t i n g A d m i s s i o n P o l i c y B i n d i n g s M u t a t i n g A d m i s s i o n P o l i c i e s M u t a t i n g A d m i s s i o n P o l i c y B i n d i n g s T o k e n R e v i e w s L o c a l S u b j e c t A c c e s s R e v i e w s S e l f S u b j e c t A c c e s s R e v i e w s S e l f S u b j e c t R e v i e w s


Question: What is Reviewing pull requests?

Answer: Reviewing pull requestsAnyone can review a documentation pull request. Visit the pull requests section in the Kubernetes website repository to see open pull requests.Reviewing documentation pull requests is a great way to introduce yourself to the Kubernetes community. It helps you learn the code base and build trust with other contributors.Before reviewing, it's a good idea to:Read the content guide and style guide so you can leave informed comments.Understand the different roles and responsibilities in the Kubernetes documentation community.Before you beginBefore you start a review:Read the CNCF Code of Conduct and ensure that you abide by it at all times.Be polite, considerate, and helpful.Comment on positive aspects of PRs as well as changes.Be empathetic and mindful of how your review may be received.Assume good intent and ask clarifying questions.Experienced contributors, consider pairing with new contributors whose work requires extensive changes.Review processIn general, review pull requests for content and style in English. Figure 1 outlines the steps for the review process. The details for each step follow.flowchart LR subgraph fourth[Start review] direction TB S[ ] -.- M[add comments] --> N[review changes] N --> O[new contributors shouldchoose Comment] end subgraph third[Select PR] direction TB T[ ] -.- J[read descriptionand comments]--> K[preview changes inNetlify preview build] end A[Review open PR list]--> B[Filter open PRsby label] B --> third --> fourth classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000 class A,B,J,K,M,N,O grey class S,T spacewhite class third,fourth whiteJavaScript must be enabled to view this contentFigure 1. Review process steps.Go to https://github.com/kubernetes/website/pulls. You see a list of every open pull request against the Kubernetes website and docs.Filter the open PRs using one or all of the following labels:cncf-cla: yes (Recommended): PRs submitted by contributors who have not signed the CLA cannot be merged. See Sign the CLA for more information.language/en (Recommended): Filters for english language PRs only.size/<size>: filters for PRs of a certain size. If you're new, start with smaller PRs.Additionally, ensure the PR isn't marked as a work in progress. PRs using the work in progress label are not ready for review yet.Once you've selected a PR to review, understand the change by:Reading the PR description to understand the changes made, and read any linked issuesReading any comments by other reviewersClicking the Files changed tab to see the files and lines changedPreviewing the changes in the Netlify preview build by scrolling to the PR's build check section at the bottom of the Conversation tab. Here's a screenshot (this shows GitHub's desktop site; if you're reviewing on a tablet or smartphone device


Question: How does Reviewing pull requests work?

Answer: Reviewing pull requestsAnyone can review a documentation pull request. Visit the pull requests section in the Kubernetes website repository to see open pull requests.Reviewing documentation pull requests is a great way to introduce yourself to the Kubernetes community. It helps you learn the code base and build trust with other contributors.Before reviewing, it's a good idea to:Read the content guide and style guide so you can leave informed comments.Understand the different roles and responsibilities in the Kubernetes documentation community.Before you beginBefore you start a review:Read the CNCF Code of Conduct and ensure that you abide by it at all times.Be polite, considerate, and helpful.Comment on positive aspects of PRs as well as changes.Be empathetic and mindful of how your review may be received.Assume good intent and ask clarifying questions.Experienced contributors, consider pairing with new contributors whose work requires extensive changes.Review processIn general, review pull requests for content and style in English. Figure 1 outlines the steps for the review process. The details for each step follow.flowchart LR subgraph fourth[Start review] direction TB S[ ] -.- M[add comments] --> N[review changes] N --> O[new contributors shouldchoose Comment] end subgraph third[Select PR] direction TB T[ ] -.- J[read descriptionand comments]--> K[preview changes inNetlify preview build] end A[Review open PR list]--> B[Filter open PRsby label] B --> third --> fourth classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000 class A,B,J,K,M,N,O grey class S,T spacewhite class third,fourth whiteJavaScript must be enabled to view this contentFigure 1. Review process steps.Go to https://github.com/kubernetes/website/pulls. You see a list of every open pull request against the Kubernetes website and docs.Filter the open PRs using one or all of the following labels:cncf-cla: yes (Recommended): PRs submitted by contributors who have not signed the CLA cannot be merged. See Sign the CLA for more information.language/en (Recommended): Filters for english language PRs only.size/<size>: filters for PRs of a certain size. If you're new, start with smaller PRs.Additionally, ensure the PR isn't marked as a work in progress. PRs using the work in progress label are not ready for review yet.Once you've selected a PR to review, understand the change by:Reading the PR description to understand the changes made, and read any linked issuesReading any comments by other reviewersClicking the Files changed tab to see the files and lines changedPreviewing the changes in the Netlify preview build by scrolling to the PR's build check section at the bottom of the Conversation tab. Here's a screenshot (this shows GitHub's desktop site; if you're reviewing on a tablet or smartphone device


Question: When would you use Reviewing pull requests?

Answer: Reviewing pull requestsAnyone can review a documentation pull request. Visit the pull requests section in the Kubernetes website repository to see open pull requests.Reviewing documentation pull requests is a great way to introduce yourself to the Kubernetes community. It helps you learn the code base and build trust with other contributors.Before reviewing, it's a good idea to:Read the content guide and style guide so you can leave informed comments.Understand the different roles and responsibilities in the Kubernetes documentation community.Before you beginBefore you start a review:Read the CNCF Code of Conduct and ensure that you abide by it at all times.Be polite, considerate, and helpful.Comment on positive aspects of PRs as well as changes.Be empathetic and mindful of how your review may be received.Assume good intent and ask clarifying questions.Experienced contributors, consider pairing with new contributors whose work requires extensive changes.Review processIn general, review pull requests for content and style in English. Figure 1 outlines the steps for the review process. The details for each step follow.flowchart LR subgraph fourth[Start review] direction TB S[ ] -.- M[add comments] --> N[review changes] N --> O[new contributors shouldchoose Comment] end subgraph third[Select PR] direction TB T[ ] -.- J[read descriptionand comments]--> K[preview changes inNetlify preview build] end A[Review open PR list]--> B[Filter open PRsby label] B --> third --> fourth classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000 class A,B,J,K,M,N,O grey class S,T spacewhite class third,fourth whiteJavaScript must be enabled to view this contentFigure 1. Review process steps.Go to https://github.com/kubernetes/website/pulls. You see a list of every open pull request against the Kubernetes website and docs.Filter the open PRs using one or all of the following labels:cncf-cla: yes (Recommended): PRs submitted by contributors who have not signed the CLA cannot be merged. See Sign the CLA for more information.language/en (Recommended): Filters for english language PRs only.size/<size>: filters for PRs of a certain size. If you're new, start with smaller PRs.Additionally, ensure the PR isn't marked as a work in progress. PRs using the work in progress label are not ready for review yet.Once you've selected a PR to review, understand the change by:Reading the PR description to understand the changes made, and read any linked issuesReading any comments by other reviewersClicking the Files changed tab to see the files and lines changedPreviewing the changes in the Netlify preview build by scrolling to the PR's build check section at the bottom of the Conversation tab. Here's a screenshot (this shows GitHub's desktop site; if you're reviewing on a tablet or smartphone device


Question: What are the benefits of Reviewing pull requests?

Answer: Reviewing pull requestsAnyone can review a documentation pull request. Visit the pull requests section in the Kubernetes website repository to see open pull requests.Reviewing documentation pull requests is a great way to introduce yourself to the Kubernetes community. It helps you learn the code base and build trust with other contributors.Before reviewing, it's a good idea to:Read the content guide and style guide so you can leave informed comments.Understand the different roles and responsibilities in the Kubernetes documentation community.Before you beginBefore you start a review:Read the CNCF Code of Conduct and ensure that you abide by it at all times.Be polite, considerate, and helpful.Comment on positive aspects of PRs as well as changes.Be empathetic and mindful of how your review may be received.Assume good intent and ask clarifying questions.Experienced contributors, consider pairing with new contributors whose work requires extensive changes.Review processIn general, review pull requests for content and style in English. Figure 1 outlines the steps for the review process. The details for each step follow.flowchart LR subgraph fourth[Start review] direction TB S[ ] -.- M[add comments] --> N[review changes] N --> O[new contributors shouldchoose Comment] end subgraph third[Select PR] direction TB T[ ] -.- J[read descriptionand comments]--> K[preview changes inNetlify preview build] end A[Review open PR list]--> B[Filter open PRsby label] B --> third --> fourth classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000 class A,B,J,K,M,N,O grey class S,T spacewhite class third,fourth whiteJavaScript must be enabled to view this contentFigure 1. Review process steps.Go to https://github.com/kubernetes/website/pulls. You see a list of every open pull request against the Kubernetes website and docs.Filter the open PRs using one or all of the following labels:cncf-cla: yes (Recommended): PRs submitted by contributors who have not signed the CLA cannot be merged. See Sign the CLA for more information.language/en (Recommended): Filters for english language PRs only.size/<size>: filters for PRs of a certain size. If you're new, start with smaller PRs.Additionally, ensure the PR isn't marked as a work in progress. PRs using the work in progress label are not ready for review yet.Once you've selected a PR to review, understand the change by:Reading the PR description to understand the changes made, and read any linked issuesReading any comments by other reviewersClicking the Files changed tab to see the files and lines changedPreviewing the changes in the Netlify preview build by scrolling to the PR's build check section at the bottom of the Conversation tab. Here's a screenshot (this shows GitHub's desktop site; if you're reviewing on a tablet or smartphone device


Question: What is Reviewing pull requests?

Answer: A n y o n e   c a n   r e v i e w   a   d o c u m e n t a t i o n   p u l l   r e q u e s t .   V i s i t   t h e   p u l l   r e q u e s t s   s e c t i o n   i n   t h e   K u b e r n e t e s   w e b s i t e   r e p o s i t o r y   t o   s e e   o p e n   p u l l   r e q u e s t s .   R e v i e w i n g   d o c u m e n t a t i o n   p u l l   r e q u e s t s   i s   a   g r e a t   w a y   t o   i n t r o d u c e   y o u r s e l f   t o   t h e   K u b e r n e t e s   c o m m u n i t y .   I t   h e l p s   y o u   l e a r n   t h e   c o d e   b a s e   a n d   b u i l d   t r u s t   w i t h   o t h e r   c o n t r i b u t o r s .   B e f o r e   r e v i e w i n g ,   i t ' s   a   g o o d   i d e a   t o :   R e a d   t h e   c o n t e n t   g u i d e   a n d   s t y l e   g u i d e   s o   y o u   c a n   l e a v e   i n f o r m e d   c o m m e n t s . U n d e r s t a n d   t h e   d i f f e r e n t   r o l e s   a n d   r e s p o n s i b i l i t i e s   i n   t h e   K u b e r n e t e s   d o c u m e n t a t i o n   c o m m u n i t y .


Question: What is Before you begin?

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


Question: What is Review process?

Answer: I n   g e n e r a l ,   r e v i e w   p u l l   r e q u e s t s   f o r   c o n t e n t   a n d   s t y l e   i n   E n g l i s h .   F i g u r e   1   o u t l i n e s   t h e   s t e p s   f o r   t h e   r e v i e w   p r o c e s s .   T h e   d e t a i l s   f o r   e a c h   s t e p   f o l l o w .   F i g u r e   1 .   R e v i e w   p r o c e s s   s t e p s .   G o   t o   h t t p s : / / g i t h u b . c o m / k u b e r n e t e s / w e b s i t e / p u l l s .   Y o u   s e e   a   l i s t   o f   e v e r y   o p e n   p u l l   r e q u e s t   a g a i n s t   t h e   K u b e r n e t e s   w e b s i t e   a n d   d o c s . F i l t e r   t h e   o p e n   P R s   u s i n g   o n e   o r   a l l   o f   t h e   f o l l o w i n g   l a b e l s : c n c f - c l a :   y e s   ( R e c o m m e n d e d ) :   P R s   s u b m i t t e d   b y   c o n t r i b u t o r s   w h o   h a v e   n o t   s i g n e d   t h e   C L A   c a n n o t   b e   m e r g e d .   S e e   S i g n   t h e   C L A   f o r   m o r e   i n f o r m a t i o n . l a n g u a g e / e n   ( R e c o m m e n d e d ) :   F i l t e r s   f o r   e n g l i s h   l a n g u a g e   P R s   o n l y . s i z e / < s i z e > :   f i l t e r s   f o r   P R s   o f   a   c e r t a i n   s i z e .   I f   y o u ' r e   n e w ,   s t a r t   w i t h   s m a l l e r   P R s . A d d i t i o n a l l y ,   e n s u r e   t h e   P R   i s n ' t   m a r k e d   a s   a   w o r k   i n   p r o g r e s s .   P R s   u s i n g   t h e   w o r k   i n   p r o g r e s s   l a b e l   a r e   n o t   r e a d y   f o r   r e v i e w   y e t . O n c e   y o u ' v e   s e l e c t e d   a   P R   t o   r e v i e w ,   u n d e r s t a n d   t h e   c h a n g e   b y : R e a d i n g   t h e   P R   d e s c r i p t i o n   t o   u n d e r s t a n d   t h e   c h a n g e s   m a d e ,   a n d   r e a d   a n y   l i n k e d   i s s u e s R e a d i n g   a n y   c o m m e n t s   b y   o t h e r   r e v i e w e r s C l i c k i n g   t h


Question: What is Reviewing checklist?

Answer: W h e n   r e v i e w i n g ,   u s e   t h e   f o l l o w i n g   a s   a   s t a r t i n g   p o i n t .


Question: What is Language and grammar?

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


Question: What is Content?

Answer: D o e s   s i m i l a r   c o n t e n t   e x i s t   e l s e w h e r e   o n   t h e   K u b e r n e t e s   s i t e ? D o e s   t h e   c o n t e n t   e x c e s s i v e l y   l i n k   t o   o f f - s i t e ,   i n d i v i d u a l   v e n d o r   o r   n o n - o p e n   s o u r c e   d o c u m e n t a t i o n ?


Question: What is Documentation?

Answer: S o m e   c h e c k s   t o   c o n s i d e r :   D i d   t h i s   P R   c h a n g e   o r   r e m o v e   a   p a g e   t i t l e ,   s l u g / a l i a s   o r   a n c h o r   l i n k ?   I f   s o ,   a r e   t h e r e   b r o k e n   l i n k s   a s   a   r e s u l t   o f   t h i s   P R ?   I s   t h e r e   a n o t h e r   o p t i o n ,   l i k e   c h a n g i n g   t h e   p a g e   t i t l e   w i t h o u t   c h a n g i n g   t h e   s l u g ? D o e s   t h e   P R   i n t r o d u c e   a   n e w   p a g e ?   I f   s o : I s   t h e   p a g e   u s i n g   t h e   r i g h t   p a g e   c o n t e n t   t y p e   a n d   a s s o c i a t e d   H u g o   s h o r t c o d e s ? D o e s   t h e   p a g e   a p p e a r   c o r r e c t l y   i n   t h e   s e c t i o n ' s   s i d e   n a v i g a t i o n   ( o r   a t   a l l ) ? S h o u l d   t h e   p a g e   a p p e a r   o n   t h e   D o c s   H o m e   l i s t i n g ? D o   t h e   c h a n g e s   s h o w   u p   i n   t h e   N e t l i f y   p r e v i e w ?   B e   p a r t i c u l a r l y   v i g i l a n t   a b o u t   l i s t s ,   c o d e   b l o c k s ,   t a b l e s ,   n o t e s   a n d   i m a g e s .   D i d   t h i s   P R   c h a n g e   o r   r e m o v e   a   p a g e   t i t l e ,   s l u g / a l i a s   o r   a n c h o r   l i n k ?   I f   s o ,   a r e   t h e r e   b r o k e n   l i n k s   a s   a   r e s u l t   o f   t h i s   P R ?   I s   t h e r e   a n o t h e r   o p t i o n ,   l i k e   c h a n g i n g   t h e   p a g e   t i t l e   w i t h o u t   c h a n g i n g   t h e   s l u g ?   D o e s   t h e   P R   i n t r o d u c e   a   n e w   p a g e ?   I f   s o :   I s   t h e   p a g e   u s i n g   t h e   r i g h t   p a g e   c o n t e n t   t y p e   a n d   a s s o c i a t e d   H u g o   s h o r t c o d e s ? D o e s   t h e   p a g e   a p p e a r   c o r r e c t l y   i n   t h e   s e c t i o n ' s   s i d e   n a v i g a t i o n   ( o r   a t   a l l ) ? S h o u l d


Question: What is Blog?

Answer: E a r l y


Question: What is Other?

Answer: W a t c h   o u t   f o r   t r i v i a l   e d i t s ;   i f   y o u   s e e   a   c h a n g e   t h a t   y o u   t h i n k   i s   a   t r i v i a l   e d i t ,   p l e a s e   p o i n t   o u t   t h a t   p o l i c y   ( i t ' s   s t i l l   O K   t o   a c c e p t   t h e   c h a n g e   i f   i t   i s   g e n u i n e l y   a n   i m p r o v e m e n t ) .   E n c o u r a g e   a u t h o r s   w h o   a r e   m a k i n g   w h i t e s p a c e   f i x e s   t o   d o   s o   i n   t h e   f i r s t   c o m m i t   o f   t h e i r   P R ,   a n d   t h e n   a d d   o t h e r   c h a n g e s   o n   t o p   o f   t h a t .   T h i s   m a k e s   b o t h   m e r g e s   a n d   r e v i e w s   e a s i e r .   W a t c h   o u t   e s p e c i a l l y   f o r   a   t r i v i a l   c h a n g e   t h a t   h a p p e n s   i n   a   s i n g l e   c o m m i t   a l o n g   w i t h   a   l a r g e   a m o u n t   o f   w h i t e s p a c e   c l e a n u p   ( a n d   i f   y o u   s e e   t h a t ,   e n c o u r a g e   t h e   a u t h o r   t o   f i x   i t ) .   A s   a   r e v i e w e r ,   i f   y o u   i d e n t i f y   s m a l l   i s s u e s   w i t h   a   P R   t h a t   a r e n ' t   e s s e n t i a l   t o   t h e   m e a n i n g ,   s u c h   a s   t y p o s   o r   i n c o r r e c t   w h i t e s p a c e ,   p r e f i x   y o u r   c o m m e n t s   w i t h   n i t : .   T h i s   l e t s   t h e   a u t h o r   k n o w   t h a t   t h i s   p a r t   o f   y o u r


Question: What is Resource Quotas?

Answer: Resource QuotasWhen several users or teams share a cluster with a fixed number of nodes, there is a concern that one team could use more than its fair share of resources.Resource quotas are a tool for administrators to address this concern.A resource quota, defined by a ResourceQuota object, provides constraints that limit aggregate resource consumption per namespace. A ResourceQuota can also limit the quantity of objects that can be created in a namespace by API kind, as well as the total amount of infrastructure resources that may be consumed by API objects found in that namespace.Caution:Neither contention nor changes to quota will affect already created resources.How Kubernetes ResourceQuotas workResourceQuotas work like this:Different teams work in different namespaces. This separation can be enforced with RBAC or any other authorization mechanism.A cluster administrator creates at least one ResourceQuota for each namespace.To make sure the enforcement stays enforced, the cluster administrator should also restrict access to delete or update that ResourceQuota; for example, by defining a ValidatingAdmissionPolicy.Users create resources (pods, services, etc.) in the namespace, and the quota system tracks usage to ensure it does not exceed hard resource limits defined in a ResourceQuota.You can apply a scope to a ResourceQuota to limit where it applies,If creating or updating a resource violates a quota constraint, the control plane rejects that request with HTTP status code 403 Forbidden. The error includes a message explaining the constraint that would have been violated.If quotas are enabled in a namespace for resource such as cpu and memory, users must specify requests or limits for those values when they define a Pod; otherwise, the quota system may reject pod creation.The resource quota walkthrough shows an example of how to avoid this problem.Note:You can define a LimitRange to force defaults on pods that make no compute resource requirements (so that users don't have to remember to do that).You often do not create Pods directly; for example, you more usually create a workload management object such as a Deployment. If you create a Deployment that tries to use more resources than are available, the creation of the Deployment (or other workload management object) succeeds, but the Deployment may not be able to get all of the Pods it manages to exist. In that case you can check the status of the Deployment, for example with kubectl describe, to see what has happened.For cpu and memory resources, ResourceQuotas enforce that every (new) pod in that namespace sets a limit for that resource. If you enforce a resource quota in a namespace for either cpu or memory, you and other clients, must specify either requests or limits for that resource, for every new Pod you submit. If you don't, the control plane may reject admission for that Pod.For other resources: ResourceQuota works and will ignore pods in the namespace without setting a limit or re


Question: How does Resource Quotas work?

Answer: Resource QuotasWhen several users or teams share a cluster with a fixed number of nodes, there is a concern that one team could use more than its fair share of resources.Resource quotas are a tool for administrators to address this concern.A resource quota, defined by a ResourceQuota object, provides constraints that limit aggregate resource consumption per namespace. A ResourceQuota can also limit the quantity of objects that can be created in a namespace by API kind, as well as the total amount of infrastructure resources that may be consumed by API objects found in that namespace.Caution:Neither contention nor changes to quota will affect already created resources.How Kubernetes ResourceQuotas workResourceQuotas work like this:Different teams work in different namespaces. This separation can be enforced with RBAC or any other authorization mechanism.A cluster administrator creates at least one ResourceQuota for each namespace.To make sure the enforcement stays enforced, the cluster administrator should also restrict access to delete or update that ResourceQuota; for example, by defining a ValidatingAdmissionPolicy.Users create resources (pods, services, etc.) in the namespace, and the quota system tracks usage to ensure it does not exceed hard resource limits defined in a ResourceQuota.You can apply a scope to a ResourceQuota to limit where it applies,If creating or updating a resource violates a quota constraint, the control plane rejects that request with HTTP status code 403 Forbidden. The error includes a message explaining the constraint that would have been violated.If quotas are enabled in a namespace for resource such as cpu and memory, users must specify requests or limits for those values when they define a Pod; otherwise, the quota system may reject pod creation.The resource quota walkthrough shows an example of how to avoid this problem.Note:You can define a LimitRange to force defaults on pods that make no compute resource requirements (so that users don't have to remember to do that).You often do not create Pods directly; for example, you more usually create a workload management object such as a Deployment. If you create a Deployment that tries to use more resources than are available, the creation of the Deployment (or other workload management object) succeeds, but the Deployment may not be able to get all of the Pods it manages to exist. In that case you can check the status of the Deployment, for example with kubectl describe, to see what has happened.For cpu and memory resources, ResourceQuotas enforce that every (new) pod in that namespace sets a limit for that resource. If you enforce a resource quota in a namespace for either cpu or memory, you and other clients, must specify either requests or limits for that resource, for every new Pod you submit. If you don't, the control plane may reject admission for that Pod.For other resources: ResourceQuota works and will ignore pods in the namespace without setting a limit or re


Question: When would you use Resource Quotas?

Answer: Resource QuotasWhen several users or teams share a cluster with a fixed number of nodes, there is a concern that one team could use more than its fair share of resources.Resource quotas are a tool for administrators to address this concern.A resource quota, defined by a ResourceQuota object, provides constraints that limit aggregate resource consumption per namespace. A ResourceQuota can also limit the quantity of objects that can be created in a namespace by API kind, as well as the total amount of infrastructure resources that may be consumed by API objects found in that namespace.Caution:Neither contention nor changes to quota will affect already created resources.How Kubernetes ResourceQuotas workResourceQuotas work like this:Different teams work in different namespaces. This separation can be enforced with RBAC or any other authorization mechanism.A cluster administrator creates at least one ResourceQuota for each namespace.To make sure the enforcement stays enforced, the cluster administrator should also restrict access to delete or update that ResourceQuota; for example, by defining a ValidatingAdmissionPolicy.Users create resources (pods, services, etc.) in the namespace, and the quota system tracks usage to ensure it does not exceed hard resource limits defined in a ResourceQuota.You can apply a scope to a ResourceQuota to limit where it applies,If creating or updating a resource violates a quota constraint, the control plane rejects that request with HTTP status code 403 Forbidden. The error includes a message explaining the constraint that would have been violated.If quotas are enabled in a namespace for resource such as cpu and memory, users must specify requests or limits for those values when they define a Pod; otherwise, the quota system may reject pod creation.The resource quota walkthrough shows an example of how to avoid this problem.Note:You can define a LimitRange to force defaults on pods that make no compute resource requirements (so that users don't have to remember to do that).You often do not create Pods directly; for example, you more usually create a workload management object such as a Deployment. If you create a Deployment that tries to use more resources than are available, the creation of the Deployment (or other workload management object) succeeds, but the Deployment may not be able to get all of the Pods it manages to exist. In that case you can check the status of the Deployment, for example with kubectl describe, to see what has happened.For cpu and memory resources, ResourceQuotas enforce that every (new) pod in that namespace sets a limit for that resource. If you enforce a resource quota in a namespace for either cpu or memory, you and other clients, must specify either requests or limits for that resource, for every new Pod you submit. If you don't, the control plane may reject admission for that Pod.For other resources: ResourceQuota works and will ignore pods in the namespace without setting a limit or re


Question: What are the benefits of Resource Quotas?

Answer: Resource QuotasWhen several users or teams share a cluster with a fixed number of nodes, there is a concern that one team could use more than its fair share of resources.Resource quotas are a tool for administrators to address this concern.A resource quota, defined by a ResourceQuota object, provides constraints that limit aggregate resource consumption per namespace. A ResourceQuota can also limit the quantity of objects that can be created in a namespace by API kind, as well as the total amount of infrastructure resources that may be consumed by API objects found in that namespace.Caution:Neither contention nor changes to quota will affect already created resources.How Kubernetes ResourceQuotas workResourceQuotas work like this:Different teams work in different namespaces. This separation can be enforced with RBAC or any other authorization mechanism.A cluster administrator creates at least one ResourceQuota for each namespace.To make sure the enforcement stays enforced, the cluster administrator should also restrict access to delete or update that ResourceQuota; for example, by defining a ValidatingAdmissionPolicy.Users create resources (pods, services, etc.) in the namespace, and the quota system tracks usage to ensure it does not exceed hard resource limits defined in a ResourceQuota.You can apply a scope to a ResourceQuota to limit where it applies,If creating or updating a resource violates a quota constraint, the control plane rejects that request with HTTP status code 403 Forbidden. The error includes a message explaining the constraint that would have been violated.If quotas are enabled in a namespace for resource such as cpu and memory, users must specify requests or limits for those values when they define a Pod; otherwise, the quota system may reject pod creation.The resource quota walkthrough shows an example of how to avoid this problem.Note:You can define a LimitRange to force defaults on pods that make no compute resource requirements (so that users don't have to remember to do that).You often do not create Pods directly; for example, you more usually create a workload management object such as a Deployment. If you create a Deployment that tries to use more resources than are available, the creation of the Deployment (or other workload management object) succeeds, but the Deployment may not be able to get all of the Pods it manages to exist. In that case you can check the status of the Deployment, for example with kubectl describe, to see what has happened.For cpu and memory resources, ResourceQuotas enforce that every (new) pod in that namespace sets a limit for that resource. If you enforce a resource quota in a namespace for either cpu or memory, you and other clients, must specify either requests or limits for that resource, for every new Pod you submit. If you don't, the control plane may reject admission for that Pod.For other resources: ResourceQuota works and will ignore pods in the namespace without setting a limit or re


Question: What is Resource Quotas?

Answer: W h e n   s e v e r a l   u s e r s   o r   t e a m s   s h a r e   a   c l u s t e r   w i t h   a   f i x e d   n u m b e r   o f   n o d e s ,   t h e r e   i s   a   c o n c e r n   t h a t   o n e   t e a m   c o u l d   u s e   m o r e   t h a n   i t s   f a i r   s h a r e   o f   r e s o u r c e s .   R e s o u r c e   q u o t a s   a r e   a   t o o l   f o r   a d m i n i s t r a t o r s   t o   a d d r e s s   t h i s   c o n c e r n .   A   r e s o u r c e   q u o t a ,   d e f i n e d   b y   a   R e s o u r c e Q u o t a   o b j e c t ,   p r o v i d e s   c o n s t r a i n t s   t h a t   l i m i t   a g g r e g a t e   r e s o u r c e   c o n s u m p t i o n   p e r   n a m e s p a c e .   A   R e s o u r c e Q u o t a   c a n   a l s o   l i m i t   t h e   q u a n t i t y   o f   o b j e c t s   t h a t   c a n   b e   c r e a t e d   i n   a   n a m e s p a c e   b y   A P I   k i n d ,   a s   w e l l   a s   t h e   t o t a l   a m o u n t   o f   i n f r a s t r u c t u r e   r e s o u r c e s   t h a t   m a y   b e   c o n s u m e d   b y   A P I   o b j e c t s   f o u n d   i n   t h a t   n a m e s p a c e .


Question: What is How Kubernetes ResourceQuotas work?

Answer: R e s o u r c e Q u o t a s   w o r k   l i k e   t h i s :   D i f f e r e n t   t e a m s   w o r k   i n   d i f f e r e n t   n a m e s p a c e s .   T h i s   s e p a r a t i o n   c a n   b e   e n f o r c e d   w i t h   R B A C   o r   a n y   o t h e r   a u t h o r i z a t i o n   m e c h a n i s m . A   c l u s t e r   a d m i n i s t r a t o r   c r e a t e s   a t   l e a s t   o n e   R e s o u r c e Q u o t a   f o r   e a c h   n a m e s p a c e . T o   m a k e   s u r e   t h e   e n f o r c e m e n t   s t a y s   e n f o r c e d ,   t h e   c l u s t e r   a d m i n i s t r a t o r   s h o u l d   a l s o   r e s t r i c t   a c c e s s   t o   d e l e t e   o r   u p d a t e   t h a t   R e s o u r c e Q u o t a ;   f o r   e x a m p l e ,   b y   d e f i n i n g   a   V a l i d a t i n g A d m i s s i o n P o l i c y . U s e r s   c r e a t e   r e s o u r c e s   ( p o d s ,   s e r v i c e s ,   e t c . )   i n   t h e   n a m e s p a c e ,   a n d   t h e   q u o t a   s y s t e m   t r a c k s   u s a g e   t o   e n s u r e   i t   d o e s   n o t   e x c e e d   h a r d   r e s o u r c e   l i m i t s   d e f i n e d   i n   a   R e s o u r c e Q u o t a . Y o u   c a n   a p p l y   a   s c o p e   t o   a   R e s o u r c e Q u o t a   t o   l i m i t   w h e r e   i t   a p p l i e s , I f   c r e a t i n g   o r   u p d a t i n g   a   r e s o u r c e   v i o l a t e s   a   q u o t a   c o n s t r a i n t ,   t h e   c o n t r o l   p l a n e   r e j e c t s   t h a t   r e q u e s t   w i t h   H T T P   s t a t u s   c o d e   4 0 3   F o r b i d d e n .   T h e   e r r o r   i n c l u d e s   a   m e s s a g e   e x p l a i n i n g   t h e   c o n s t r a i n t   t h a t   w o u l d   h a v e   b e e n   v i o l a t e d . I f   q u o t a s   a r e   e n a b l e d   i n   a   n a m e s p a c e   f o r   r e s o u r c e   s u c h   a s   c p u   a n d   m e m o r y ,   u s e r s   m u s t   s p e c i f y   r e q u e s t s   o r   l i


Question: What is Note:?

Answer: Y o u   c a n   d e f i n e   a   L i m i t R a n g e   t o   f o r c e   d e f a u l t s   o n   p o d s   t h a t   m a k e   n o   c o m p u t e   r e s o u r c e   r e q u i r e m e n t s   ( s o   t h a t   u s e r s   d o n ' t   h a v e   t o   r e m e m b e r   t o   d o   t h a t ) .   Y o u   o f t e n   d o   n o t   c r e a t e   P o d s   d i r e c t l y ;   f o r   e x a m p l e ,   y o u   m o r e   u s u a l l y   c r e a t e   a   w o r k l o a d   m a n a g e m e n t   o b j e c t   s u c h   a s   a   D e p l o y m e n t .   I f   y o u   c r e a t e   a   D e p l o y m e n t   t h a t   t r i e s   t o   u s e   m o r e   r e s o u r c e s   t h a n   a r e   a v a i l a b l e ,   t h e   c r e a t i o n   o f   t h e   D e p l o y m e n t   ( o r   o t h e r   w o r k l o a d   m a n a g e m e n t   o b j e c t )   s u c c e e d s ,   b u t   t h e   D e p l o y m e n t   m a y   n o t   b e   a b l e   t o   g e t   a l l   o f   t h e   P o d s   i t   m a n a g e s   t o   e x i s t .   I n   t h a t   c a s e   y o u   c a n   c h e c k   t h e   s t a t u s   o f   t h e   D e p l o y m e n t ,   f o r   e x a m p l e   w i t h   k u b e c t l   d e s c r i b e ,   t o   s e e   w h a t   h a s   h a p p e n e d .   F o r   c p u   a n d   m e m o r y   r e s o u r c e s ,   R e s o u r c e Q u o t a s   e n f o r c e   t h a t   e v e r y   ( n e w )   p o d   i n   t h a t   n a m e s p a c e   s e t s   a   l i m i t   f o r   t h a t   r e s o u r c e .   I f   y o u   e n f o r c e   a   r e s o u r c e   q u o t a   i n   a   n a m e s p a c e   f o r   e i t h e r   c p u   o r   m e m o r y ,   y o u   a n d   o t h e r   c l i e n t s ,   m u s t   s p e c i f y   e i t h e r   r e q u e s t s   o r   l i m i t s   f o r   t h a t   r e s o u r c e ,   f o r   e v e r y   n e w   P o d   y o u   s u b m i t .   I f   y o u   d o n ' t ,   t h e   c o n t r o l   p l a n e   m a y   r e j e c t   a d m i s s i o n   f o r   t h a t


Question: What is Enabling Resource Quota?

Answer: R e s o u r c e Q u o t a   s u p p o r t   i s   e n a b l e d   b y   d e f a u l t   f o r   m a n y   K u b e r n e t e s   d i s t r i b u t i o n s .   I t   i s   e n a b l e d   w h e n   t h e   A P I   s e r v e r   - - e n a b l e - a d m i s s i o n - p l u g i n s =   f l a g   h a s   R e s o u r c e Q u o t a   a s   o n e   o f   i t s   a r g u m e n t s .   A   r e s o u r c e   q u o t a   i s   e n f o r c e d   i n   a   p a r t i c u l a r   n a m e s p a c e   w h e n   t h e r e   i s   a   R e s o u r c e Q u o t a   i n   t h a t   n a m e s p a c e .


Question: What is Types of resource quota?

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


Question: What is Quota for infrastructure resources?

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


Question: What is Quota for extended resources?

Answer: I n   a d d i t i o n   t o   t h e   r e s o u r c e s   m e n t i o n e d   a b o v e ,   i n   r e l e a s e   1 . 1 0 ,   q u o t a   s u p p o r t   f o r   e x t e n d e d   r e s o u r c e s   i s   a d d e d .   A s   o v e r c o m m i t   i s   n o t   a l l o w e d   f o r   e x t e n d e d   r e s o u r c e s ,   i t   m a k e s   n o   s e n s e   t o   s p e c i f y   b o t h   r e q u e s t s   a n d   l i m i t s   f o r   t h e   s a m e   e x t e n d e d   r e s o u r c e   i n   a   q u o t a .   S o   f o r   e x t e n d e d   r e s o u r c e s ,   o n l y   q u o t a   i t e m s   w i t h   p r e f i x   r e q u e s t s .   a r e   a l l o w e d .   T a k e   t h e   G P U   r e s o u r c e   a s   a n   e x a m p l e ,   i f   t h e   r e s o u r c e   n a m e   i s   n v i d i a . c o m / g p u ,   a n d   y o u   w a n t   t o   l i m i t   t h e   t o t a l   n u m b e r   o f   G P U s   r e q u e s t e d   i n   a   n a m e s p a c e   t o   4 ,   y o u   c a n   d e f i n e   a   q u o t a   a s   f o l l o w s :   r e q u e s t s . n v i d i a . c o m / g p u :   4   S e e   V i e w i n g   a n d   S e t t i n g   Q u o t a s   f o r   m o r e   d e t a i l s .


Question: What is Quota for storage?

Answer: Y o u   c a n   l i m i t   t h e   t o t a l   s u m   o f   s t o r a g e   f o r   v o l u m e s   t h a t   c a n   b e   r e q u e s t e d   i n   a   g i v e n   n a m e s p a c e .   I n   a d d i t i o n ,   y o u   c a n   l i m i t   c o n s u m p t i o n   o f   s t o r a g e   r e s o u r c e s   b a s e d   o n   a s s o c i a t e d   S t o r a g e C l a s s .   F o r   e x a m p l e ,   i f   y o u   w a n t   t o   q u o t a   s t o r a g e   w i t h   g o l d   S t o r a g e C l a s s   s e p a r a t e   f r o m   a   b r o n z e   S t o r a g e C l a s s ,   y o u   c a n   d e f i n e   a   q u o t a   a s   f o l l o w s :   g o l d . s t o r a g e c l a s s . s t o r a g e . k 8 s . i o / r e q u e s t s . s t o r a g e :   5 0 0 G i b r o n z e . s t o r a g e c l a s s . s t o r a g e . k 8 s . i o / r e q u e s t s . s t o r a g e :   1 0 0 G i


Question: What is Note:?

Answer: W h e n   u s i n g   a   C R I   c o n t a i n e r   r u n t i m e ,   c o n t a i n e r   l o g s   w i l l   c o u n t   a g a i n s t   t h e   e p h e m e r a l   s t o r a g e   q u o t a .   T h i s   c a n   r e s u l t   i n   t h e   u n e x p e c t e d   e v i c t i o n   o f   p o d s   t h a t   h a v e   e x h a u s t e d   t h e i r   s t o r a g e   q u o t a s .   R e f e r   t o   L o g g i n g   A r c h i t e c t u r e   f o r   d e t a i l s .