Question: What is Parameters?

Answer: n a m e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d n a m e   o f   t h e   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 b o d y :   P a t c h ,   r e q u i r e d d r y R u n   ( i n   q u e r y ) :   s t r i n g d r y R u n f i e l d M a n a g e r   ( i n   q u e r y ) :   s t r i n g f i e l d M a n a g e r f i e l d V a l i d a t i o n   ( i n   q u e r y ) :   s t r i n g f i e l d V a l i d a t i o n f o r c e   ( i n   q u e r y ) :   b o o l e a n f o r c e p r e t t y   ( i n   q u e r y ) :   s t r i n g p r e t t y   n a m e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d   n a m e   o f   t h e   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   b o d y :   P a t c h ,   r e q u i r e d   d r y R u n   ( i n   q u e r y ) :   s t r i n g   d r y R u n   f i e l d M a n a g e r   ( i n   q u e r y ) :   s t r i n g   f i e l d M a n a g e r   f i e l d V a l i d a t i o n   ( i n   q u e r y ) :   s t r i n g   f i e l d V a l i d a t i o n   f o r c e   ( i n   q u e r y ) :   b o o l e a n   f o r c e   p r e t t y   ( i n   q u e r y ) :   s t r i n g   p r e t t y


Question: What is Response?

Answer: 2 0 0   ( 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 ) :   O K   2 0 1   ( 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 ) :   C r e a t e d   4 0 1 :   U n a u t h o r i z e d


Question: What is HTTP Request?

Answer: D E L E T E   / a p i s / 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 a l p h a 1 / 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 / { n a m e }


Question: What is Parameters?

Answer: n a m e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d n a m e   o f   t h e   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 b o d y :   D e l e t e O p t i o n s d r y R u n   ( i n   q u e r y ) :   s t r i n g d r y R u n g r a c e P e r i o d S e c o n d s   ( i n   q u e r y ) :   i n t e g e r g r a c e P e r i o d S e c o n d s i g n o r e S t o r e R e a d E r r o r W i t h C l u s t e r B r e a k i n g P o t e n t i a l   ( i n   q u e r y ) :   b o o l e a n i g n o r e S t o r e R e a d E r r o r W i t h C l u s t e r B r e a k i n g P o t e n t i a l p r e t t y   ( i n   q u e r y ) :   s t r i n g p r e t t y p r o p a g a t i o n P o l i c y   ( i n   q u e r y ) :   s t r i n g p r o p a g a t i o n P o l i c y   n a m e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d   n a m e   o f   t h e   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   b o d y :   D e l e t e O p t i o n s   d r y R u n   ( i n   q u e r y ) :   s t r i n g   d r y R u n   g r a c e P e r i o d S e c o n d s   ( i n   q u e r y ) :   i n t e g e r   g r a c e P e r i o d S e c o n d s   i g n o r e S t o r e R e a d E r r o r W i t h C l u s t e r B r e a k i n g P o t e n t i a l   ( i n   q u e r y ) :   b o o l e a n   i g n o r e S t o r e R e a d E r r o r W i t h C l u s t e r B r e a k i n g P o t e n t i a l   p r e t t y   ( i n   q u e r y ) :   s t r i n g   p r e t t y   p r o p a g a t i o n P o l i c y   ( i n   q u e r y ) :   s t r i n g   p r o p a g a t i o n P o l i c y


Question: What is Response?

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


Question: What is HTTP Request?

Answer: D E L E T E   / a p i s / 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 a l p h a 1 / 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


Question: What is Parameters?

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


Question: What is Response?

Answer: 2 0 0   ( S t a t u s ) :   O K   4 0 1 :   U n a u t h o r i z e d   T h i s   p a g e   i s   a u t o m a t i c a l l y   g e n e r a t e d .   I f   y o u   p l a n   t o   r e p o r t   a n   i s s u e   w i t h   t h i s   p a g e ,   m e n t i o n   t h a t   t h e   p a g e   i s   a u t o - g e n e r a t e d   i n   y o u r   i s s u e   d e s c r i p t i o n .   T h e   f i x   m a y   n e e d   t o   h a p p e n   e l s e w h e r e   i n   t h e   K u b e r n e t e s   p r o j e c t .


Question: What is Quantity?

Answer: QuantityQuantity is a fixed-point representation of a number.import "k8s.io/apimachinery/pkg/api/resource"Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors.The serialization format is: \<quantity> ::= \<signedNumber>\<suffix> (Note that \<suffix> may be empty, from the "" case in \<decimalSI>.) \<digit> ::= 0 | 1 | ... | 9 \<digits> ::= \<digit> | \<digit>\<digits> \<number> ::= \<digits> | \<digits>.\<digits> | \<digits>. | .\<digits> \<sign> ::= "+" | "-" \<signedNumber> ::= \<number> | \<sign>\<number> \<suffix> ::= \<binarySI> | \<decimalExponent> | \<decimalSI> \<binarySI> ::= Ki | Mi | Gi | Ti | Pi | Ei (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html) \<decimalSI> ::= m | "" | k | M | G | T | P | E (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.) \<decimalExponent> ::= "e" \<signedNumber> | "E" \<signedNumber> No matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities.When a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized.Before serializing, Quantity will be put in "canonical form". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that:No precision is lost - No fractional digits will be emitted - The exponent (or suffix) is as large as possible.The sign will be omitted unless the number is negative.Examples:1.5 will be serialized as "1500m" - 1.5Gi will be serialized as "1536Mi"Note that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise.Non-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.)This format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation.This page is automatically generated.If you plan to report an issue with this page, mention that the page is auto-generated in your issue description. The fix may need to happen elsewhere in the Kubernetes project.


Question: How does Quantity work?

Answer: QuantityQuantity is a fixed-point representation of a number.import "k8s.io/apimachinery/pkg/api/resource"Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors.The serialization format is: \<quantity> ::= \<signedNumber>\<suffix> (Note that \<suffix> may be empty, from the "" case in \<decimalSI>.) \<digit> ::= 0 | 1 | ... | 9 \<digits> ::= \<digit> | \<digit>\<digits> \<number> ::= \<digits> | \<digits>.\<digits> | \<digits>. | .\<digits> \<sign> ::= "+" | "-" \<signedNumber> ::= \<number> | \<sign>\<number> \<suffix> ::= \<binarySI> | \<decimalExponent> | \<decimalSI> \<binarySI> ::= Ki | Mi | Gi | Ti | Pi | Ei (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html) \<decimalSI> ::= m | "" | k | M | G | T | P | E (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.) \<decimalExponent> ::= "e" \<signedNumber> | "E" \<signedNumber> No matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities.When a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized.Before serializing, Quantity will be put in "canonical form". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that:No precision is lost - No fractional digits will be emitted - The exponent (or suffix) is as large as possible.The sign will be omitted unless the number is negative.Examples:1.5 will be serialized as "1500m" - 1.5Gi will be serialized as "1536Mi"Note that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise.Non-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.)This format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation.This page is automatically generated.If you plan to report an issue with this page, mention that the page is auto-generated in your issue description. The fix may need to happen elsewhere in the Kubernetes project.


Question: When would you use Quantity?

Answer: QuantityQuantity is a fixed-point representation of a number.import "k8s.io/apimachinery/pkg/api/resource"Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors.The serialization format is: \<quantity> ::= \<signedNumber>\<suffix> (Note that \<suffix> may be empty, from the "" case in \<decimalSI>.) \<digit> ::= 0 | 1 | ... | 9 \<digits> ::= \<digit> | \<digit>\<digits> \<number> ::= \<digits> | \<digits>.\<digits> | \<digits>. | .\<digits> \<sign> ::= "+" | "-" \<signedNumber> ::= \<number> | \<sign>\<number> \<suffix> ::= \<binarySI> | \<decimalExponent> | \<decimalSI> \<binarySI> ::= Ki | Mi | Gi | Ti | Pi | Ei (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html) \<decimalSI> ::= m | "" | k | M | G | T | P | E (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.) \<decimalExponent> ::= "e" \<signedNumber> | "E" \<signedNumber> No matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities.When a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized.Before serializing, Quantity will be put in "canonical form". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that:No precision is lost - No fractional digits will be emitted - The exponent (or suffix) is as large as possible.The sign will be omitted unless the number is negative.Examples:1.5 will be serialized as "1500m" - 1.5Gi will be serialized as "1536Mi"Note that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise.Non-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.)This format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation.This page is automatically generated.If you plan to report an issue with this page, mention that the page is auto-generated in your issue description. The fix may need to happen elsewhere in the Kubernetes project.


Question: What are the benefits of Quantity?

Answer: QuantityQuantity is a fixed-point representation of a number.import "k8s.io/apimachinery/pkg/api/resource"Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors.The serialization format is: \<quantity> ::= \<signedNumber>\<suffix> (Note that \<suffix> may be empty, from the "" case in \<decimalSI>.) \<digit> ::= 0 | 1 | ... | 9 \<digits> ::= \<digit> | \<digit>\<digits> \<number> ::= \<digits> | \<digits>.\<digits> | \<digits>. | .\<digits> \<sign> ::= "+" | "-" \<signedNumber> ::= \<number> | \<sign>\<number> \<suffix> ::= \<binarySI> | \<decimalExponent> | \<decimalSI> \<binarySI> ::= Ki | Mi | Gi | Ti | Pi | Ei (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html) \<decimalSI> ::= m | "" | k | M | G | T | P | E (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.) \<decimalExponent> ::= "e" \<signedNumber> | "E" \<signedNumber> No matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities.When a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized.Before serializing, Quantity will be put in "canonical form". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that:No precision is lost - No fractional digits will be emitted - The exponent (or suffix) is as large as possible.The sign will be omitted unless the number is negative.Examples:1.5 will be serialized as "1500m" - 1.5Gi will be serialized as "1536Mi"Note that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise.Non-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.)This format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation.This page is automatically generated.If you plan to report an issue with this page, mention that the page is auto-generated in your issue description. The fix may need to happen elsewhere in the Kubernetes project.


Question: What is Quantity?

Answer: i m p o r t   " k 8 s . i o / a p i m a c h i n e r y / p k g / a p i / r e s o u r c e "   Q u a n t i t y   i s   a   f i x e d - p o i n t   r e p r e s e n t a t i o n   o f   a   n u m b e r .   I t   p r o v i d e s   c o n v e n i e n t   m a r s h a l i n g / u n m a r s h a l i n g   i n   J S O N   a n d   Y A M L ,   i n   a d d i t i o n   t o   S t r i n g ( )   a n d   A s I n t 6 4 ( )   a c c e s s o r s .   T h e   s e r i a l i z a t i o n   f o r m a t   i s :   \ < q u a n t i t y >   : : =   \ < s i g n e d N u m b e r > \ < s u f f i x >   ( N o t e   t h a t   \ < s u f f i x >   m a y   b e   e m p t y ,   f r o m   t h e   " "   c a s e   i n   \ < d e c i m a l S I > . )   \ < d i g i t >   : : =   0   |   1   |   . . .   |   9   \ < d i g i t s >   : : =   \ < d i g i t >   |   \ < d i g i t > \ < d i g i t s >   \ < n u m b e r >   : : =   \ < d i g i t s >   |   \ < d i g i t s > . \ < d i g i t s >   |   \ < d i g i t s > .   |   . \ < d i g i t s >   \ < s i g n >   : : =   " + "   |   " - "   \ < s i g n e d N u m b e r >   : : =   \ < n u m b e r >   |   \ < s i g n > \ < n u m b e r >   \ < s u f f i x >   : : =   \ < b i n a r y S I >   |   \ < d e c i m a l E x p o n e n t >   |   \ < d e c i m a l S I >   \ < b i n a r y S I >   : : =   K i   |   M i   |   G i   |   T i   |   P i   |   E i   ( I n t e r n a t i o n a l   S y s t e m   o f   u n i t s ;   S e e :   h t t p : / / p h y s i c s . n i s t . g o v / c u u / U n i t s / b i n a r y . h t m l )   \ < d e c i m a l S I >   : : =   m   |   " "   |   k   |   M   |   G   |   T   |   P   |   E   ( N o t e   t h a t   1 0 2 4   =   1 K i   b u t   1 0 0 0   =   1 k ;   I   d i d n ' t   c h o o s e   t h e   c a p i t a l i z a t i o n . )   \ < d e c i m a l E x p o n e n t >   : : =   " e "   \ < s i g n e d N u m b e r >   |   " E "   \ < s i g n e d N u m b e r >   N o   m a t t e r   w h i c h   o f   t h e   t h r e e   e x p o n e n t   f o r m s   i s   u s e d ,   n


Question: What is API Priority and Fairness?

Answer: API Priority and FairnessFEATURE STATE: Kubernetes v1.29 [stable]Controlling the behavior of the Kubernetes API server in an overload situation is a key task for cluster administrators. The kube-apiserver has some controls available (i.e. the --max-requests-inflight and --max-mutating-requests-inflight command-line flags) to limit the amount of outstanding work that will be accepted, preventing a flood of inbound requests from overloading and potentially crashing the API server, but these flags are not enough to ensure that the most important requests get through in a period of high traffic.The API Priority and Fairness feature (APF) is an alternative that improves upon aforementioned max-inflight limitations. APF classifies and isolates requests in a more fine-grained way. It also introduces a limited amount of queuing, so that no requests are rejected in cases of very brief bursts. Requests are dispatched from queues using a fair queuing technique so that, for example, a poorly-behaved controller need not starve others (even at the same priority level).This feature is designed to work well with standard controllers, which use informers and react to failures of API requests with exponential back-off, and other clients that also work this way.Caution:Some requests classified as "long-running"—such as remote command execution or log tailing—are not subject to the API Priority and Fairness filter. This is also true for the --max-requests-inflight flag without the API Priority and Fairness feature enabled. API Priority and Fairness does apply to watch requests. When API Priority and Fairness is disabled, watch requests are not subject to the --max-requests-inflight limit.Enabling/Disabling API Priority and FairnessThe API Priority and Fairness feature is controlled by a command-line flag and is enabled by default. See Options for a general explanation of the available kube-apiserver command-line options and how to enable and disable them. The name of the command-line option for APF is "--enable-priority-and-fairness". This feature also involves an API Group with: (a) a stable v1 version, introduced in 1.29, and enabled by default (b) a v1beta3 version, enabled by default, and deprecated in v1.29. You can disable the API group beta version v1beta3 by adding the following command-line flags to your kube-apiserver invocation:kube-apiserver \ --runtime-config=flowcontrol.apiserver.k8s.io/v1beta3=false \ # …and other flags as usual The command-line flag --enable-priority-and-fairness=false will disable the API Priority and Fairness feature.Recursive server scenariosAPI Priority and Fairness must be used carefully in recursive server scenarios. These are scenarios in which some server A, while serving a request, issues a subsidiary request to some server B. Perhaps server B might even make a further subsidiary call back to server A. In situations where Priority and Fairness control is applied to both the original request and some subsidiary ones(s), no ma


Question: How does API Priority and Fairness work?

Answer: API Priority and FairnessFEATURE STATE: Kubernetes v1.29 [stable]Controlling the behavior of the Kubernetes API server in an overload situation is a key task for cluster administrators. The kube-apiserver has some controls available (i.e. the --max-requests-inflight and --max-mutating-requests-inflight command-line flags) to limit the amount of outstanding work that will be accepted, preventing a flood of inbound requests from overloading and potentially crashing the API server, but these flags are not enough to ensure that the most important requests get through in a period of high traffic.The API Priority and Fairness feature (APF) is an alternative that improves upon aforementioned max-inflight limitations. APF classifies and isolates requests in a more fine-grained way. It also introduces a limited amount of queuing, so that no requests are rejected in cases of very brief bursts. Requests are dispatched from queues using a fair queuing technique so that, for example, a poorly-behaved controller need not starve others (even at the same priority level).This feature is designed to work well with standard controllers, which use informers and react to failures of API requests with exponential back-off, and other clients that also work this way.Caution:Some requests classified as "long-running"—such as remote command execution or log tailing—are not subject to the API Priority and Fairness filter. This is also true for the --max-requests-inflight flag without the API Priority and Fairness feature enabled. API Priority and Fairness does apply to watch requests. When API Priority and Fairness is disabled, watch requests are not subject to the --max-requests-inflight limit.Enabling/Disabling API Priority and FairnessThe API Priority and Fairness feature is controlled by a command-line flag and is enabled by default. See Options for a general explanation of the available kube-apiserver command-line options and how to enable and disable them. The name of the command-line option for APF is "--enable-priority-and-fairness". This feature also involves an API Group with: (a) a stable v1 version, introduced in 1.29, and enabled by default (b) a v1beta3 version, enabled by default, and deprecated in v1.29. You can disable the API group beta version v1beta3 by adding the following command-line flags to your kube-apiserver invocation:kube-apiserver \ --runtime-config=flowcontrol.apiserver.k8s.io/v1beta3=false \ # …and other flags as usual The command-line flag --enable-priority-and-fairness=false will disable the API Priority and Fairness feature.Recursive server scenariosAPI Priority and Fairness must be used carefully in recursive server scenarios. These are scenarios in which some server A, while serving a request, issues a subsidiary request to some server B. Perhaps server B might even make a further subsidiary call back to server A. In situations where Priority and Fairness control is applied to both the original request and some subsidiary ones(s), no ma


Question: When would you use API Priority and Fairness?

Answer: API Priority and FairnessFEATURE STATE: Kubernetes v1.29 [stable]Controlling the behavior of the Kubernetes API server in an overload situation is a key task for cluster administrators. The kube-apiserver has some controls available (i.e. the --max-requests-inflight and --max-mutating-requests-inflight command-line flags) to limit the amount of outstanding work that will be accepted, preventing a flood of inbound requests from overloading and potentially crashing the API server, but these flags are not enough to ensure that the most important requests get through in a period of high traffic.The API Priority and Fairness feature (APF) is an alternative that improves upon aforementioned max-inflight limitations. APF classifies and isolates requests in a more fine-grained way. It also introduces a limited amount of queuing, so that no requests are rejected in cases of very brief bursts. Requests are dispatched from queues using a fair queuing technique so that, for example, a poorly-behaved controller need not starve others (even at the same priority level).This feature is designed to work well with standard controllers, which use informers and react to failures of API requests with exponential back-off, and other clients that also work this way.Caution:Some requests classified as "long-running"—such as remote command execution or log tailing—are not subject to the API Priority and Fairness filter. This is also true for the --max-requests-inflight flag without the API Priority and Fairness feature enabled. API Priority and Fairness does apply to watch requests. When API Priority and Fairness is disabled, watch requests are not subject to the --max-requests-inflight limit.Enabling/Disabling API Priority and FairnessThe API Priority and Fairness feature is controlled by a command-line flag and is enabled by default. See Options for a general explanation of the available kube-apiserver command-line options and how to enable and disable them. The name of the command-line option for APF is "--enable-priority-and-fairness". This feature also involves an API Group with: (a) a stable v1 version, introduced in 1.29, and enabled by default (b) a v1beta3 version, enabled by default, and deprecated in v1.29. You can disable the API group beta version v1beta3 by adding the following command-line flags to your kube-apiserver invocation:kube-apiserver \ --runtime-config=flowcontrol.apiserver.k8s.io/v1beta3=false \ # …and other flags as usual The command-line flag --enable-priority-and-fairness=false will disable the API Priority and Fairness feature.Recursive server scenariosAPI Priority and Fairness must be used carefully in recursive server scenarios. These are scenarios in which some server A, while serving a request, issues a subsidiary request to some server B. Perhaps server B might even make a further subsidiary call back to server A. In situations where Priority and Fairness control is applied to both the original request and some subsidiary ones(s), no ma


Question: What are the benefits of API Priority and Fairness?

Answer: API Priority and FairnessFEATURE STATE: Kubernetes v1.29 [stable]Controlling the behavior of the Kubernetes API server in an overload situation is a key task for cluster administrators. The kube-apiserver has some controls available (i.e. the --max-requests-inflight and --max-mutating-requests-inflight command-line flags) to limit the amount of outstanding work that will be accepted, preventing a flood of inbound requests from overloading and potentially crashing the API server, but these flags are not enough to ensure that the most important requests get through in a period of high traffic.The API Priority and Fairness feature (APF) is an alternative that improves upon aforementioned max-inflight limitations. APF classifies and isolates requests in a more fine-grained way. It also introduces a limited amount of queuing, so that no requests are rejected in cases of very brief bursts. Requests are dispatched from queues using a fair queuing technique so that, for example, a poorly-behaved controller need not starve others (even at the same priority level).This feature is designed to work well with standard controllers, which use informers and react to failures of API requests with exponential back-off, and other clients that also work this way.Caution:Some requests classified as "long-running"—such as remote command execution or log tailing—are not subject to the API Priority and Fairness filter. This is also true for the --max-requests-inflight flag without the API Priority and Fairness feature enabled. API Priority and Fairness does apply to watch requests. When API Priority and Fairness is disabled, watch requests are not subject to the --max-requests-inflight limit.Enabling/Disabling API Priority and FairnessThe API Priority and Fairness feature is controlled by a command-line flag and is enabled by default. See Options for a general explanation of the available kube-apiserver command-line options and how to enable and disable them. The name of the command-line option for APF is "--enable-priority-and-fairness". This feature also involves an API Group with: (a) a stable v1 version, introduced in 1.29, and enabled by default (b) a v1beta3 version, enabled by default, and deprecated in v1.29. You can disable the API group beta version v1beta3 by adding the following command-line flags to your kube-apiserver invocation:kube-apiserver \ --runtime-config=flowcontrol.apiserver.k8s.io/v1beta3=false \ # …and other flags as usual The command-line flag --enable-priority-and-fairness=false will disable the API Priority and Fairness feature.Recursive server scenariosAPI Priority and Fairness must be used carefully in recursive server scenarios. These are scenarios in which some server A, while serving a request, issues a subsidiary request to some server B. Perhaps server B might even make a further subsidiary call back to server A. In situations where Priority and Fairness control is applied to both the original request and some subsidiary ones(s), no ma


Question: What is API Priority and Fairness?

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


Question: What is Enabling/Disabling API Priority and Fairness?

Answer: T h e   A P I   P r i o r i t y   a n d   F a i r n e s s   f e a t u r e   i s   c o n t r o l l e d   b y   a   c o m m a n d - l i n e   f l a g   a n d   i s   e n a b l e d   b y   d e f a u l t .   S e e   O p t i o n s   f o r   a   g e n e r a l   e x p l a n a t i o n   o f   t h e   a v a i l a b l e   k u b e - a p i s e r v e r   c o m m a n d - l i n e   o p t i o n s   a n d   h o w   t o   e n a b l e   a n d   d i s a b l e   t h e m .   T h e   n a m e   o f   t h e   c o m m a n d - l i n e   o p t i o n   f o r   A P F   i s   " - - e n a b l e - p r i o r i t y - a n d - f a i r n e s s " .   T h i s   f e a t u r e   a l s o   i n v o l v e s   a n   A P I   G r o u p   w i t h :   ( a )   a   s t a b l e   v 1   v e r s i o n ,   i n t r o d u c e d   i n   1 . 2 9 ,   a n d   e n a b l e d   b y   d e f a u l t   ( b )   a   v 1 b e t a 3   v e r s i o n ,   e n a b l e d   b y   d e f a u l t ,   a n d   d e p r e c a t e d   i n   v 1 . 2 9 .   Y o u   c a n   d i s a b l e   t h e   A P I   g r o u p   b e t a   v e r s i o n   v 1 b e t a 3   b y   a d d i n g   t h e   f o l l o w i n g   c o m m a n d - l i n e   f l a g s   t o   y o u r   k u b e - a p i s e r v e r   i n v o c a t i o n :   k u b e - a p i s e r v e r   \   - - r u n t i m e - c o n f i g = f l o w c o n t r o l . a p i s e r v e r . k 8 s . i o / v 1 b e t a 3 = f a l s e   \   #   … a n d   o t h e r   f l a g s   a s   u s u a l   T h e   c o m m a n d - l i n e   f l a g   - - e n a b l e - p r i o r i t y - a n d - f a i r n e s s = f a l s e   w i l l   d i s a b l e   t h e   A P I   P r i o r i t y   a n d   F a i r n e s s   f e a t u r e .


Question: What is Recursive server scenarios?

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


Question: What is Concepts?

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


Question: What is Priority Levels?

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


Question: What is Seats Occupied by a Request?

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


Question: What is Execution time tweaks for watch requests?

Answer: A P I   P r i o r i t y   a n d   F a i r n e s s   m a n a g e s   w a t c h   r e q u e s t s ,   b u t   t h i s   i n v o l v e s   a   c o u p l e   m o r e   e x c u r s i o n s   f r o m   t h e   b a s e l i n e   b e h a v i o r .   T h e   f i r s t   c o n c e r n s   h o w   l o n g   a   w a t c h   r e q u e s t   i s   c o n s i d e r e d   t o   o c c u p y   i t s   s e a t .   D e p e n d i n g   o n   r e q u e s t   p a r a m e t e r s ,   t h e   r e s p o n s e   t o   a   w a t c h   r e q u e s t   m a y   o r   m a y   n o t   b e g i n   w i t h   c r e a t e   n o t i f i c a t i o n s   f o r   a l l   t h e   r e l e v a n t   p r e - e x i s t i n g   o b j e c t s .   A P I   P r i o r i t y   a n d   F a i r n e s s   c o n s i d e r s   a   w a t c h   r e q u e s t   t o   b e   d o n e   w i t h   i t s   s e a t   o n c e   t h a t   i n i t i a l   b u r s t   o f   n o t i f i c a t i o n s ,   i f   a n y ,   i s   o v e r .   T h e   n o r m a l   n o t i f i c a t i o n s   a r e   s e n t   i n   a   c o n c u r r e n t   b u r s t   t o   a l l   r e l e v a n t   w a t c h   r e s p o n s e   s t r e a m s   w h e n e v e r   t h e   s e r v e r   i s   n o t i f i e d   o f   a n   o b j e c t   c r e a t e / u p d a t e / d e l e t e .   T o   a c c o u n t   f o r   t h i s   w o r k ,   A P I   P r i o r i t y   a n d   F a i r n e s s   c o n s i d e r s   e v e r y   w r i t e   r e q u e s t   t o   s p e n d   s o m e   a d d i t i o n a l   t i m e   o c c u p y i n g   s e a t s   a f t e r   t h e   a c t u a l   w r i t i n g   i s   d o n e .   T h e   s e r v e r   e s t i m a t e s   t h e   n u m b e r   o f   n o t i f i c a t i o n s   t o   b e   s e n t   a n d   a d j u s t s   t h e   w r i t e   r e q u e s t ' s   n u m b e r   o f   s e a t s   a n d   s e a t   o c c u p a n c y   t i m e   t o   i n c l u d e   t h i s   e x t r a   w o r k .


Question: What is Queuing?

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


Question: What is Exempt requests?

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


Question: What is Resources?

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


Question: What is PriorityLevelConfiguration?

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


Question: What is Caution:?

Answer: T h e   b o u n d s   o n   h o w   m u c h   c o n c u r r e n c y   a   p r i o r i t y   l e v e l   m a y   l e n d   a n d   h o w   m u c h   i t   m a y   b o r r o w   a r e   e x p r e s s e d   i n   t h e   P r i o r i t y L e v e l C o n f i g u r a t i o n   a s   p e r c e n t a g e s   o f   t h e   l e v e l ' s   n o m i n a l   l i m i t .   T h e s e   a r e   r e s o l v e d   t o   a b s o l u t e   n u m b e r s   o f   s e a t s   b y   m u l t i p l y i n g   w i t h   t h e   n o m i n a l   l i m i t   /   1 0 0 . 0   a n d   r o u n d i n g .   T h e   d y n a m i c a l l y   a d j u s t e d   c o n c u r r e n c y   l i m i t   o f   a   p r i o r i t y   l e v e l   i s   c o n s t r a i n e d   t o   l i e   b e t w e e n   ( a )   a   l o w e r   b o u n d   o f   i t s   n o m i n a l   l i m i t   m i n u s   i t s   l e n d a b l e   s e a t s   a n d   ( b )   a n   u p p e r   b o u n d   o f   i t s   n o m i n a l   l i m i t   p l u s   t h e   s e a t s   i t   m a y   b o r r o w .   A t   e a c h   a d j u s t m e n t   t h e   d y n a m i c   l i m i t s   a r e   d e r i v e d   b y   e a c h   p r i o r i t y   l e v e l   r e c l a i m i n g   a n y   l e n t   s e a t s   f o r   w h i c h   d e m a n d   r e c e n t l y   a p p e a r e d   a n d   t h e n   j o i n t l y   f a i r l y   r e s p o n d i n g   t o   t h e   r e c e n t   s e a t   d e m a n d   o n   t h e   p r i o r i t y   l e v e l s ,   w i t h i n   t h e   b o u n d s   j u s t   d e s c r i b e d .


Question: What is Caution:?

Answer: W h e n   t h e   v o l u m e   o f   i n b o u n d   r e q u e s t s   a s s i g n e d   t o   a   s i n g l e   P r i o r i t y L e v e l C o n f i g u r a t i o n   i s   m o r e   t h a n   i t s   p e r m i t t e d   c o n c u r r e n c y   l e v e l ,   t h e   t y p e   f i e l d   o f   i t s   s p e c i f i c a t i o n   d e t e r m i n e s   w h a t   w i l l   h a p p e n   t o   e x t r a   r e q u e s t s .   A   t y p e   o f   R e j e c t   m e a n s   t h a t   e x c e s s   t r a f f i c   w i l l   i m m e d i a t e l y   b e   r e j e c t e d   w i t h   a n   H T T P   4 2 9   ( T o o   M a n y   R e q u e s t s )   e r r o r .   A   t y p e   o f   Q u e u e   m e a n s   t h a t   r e q u e s t s   a b o v e   t h e   t h r e s h o l d   w i l l   b e   q u e u e d ,   w i t h   t h e   s h u f f l e   s h a r d i n g   a n d   f a i r   q u e u i n g   t e c h n i q u e s   u s e d   t o   b a l a n c e   p r o g r e s s   b e t w e e n   r e q u e s t   f l o w s .   T h e   q u e u i n g   c o n f i g u r a t i o n   a l l o w s   t u n i n g   t h e   f a i r   q u e u i n g   a l g o r i t h m   f o r   a   p r i o r i t y   l e v e l .   D e t a i l s   o f   t h e   a l g o r i t h m   c a n   b e   r e a d   i n   t h e   e n h a n c e m e n t   p r o p o s a l ,   b u t   i n   s h o r t :   I n c r e a s i n g   q u e u e s   r e d u c e s   t h e   r a t e   o f   c o l l i s i o n s   b e t w e e n   d i f f e r e n t   f l o w s ,   a t   t h e   c o s t   o f   i n c r e a s e d   m e m o r y   u s a g e .   A   v a l u e   o f   1   h e r e   e f f e c t i v e l y   d i s a b l e s   t h e   f a i r - q u e u i n g   l o g i c ,   b u t   s t i l l   a l l o w s   r e q u e s t s   t o   b e   q u e u e d . I n c r e a s i n g   q u e u e L e n g t h L i m i t   a l l o w s   l a r g e r   b u r s t s   o f   t r a f f i c   t o   b e   s u s t a i n e d   w i t h o u t   d r o p p i n g   a n y   r e q u e s t s ,   a t   t h e


Question: What is Note:?

Answer: F o l l o w i n g   i s   a   t a b l e   s h o w i n g   a n   i n t e r e s t i n g   c o l l e c t i o n   o f   s h u f f l e   s h a r d i n g   c o n f i g u r a t i o n s ,   s h o w i n g   f o r   e a c h   t h e   p r o b a b i l i t y   t h a t   a   g i v e n   m o u s e   ( l o w - i n t e n s i t y   f l o w )   i s   s q u i s h e d   b y   t h e   e l e p h a n t s   ( h i g h - i n t e n s i t y   f l o w s )   f o r   a n   i l l u s t r a t i v e   c o l l e c t i o n   o f   n u m b e r s   o f   e l e p h a n t s .   S e e   h t t p s : / / p l a y . g o l a n g . o r g / p / G i 0 P L g V H i U g   ,   w h i c h   c o m p u t e s   t h i s   t a b l e .


Question: What is FlowSchema?

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


Question: What is Caution:?

Answer: A   F l o w S c h e m a   m a t c h e s   a   g i v e n   r e q u e s t   i f   a t   l e a s t   o n e   o f   i t s   r u l e s   m a t c h e s .   A   r u l e   m a t c h e s   i f   a t   l e a s t   o n e   o f   i t s   s u b j e c t s   a n d   a t   l e a s t   o n e   o f   i t s   r e s o u r c e R u l e s   o r   n o n R e s o u r c e R u l e s   ( d e p e n d i n g   o n   w h e t h e r   t h e   i n c o m i n g   r e q u e s t   i s   f o r   a   r e s o u r c e   o r   n o n - r e s o u r c e   U R L )   m a t c h   t h e   r e q u e s t .   F o r   t h e   n a m e   f i e l d   i n   s u b j e c t s ,   a n d   t h e   v e r b s ,   a p i G r o u p s ,   r e s o u r c e s ,   n a m e s p a c e s ,   a n d   n o n R e s o u r c e U R L s   f i e l d s   o f   r e s o u r c e   a n d   n o n - r e s o u r c e   r u l e s ,   t h e   w i l d c a r d   *   m a y   b e   s p e c i f i e d   t o   m a t c h   a l l   v a l u e s   f o r   t h e   g i v e n   f i e l d ,   e f f e c t i v e l y   r e m o v i n g   i t   f r o m   c o n s i d e r a t i o n .   A   F l o w S c h e m a ' s   d i s t i n g u i s h e r M e t h o d . t y p e   d e t e r m i n e s   h o w   r e q u e s t s   m a t c h i n g   t h a t   s c h e m a   w i l l   b e   s e p a r a t e d   i n t o   f l o w s .   I t   m a y   b e   B y U s e r ,   i n   w h i c h   o n e   r e q u e s t i n g   u s e r   w i l l   n o t   b e   a b l e   t o   s t a r v e   o t h e r   u s e r s   o f   c a p a c i t y ;   B y N a m e s p a c e ,   i n   w h i c h   r e q u e s t s   f o r   r e s o u r c e s   i n   o n e   n a m e s p a c e   w i l l   n o t   b e   a b l e   t o   s t a r v e   r e q u e s t s   f o r   r e s o u r c e s   i n   o t h e r   n a m e s p a c e s   o f   c a p a c i t y ;   o r   b l a n k   ( o r   d i s t i n g u i s h e r M e t h o d   m a y   b e   o m i t t e d   e n t i r e l y ) ,   i n   w h i c h   a l l   r e q u e s t s   m a t c h e d   b y   t h i s   F l


Question: What is Defaults?

Answer: E a c h   k u b e - a p i s e r v e r   m a i n t a i n s   t w o   s o r t s   o f   A P F   c o n f i g u r a t i o n   o b j e c t s :   m a n d a t o r y   a n d   s u g g e s t e d .


Question: What is Mandatory Configuration Objects?

Answer: T h e   f o u r   m a n d a t o r y   c o n f i g u r a t i o n   o b j e c t s   r e f l e c t   f i x e d   b u i l t - i n   g u a r d r a i l   b e h a v i o r .   T h i s   i s   b e h a v i o r   t h a t   t h e   s e r v e r s   h a v e   b e f o r e   t h o s e   o b j e c t s   e x i s t ,   a n d   w h e n   t h o s e   o b j e c t s   e x i s t   t h e i r   s p e c s   r e f l e c t   t h i s   b e h a v i o r .   T h e   f o u r   m a n d a t o r y   o b j e c t s   a r e   a s   f o l l o w s .   T h e   m a n d a t o r y   e x e m p t   p r i o r i t y   l e v e l   i s   u s e d   f o r   r e q u e s t s   t h a t   a r e   n o t   s u b j e c t   t o   f l o w   c o n t r o l   a t   a l l :   t h e y   w i l l   a l w a y s   b e   d i s p a t c h e d   i m m e d i a t e l y .   T h e   m a n d a t o r y   e x e m p t   F l o w S c h e m a   c l a s s i f i e s   a l l   r e q u e s t s   f r o m   t h e   s y s t e m : m a s t e r s   g r o u p   i n t o   t h i s   p r i o r i t y   l e v e l .   Y o u   m a y   d e f i n e   o t h e r   F l o w S c h e m a s   t h a t   d i r e c t   o t h e r   r e q u e s t s   t o   t h i s   p r i o r i t y   l e v e l ,   i f   a p p r o p r i a t e . T h e   m a n d a t o r y   c a t c h - a l l   p r i o r i t y   l e v e l   i s   u s e d   i n   c o m b i n a t i o n   w i t h   t h e   m a n d a t o r y   c a t c h - a l l   F l o w S c h e m a   t o   m a k e   s u r e   t h a t   e v e r y   r e q u e s t   g e t s   s o m e   k i n d   o f   c l a s s i f i c a t i o n .   T y p i c a l l y   y o u   s h o u l d   n o t   r e l y   o n   t h i s   c a t c h - a l l   c o n f i g u r a t i o n ,   a n d   s h o u l d   c r e a t e   y o u r   o w n   c a t c h - a l l   F l o w S c h e m a   a n d   P r i o r i t y L e v e l C o n f i g u r a t i o n   ( o r   u s e   t h e   s u g g e s t e d   g l o b a l - d e f a u l t   p r i o r i t y   l e v e l   t h a t   i s   i n s t a l l e d   b y   d e


Question: What is Suggested Configuration Objects?

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


Question: What is Maintenance of the Mandatory and Suggested Configuration Objects?

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


Question: What is Health check concurrency exemption?

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


Question: What is Caution:?

Answer: a p i V e r s i o n :   f l o w c o n t r o l . a p i s e r v e r . k 8 s . i o / v 1   k i n d :   F l o w S c h e m a   m e t a d a t a :   n a m e :   h e a l t h - f o r - s t r a n g e r s   s p e c :   m a t c h i n g P r e c e d e n c e :   1 0 0 0   p r i o r i t y L e v e l C o n f i g u r a t i o n :   n a m e :   e x e m p t   r u l e s :   -   n o n R e s o u r c e R u l e s :   -   n o n R e s o u r c e U R L s :   -   " / h e a l t h z "   -   " / l i v e z "   -   " / r e a d y z "   v e r b s :   -   " * "   s u b j e c t s :   -   k i n d :   G r o u p   g r o u p :   n a m e :   " s y s t e m : u n a u t h e n t i c a t e d "


Question: What is Note:?

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


Question: What is Maturity level BETA?

Answer: a p i s e r v e r _ f l o w c o n t r o l _ r e j e c t e d _ r e q u e s t s _ t o t a l   i s   a   c o u n t e r   v e c t o r   ( c u m u l a t i v e   s i n c e   s e r v e r   s t a r t )   o f   r e q u e s t s   t h a t   w e r e   r e j e c t e d ,   b r o k e n   d o w n   b y   t h e   l a b e l s   f l o w _ s c h e m a   ( i n d i c a t i n g   t h e   o n e   t h a t   m a t c h e d   t h e   r e q u e s t ) ,   p r i o r i t y _ l e v e l   ( i n d i c a t i n g   t h e   o n e   t o   w h i c h   t h e   r e q u e s t   w a s   a s s i g n e d ) ,   a n d   r e a s o n .   T h e   r e a s o n   l a b e l   w i l l   b e   o n e   o f   t h e   f o l l o w i n g   v a l u e s : q u e u e - f u l l ,   i n d i c a t i n g   t h a t   t o o   m a n y   r e q u e s t s   w e r e   a l r e a d y   q u e u e d . c o n c u r r e n c y - l i m i t ,   i n d i c a t i n g   t h a t   t h e   P r i o r i t y L e v e l C o n f i g u r a t i o n   i s   c o n f i g u r e d   t o   r e j e c t   r a t h e r   t h a n   q u e u e   e x c e s s   r e q u e s t s . t i m e - o u t ,   i n d i c a t i n g   t h a t   t h e   r e q u e s t   w a s   s t i l l   i n   t h e   q u e u e   w h e n   i t s   q u e u i n g   t i m e   l i m i t   e x p i r e d . c a n c e l l e d ,   i n d i c a t i n g   t h a t   t h e   r e q u e s t   i s   n o t   p u r g e   l o c k e d   a n d   h a s   b e e n   e j e c t e d   f r o m   t h e   q u e u e . a p i s e r v e r _ f l o w c o n t r o l _ d i s p a t c h e d _ r e q u e s t s _ t o t a l   i s   a   c o u n t e r   v e c t o r   ( c u m u l a t i v e   s i n c e   s e r v e r   s t a r t )   o f   r e q u e s t s   t h a t   b e g a n   e x e c u t i n g ,   b r o k e n   d o w n   b y   f l o w _ s c h e m a   a n d   p r i o r i t y _ l e v e l . a p i s e r v e r _ f l o w c o n t r o l _ c u r r e n t _ i n q u e u e _ r e q u e s t s   i s   a   g a u g e   v e c t o r   h o l d i n g   t h e   i n s t a n t a n e


Question: What is Note:?

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


Question: What is Maturity level ALPHA?

Answer: a p i s e r v e r _ c u r r e n t _ i n q u e u e _ r e q u e s t s   i s   a   g a u g e   v e c t o r   o f   r e c e n t   h i g h   w a t e r   m a r k s   o f   t h e   n u m b e r   o f   q u e u e d   r e q u e s t s ,   g r o u p e d   b y   a   l a b e l   n a m e d   r e q u e s t _ k i n d   w h o s e   v a l u e   i s   m u t a t i n g   o r   r e a d O n l y .   T h e s e   h i g h   w a t e r   m a r k s   d e s c r i b e   t h e   l a r g e s t   n u m b e r   s e e n   i n   t h e   o n e   s e c o n d   w i n d o w   m o s t   r e c e n t l y   c o m p l e t e d .   T h e s e   c o m p l e m e n t   t h e   o l d e r   a p i s e r v e r _ c u r r e n t _ i n f l i g h t _ r e q u e s t s   g a u g e   v e c t o r   t h a t   h o l d s   t h e   l a s t   w i n d o w ' s   h i g h   w a t e r   m a r k   o f   n u m b e r   o f   r e q u e s t s   a c t i v e l y   b e i n g   s e r v e d . a p i s e r v e r _ c u r r e n t _ i n q u e u e _ s e a t s   i s   a   g a u g e   v e c t o r   o f   t h e   s u m   o v e r   q u e u e d   r e q u e s t s   o f   t h e   l a r g e s t   n u m b e r   o f   s e a t s   e a c h   w i l l   o c c u p y ,   g r o u p e d   b y   l a b e l s   n a m e d   f l o w _ s c h e m a   a n d   p r i o r i t y _ l e v e l . a p i s e r v e r _ f l o w c o n t r o l _ r e a d _ v s _ w r i t e _ c u r r e n t _ r e q u e s t s   i s   a   h i s t o g r a m   v e c t o r   o f   o b s e r v a t i o n s ,   m a d e   a t   t h e   e n d   o f   e v e r y   n a n o s e c o n d ,   o f   t h e   n u m b e r   o f   r e q u e s t s   b r o k e n   d o w n   b y   t h e   l a b e l s   p h a s e   ( w h i c h   t a k e s   o n   t h e   v a l u e s   w a i t i n g   a n d   e x e c u t i n g )   a n d   r e q u e s t _ k i n d   ( w h i c h   t a k e s   o n   t h e   v a l u e s   m u t a t i n g   a n d   r e a d O n l y ) .   E a c h   o b s e r v e d   v a l u e   i s   a   r a t i o ,   b e t w e e n   0   a n d   1 ,


Question: What is Note:?

Answer: a p i s e r v e r _ f l o w c o n t r o l _ r e q u e s t _ c o n c u r r e n c y _ l i m i t   i s   t h e   s a m e   a s   a p i s e r v e r _ f l o w c o n t r o l _ n o m i n a l _ l i m i t _ s e a t s .   B e f o r e   t h e   i n t r o d u c t i o n   o f   c o n c u r r e n c y   b o r r o w i n g   b e t w e e n   p r i o r i t y   l e v e l s ,   t h i s   w a s   a l w a y s   e q u a l   t o   a p i s e r v e r _ f l o w c o n t r o l _ c u r r e n t _ l i m i t _ s e a t s   ( w h i c h   d i d   n o t   e x i s t   a s   a   d i s t i n c t   m e t r i c ) .   a p i s e r v e r _ f l o w c o n t r o l _ l o w e r _ l i m i t _ s e a t s   i s   a   g a u g e   v e c t o r   h o l d i n g   t h e   l o w e r   b o u n d   o n   e a c h   p r i o r i t y   l e v e l ' s   d y n a m i c   c o n c u r r e n c y   l i m i t .   a p i s e r v e r _ f l o w c o n t r o l _ u p p e r _ l i m i t _ s e a t s   i s   a   g a u g e   v e c t o r   h o l d i n g   t h e   u p p e r   b o u n d   o n   e a c h   p r i o r i t y   l e v e l ' s   d y n a m i c   c o n c u r r e n c y   l i m i t .   a p i s e r v e r _ f l o w c o n t r o l _ d e m a n d _ s e a t s   i s   a   h i s t o g r a m   v e c t o r   c o u n t i n g   o b s e r v a t i o n s ,   a t   t h e   e n d   o f   e v e r y   n a n o s e c o n d ,   o f   e a c h   p r i o r i t y   l e v e l ' s   r a t i o   o f   ( s e a t   d e m a n d )   /   ( n o m i n a l   c o n c u r r e n c y   l i m i t ) .   A   p r i o r i t y   l e v e l ' s   s e a t   d e m a n d   i s   t h e   s u m ,   o v e r   b o t h   q u e u e d   r e q u e s t s   a n d   t h o s e   i n   t h e   i n i t i a l   p h a s e   o f   e x e c u t i o n ,   o f   t h e   m a x i m u m   o f   t h e   n u m b e r   o f   s e a t s   o c c u p i e d   i n   t h e   r e q u e s t ' s   i n i t i a l   a n d   f i n a l   e x e c u t i o n   p h a s e s .   a p i s e r v e r _ f l o w c o n t r o l _ d e m a n d _ s e a t s _ h


Question: What is Good practices for using API Priority and Fairness?

Answer: W h e n   a   g i v e n   p r i o r i t y   l e v e l   e x c e e d s   i t s   p e r m i t t e d   c o n c u r r e n c y ,   r e q u e s t s   c a n   e x p e r i e n c e   i n c r e a s e d   l a t e n c y   o r   b e   d r o p p e d   w i t h   a n   H T T P   4 2 9   ( T o o   M a n y   R e q u e s t s )   e r r o r .   T o   p r e v e n t   t h e s e   s i d e   e f f e c t s   o f   A P F ,   y o u   c a n   m o d i f y   y o u r   w o r k l o a d   o r   t w e a k   y o u r   A P F   s e t t i n g s   t o   e n s u r e   t h e r e   a r e   s u f f i c i e n t   s e a t s   a v a i l a b l e   t o   s e r v e   y o u r   r e q u e s t s .   T o   d e t e c t   w h e t h e r   r e q u e s t s   a r e   b e i n g   r e j e c t e d   d u e   t o   A P F ,   c h e c k   t h e   f o l l o w i n g   m e t r i c s :   a p i s e r v e r _ f l o w c o n t r o l _ r e j e c t e d _ r e q u e s t s _ t o t a l :   t h e   t o t a l   n u m b e r   o f   r e q u e s t s   r e j e c t e d   p e r   F l o w S c h e m a   a n d   P r i o r i t y L e v e l C o n f i g u r a t i o n . a p i s e r v e r _ f l o w c o n t r o l _ c u r r e n t _ i n q u e u e _ r e q u e s t s :   t h e   c u r r e n t   n u m b e r   o f   r e q u e s t s   q u e u e d   p e r   F l o w S c h e m a   a n d   P r i o r i t y L e v e l C o n f i g u r a t i o n . a p i s e r v e r _ f l o w c o n t r o l _ r e q u e s t _ w a i t _ d u r a t i o n _ s e c o n d s :   t h e   l a t e n c y   a d d e d   t o   r e q u e s t s   w a i t i n g   i n   q u e u e s . a p i s e r v e r _ f l o w c o n t r o l _ p r i o r i t y _ l e v e l _ s e a t _ u t i l i z a t i o n :   t h e   s e a t   u t i l i z a t i o n   p e r   P r i o r i t y L e v e l C o n f i g u r a t i o n .


Question: What is Workload modifications?

Answer: T o   p r e v e n t   r e q u e s t s   f r o m   q u e u i n g   a n d   a d d i n g   l a t e n c y   o r   b e i n g   d r o p p e d   d u e   t o   A P F ,   y o u   c a n   o p t i m i z e   y o u r   r e q u e s t s   b y :   R e d u c i n g   t h e   r a t e   a t   w h i c h   r e q u e s t s   a r e   e x e c u t e d .   A   f e w e r   n u m b e r   o f   r e q u e s t s   o v e r   a   f i x e d   p e r i o d   w i l l   r e s u l t   i n   a   f e w e r   n u m b e r   o f   s e a t s   b e i n g   n e e d e d   a t   a   g i v e n   t i m e . A v o i d   i s s u i n g   a   l a r g e   n u m b e r   o f   e x p e n s i v e   r e q u e s t s   c o n c u r r e n t l y .   R e q u e s t s   c a n   b e   o p t i m i z e d   t o   u s e   f e w e r   s e a t s   o r   h a v e   l o w e r   l a t e n c y   s o   t h a t   t h e s e   r e q u e s t s   h o l d   t h o s e   s e a t s   f o r   a   s h o r t e r   d u r a t i o n .   L i s t   r e q u e s t s   c a n   o c c u p y   m o r e   t h a n   1   s e a t   d e p e n d i n g   o n   t h e   n u m b e r   o f   o b j e c t s   f e t c h e d   d u r i n g   t h e   r e q u e s t .   R e s t r i c t i n g   t h e   n u m b e r   o f   o b j e c t s   r e t r i e v e d   i n   a   l i s t   r e q u e s t ,   f o r   e x a m p l e   b y   u s i n g   p a g i n a t i o n ,   w i l l   u s e   l e s s   t o t a l   s e a t s   o v e r   a   s h o r t e r   p e r i o d .   F u r t h e r m o r e ,   r e p l a c i n g   l i s t   r e q u e s t s   w i t h   w a t c h   r e q u e s t s   w i l l   r e q u i r e   l o w e r   t o t a l   c o n c u r r e n c y   s h a r e s   a s   w a t c h   r e q u e s t s   o n l y   o c c u p y   1   s e a t   d u r i n g   i t s   i n i t i a l   b u r s t   o f   n o t i f i c a t i o n s .   I f   u s i n g   s t r e a m i n g   l i s t s   i n   v e r s i o n s   1 . 2 7   a n d   l a t e r ,   w a t c h   r e q u e s t s   w i l l   o c c u p y   t h e   s a m e   n u m


Question: What is Priority and fairness settings?

Answer: Y o u   c a n   a l s o   m o d i f y   t h e   d e f a u l t   F l o w S c h e m a   a n d   P r i o r i t y L e v e l C o n f i g u r a t i o n   o b j e c t s   o r   c r e a t e   n e w   o b j e c t s   o f   t h e s e   t y p e s   t o   b e t t e r   a c c o m m o d a t e   y o u r   w o r k l o a d .   A P F   s e t t i n g s   c a n   b e   m o d i f i e d   t o :   G i v e   m o r e   s e a t s   t o   h i g h   p r i o r i t y   r e q u e s t s . I s o l a t e   n o n - e s s e n t i a l   o r   e x p e n s i v e   r e q u e s t s   t h a t   w o u l d   s t a r v e   a   c o n c u r r e n c y   l e v e l   i f   i t   w a s   s h a r e d   w i t h   o t h e r   f l o w s .


Question: What is Give more seats to high priority requests?

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


Question: What is Isolate non-essential requests from starving other flows?

Answer: F o r   r e q u e s t   i s o l a t i o n ,   y o u   c a n   c r e a t e   a   F l o w S c h e m a   w h o s e   s u b j e c t   m a t c h e s   t h e   u s e r   m a k i n g   t h e s e   r e q u e s t s   o r   c r e a t e   a   F l o w S c h e m a   t h a t   m a t c h e s   w h a t   t h e   r e q u e s t   i s   ( c o r r e s p o n d i n g   t o   t h e   r e s o u r c e R u l e s ) .   N e x t ,   y o u   c a n   m a p   t h i s   F l o w S c h e m a   t o   a   P r i o r i t y L e v e l C o n f i g u r a t i o n   w i t h   a   l o w   s h a r e   o f   s e a t s .   F o r   e x a m p l e ,   s u p p o s e   l i s t   e v e n t   r e q u e s t s   f r o m   P o d s   r u n n i n g   i n   t h e   d e f a u l t   n a m e s p a c e   a r e   u s i n g   1 0   s e a t s   e a c h   a n d   e x e c u t e   f o r   1   m i n u t e .   T o   p r e v e n t   t h e s e   e x p e n s i v e   r e q u e s t s   f r o m   i m p a c t i n g   r e q u e s t s   f r o m   o t h e r   P o d s   u s i n g   t h e   e x i s t i n g   s e r v i c e - a c c o u n t s   F l o w S c h e m a ,   y o u   c a n   a p p l y   t h e   f o l l o w i n g   F l o w S c h e m a   t o   i s o l a t e   t h e s e   l i s t   c a l l s   f r o m   o t h e r   r e q u e s t s .   E x a m p l e   F l o w S c h e m a   o b j e c t   t o   i s o l a t e   l i s t   e v e n t   r e q u e s t s :   a p i V e r s i o n :   f l o w c o n t r o l . a p i s e r v e r . k 8 s . i o / v 1   k i n d :   F l o w S c h e m a   m e t a d a t a :   n a m e :   l i s t - e v e n t s - d e f a u l t - s e r v i c e - a c c o u n t   s p e c :   d i s t i n g u i s h e r M e t h o d :   t y p e :   B y U s e r   m a t c h i n g P r e c e d e n c e :   8 0 0 0   p r i o r i t y L e v e l C o n f i g u r a t i o n :   n a m e :   c a t c h - a l l   r u l e s :   -   r e s o u r c e R u l e s :   -   a p i G r o u p s :   -   ' * '   n a m e s p a c e s :   -   d e f a u l t   r e s o u r c e s :   -   e v e n t


Question: What is What's next?

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


Question: What is Change the Access Mode of a PersistentVolume to ReadWriteOncePod?

Answer: Change the Access Mode of a PersistentVolume to ReadWriteOncePodThis page shows how to change the access mode on an existing PersistentVolume to use ReadWriteOncePod.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:iximiuz LabsKillercodaKodeKloudPlay with KubernetesYour Kubernetes server must be at or later than version v1.22.To check the version, enter kubectl version.Note:The ReadWriteOncePod access mode graduated to stable in the Kubernetes v1.29 release. If you are running a version of Kubernetes older than v1.29, you might need to enable a feature gate. Check the documentation for your version of Kubernetes.Note:The ReadWriteOncePod access mode is only supported for CSI volumes. To use this volume access mode you will need to update the following CSI sidecars to these versions or greater:csi-provisioner:v3.0.0+csi-attacher:v3.3.0+csi-resizer:v1.3.0+Why should I use ReadWriteOncePod?Prior to Kubernetes v1.22, the ReadWriteOnce access mode was commonly used to restrict PersistentVolume access for workloads that required single-writer access to storage. However, this access mode had a limitation: it restricted volume access to a single node, allowing multiple pods on the same node to read from and write to the same volume simultaneously. This could pose a risk for applications that demand strict single-writer access for data safety.If ensuring single-writer access is critical for your workloads, consider migrating your volumes to ReadWriteOncePod.Migrating existing PersistentVolumesIf you have existing PersistentVolumes, they can be migrated to use ReadWriteOncePod. Only migrations from ReadWriteOnce to ReadWriteOncePod are supported.In this example, there is already a ReadWriteOnce "cat-pictures-pvc" PersistentVolumeClaim that is bound to a "cat-pictures-pv" PersistentVolume, and a "cat-pictures-writer" Deployment that uses this PersistentVolumeClaim.Note:If your storage plugin supports Dynamic provisioning, the "cat-picutres-pv" will be created for you, but its name may differ. To get your PersistentVolume's name run:kubectl get pvc cat-pictures-pvc -o jsonpath='{.spec.volumeName}' And you can view the PVC before you make changes. Either view the manifest locally, or run kubectl get pvc <name-of-pvc> -o yaml. The output is similar to:# cat-pictures-pvc.yaml kind: PersistentVolumeClaim apiVersion: v1 metadata: name: cat-pictures-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi Here's an example Deployment that relies on that PersistentVolumeClaim:# cat-pictures-writer-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: cat-pictures-writer spec: replicas: 3 selector: matc


Question: How does Change the Access Mode of a PersistentVolume to ReadWriteOncePod work?

Answer: Change the Access Mode of a PersistentVolume to ReadWriteOncePodThis page shows how to change the access mode on an existing PersistentVolume to use ReadWriteOncePod.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:iximiuz LabsKillercodaKodeKloudPlay with KubernetesYour Kubernetes server must be at or later than version v1.22.To check the version, enter kubectl version.Note:The ReadWriteOncePod access mode graduated to stable in the Kubernetes v1.29 release. If you are running a version of Kubernetes older than v1.29, you might need to enable a feature gate. Check the documentation for your version of Kubernetes.Note:The ReadWriteOncePod access mode is only supported for CSI volumes. To use this volume access mode you will need to update the following CSI sidecars to these versions or greater:csi-provisioner:v3.0.0+csi-attacher:v3.3.0+csi-resizer:v1.3.0+Why should I use ReadWriteOncePod?Prior to Kubernetes v1.22, the ReadWriteOnce access mode was commonly used to restrict PersistentVolume access for workloads that required single-writer access to storage. However, this access mode had a limitation: it restricted volume access to a single node, allowing multiple pods on the same node to read from and write to the same volume simultaneously. This could pose a risk for applications that demand strict single-writer access for data safety.If ensuring single-writer access is critical for your workloads, consider migrating your volumes to ReadWriteOncePod.Migrating existing PersistentVolumesIf you have existing PersistentVolumes, they can be migrated to use ReadWriteOncePod. Only migrations from ReadWriteOnce to ReadWriteOncePod are supported.In this example, there is already a ReadWriteOnce "cat-pictures-pvc" PersistentVolumeClaim that is bound to a "cat-pictures-pv" PersistentVolume, and a "cat-pictures-writer" Deployment that uses this PersistentVolumeClaim.Note:If your storage plugin supports Dynamic provisioning, the "cat-picutres-pv" will be created for you, but its name may differ. To get your PersistentVolume's name run:kubectl get pvc cat-pictures-pvc -o jsonpath='{.spec.volumeName}' And you can view the PVC before you make changes. Either view the manifest locally, or run kubectl get pvc <name-of-pvc> -o yaml. The output is similar to:# cat-pictures-pvc.yaml kind: PersistentVolumeClaim apiVersion: v1 metadata: name: cat-pictures-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi Here's an example Deployment that relies on that PersistentVolumeClaim:# cat-pictures-writer-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: cat-pictures-writer spec: replicas: 3 selector: matc


Question: When would you use Change the Access Mode of a PersistentVolume to ReadWriteOncePod?

Answer: Change the Access Mode of a PersistentVolume to ReadWriteOncePodThis page shows how to change the access mode on an existing PersistentVolume to use ReadWriteOncePod.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:iximiuz LabsKillercodaKodeKloudPlay with KubernetesYour Kubernetes server must be at or later than version v1.22.To check the version, enter kubectl version.Note:The ReadWriteOncePod access mode graduated to stable in the Kubernetes v1.29 release. If you are running a version of Kubernetes older than v1.29, you might need to enable a feature gate. Check the documentation for your version of Kubernetes.Note:The ReadWriteOncePod access mode is only supported for CSI volumes. To use this volume access mode you will need to update the following CSI sidecars to these versions or greater:csi-provisioner:v3.0.0+csi-attacher:v3.3.0+csi-resizer:v1.3.0+Why should I use ReadWriteOncePod?Prior to Kubernetes v1.22, the ReadWriteOnce access mode was commonly used to restrict PersistentVolume access for workloads that required single-writer access to storage. However, this access mode had a limitation: it restricted volume access to a single node, allowing multiple pods on the same node to read from and write to the same volume simultaneously. This could pose a risk for applications that demand strict single-writer access for data safety.If ensuring single-writer access is critical for your workloads, consider migrating your volumes to ReadWriteOncePod.Migrating existing PersistentVolumesIf you have existing PersistentVolumes, they can be migrated to use ReadWriteOncePod. Only migrations from ReadWriteOnce to ReadWriteOncePod are supported.In this example, there is already a ReadWriteOnce "cat-pictures-pvc" PersistentVolumeClaim that is bound to a "cat-pictures-pv" PersistentVolume, and a "cat-pictures-writer" Deployment that uses this PersistentVolumeClaim.Note:If your storage plugin supports Dynamic provisioning, the "cat-picutres-pv" will be created for you, but its name may differ. To get your PersistentVolume's name run:kubectl get pvc cat-pictures-pvc -o jsonpath='{.spec.volumeName}' And you can view the PVC before you make changes. Either view the manifest locally, or run kubectl get pvc <name-of-pvc> -o yaml. The output is similar to:# cat-pictures-pvc.yaml kind: PersistentVolumeClaim apiVersion: v1 metadata: name: cat-pictures-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi Here's an example Deployment that relies on that PersistentVolumeClaim:# cat-pictures-writer-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: cat-pictures-writer spec: replicas: 3 selector: matc


Question: What are the benefits of Change the Access Mode of a PersistentVolume to ReadWriteOncePod?

Answer: Change the Access Mode of a PersistentVolume to ReadWriteOncePodThis page shows how to change the access mode on an existing PersistentVolume to use ReadWriteOncePod.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:iximiuz LabsKillercodaKodeKloudPlay with KubernetesYour Kubernetes server must be at or later than version v1.22.To check the version, enter kubectl version.Note:The ReadWriteOncePod access mode graduated to stable in the Kubernetes v1.29 release. If you are running a version of Kubernetes older than v1.29, you might need to enable a feature gate. Check the documentation for your version of Kubernetes.Note:The ReadWriteOncePod access mode is only supported for CSI volumes. To use this volume access mode you will need to update the following CSI sidecars to these versions or greater:csi-provisioner:v3.0.0+csi-attacher:v3.3.0+csi-resizer:v1.3.0+Why should I use ReadWriteOncePod?Prior to Kubernetes v1.22, the ReadWriteOnce access mode was commonly used to restrict PersistentVolume access for workloads that required single-writer access to storage. However, this access mode had a limitation: it restricted volume access to a single node, allowing multiple pods on the same node to read from and write to the same volume simultaneously. This could pose a risk for applications that demand strict single-writer access for data safety.If ensuring single-writer access is critical for your workloads, consider migrating your volumes to ReadWriteOncePod.Migrating existing PersistentVolumesIf you have existing PersistentVolumes, they can be migrated to use ReadWriteOncePod. Only migrations from ReadWriteOnce to ReadWriteOncePod are supported.In this example, there is already a ReadWriteOnce "cat-pictures-pvc" PersistentVolumeClaim that is bound to a "cat-pictures-pv" PersistentVolume, and a "cat-pictures-writer" Deployment that uses this PersistentVolumeClaim.Note:If your storage plugin supports Dynamic provisioning, the "cat-picutres-pv" will be created for you, but its name may differ. To get your PersistentVolume's name run:kubectl get pvc cat-pictures-pvc -o jsonpath='{.spec.volumeName}' And you can view the PVC before you make changes. Either view the manifest locally, or run kubectl get pvc <name-of-pvc> -o yaml. The output is similar to:# cat-pictures-pvc.yaml kind: PersistentVolumeClaim apiVersion: v1 metadata: name: cat-pictures-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi Here's an example Deployment that relies on that PersistentVolumeClaim:# cat-pictures-writer-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: cat-pictures-writer spec: replicas: 3 selector: matc


Question: What is Change the Access Mode of a PersistentVolume to ReadWriteOncePod?

Answer: T h i s   p a g e   s h o w s   h o w   t o   c h a n g e   t h e   a c c e s s   m o d e   o n   a n   e x i s t i n g   P e r s i s t e n t V o l u m e   t o   u s e   R e a d W r i t e O n c e P o d .


Question: What is Before you begin?

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


Question: What is Note:?

Answer: T h e   R e a d W r i t e O n c e P o d   a c c e s s   m o d e   i s   o n l y   s u p p o r t e d   f o r   C S I   v o l u m e s .   T o   u s e   t h i s   v o l u m e   a c c e s s   m o d e   y o u   w i l l   n e e d   t o   u p d a t e   t h e   f o l l o w i n g   C S I   s i d e c a r s   t o   t h e s e   v e r s i o n s   o r   g r e a t e r :   c s i - p r o v i s i o n e r : v 3 . 0 . 0 + c s i - a t t a c h e r : v 3 . 3 . 0 + c s i - r e s i z e r : v 1 . 3 . 0 +


Question: What is Why should I use ReadWriteOncePod??

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


Question: What is Migrating existing PersistentVolumes?

Answer: I f   y o u   h a v e   e x i s t i n g   P e r s i s t e n t V o l u m e s ,   t h e y   c a n   b e   m i g r a t e d   t o   u s e   R e a d W r i t e O n c e P o d .   O n l y   m i g r a t i o n s   f r o m   R e a d W r i t e O n c e   t o   R e a d W r i t e O n c e P o d   a r e   s u p p o r t e d .   I n   t h i s   e x a m p l e ,   t h e r e   i s   a l r e a d y   a   R e a d W r i t e O n c e   " c a t - p i c t u r e s - p v c "   P e r s i s t e n t V o l u m e C l a i m   t h a t   i s   b o u n d   t o   a   " c a t - p i c t u r e s - p v "   P e r s i s t e n t V o l u m e ,   a n d   a   " c a t - p i c t u r e s - w r i t e r "   D e p l o y m e n t   t h a t   u s e s   t h i s   P e r s i s t e n t V o l u m e C l a i m .