Question: What is StorageVersionMigrationStatus?

Answer: S t a t u s   o f   t h e   s t o r a g e   v e r s i o n   m i g r a t i o n .   c o n d i t i o n s   ( [ ] M i g r a t i o n C o n d i t i o n ) P a t c h   s t r a t e g y :   m e r g e   o n   k e y   t y p e M a p :   u n i q u e   v a l u e s   o n   k e y   t y p e   w i l l   b e   k e p t   d u r i n g   a   m e r g e T h e   l a t e s t   a v a i l a b l e   o b s e r v a t i o n s   o f   t h e   m i g r a t i o n ' s   c u r r e n t   s t a t e . D e s c r i b e s   t h e   s t a t e   o f   a   m i g r a t i o n   a t   a   c e r t a i n   p o i n t . c o n d i t i o n s . s t a t u s   ( s t r i n g ) ,   r e q u i r e d S t a t u s   o f   t h e   c o n d i t i o n ,   o n e   o f   T r u e ,   F a l s e ,   U n k n o w n . c o n d i t i o n s . t y p e   ( s t r i n g ) ,   r e q u i r e d T y p e   o f   t h e   c o n d i t i o n . c o n d i t i o n s . l a s t U p d a t e T i m e   ( T i m e ) T h e   l a s t   t i m e   t h i s   c o n d i t i o n   w a s   u p d a t e d . T i m e   i s   a   w r a p p e r   a r o u n d   t i m e . T i m e   w h i c h   s u p p o r t s   c o r r e c t   m a r s h a l i n g   t o   Y A M L   a n d   J S O N .   W r a p p e r s   a r e   p r o v i d e d   f o r   m a n y   o f   t h e   f a c t o r y   m e t h o d s   t h a t   t h e   t i m e   p a c k a g e   o f f e r s . c o n d i t i o n s . m e s s a g e   ( s t r i n g ) A   h u m a n   r e a d a b l e   m e s s a g e   i n d i c a t i n g   d e t a i l s   a b o u t   t h e   t r a n s i t i o n . c o n d i t i o n s . r e a s o n   ( s t r i n g ) T h e   r e a s o n   f o r   t h e   c o n d i t i o n ' s   l a s t   t r a n s i t i o n . r e s o u r c e V e r s i o n   ( s t r i n g ) R e s o u r c e V e r s i o n   t o   c o m p a r e   w i t h   t h e   G C   c a c h e   f o r   p e r f o r m i n g   t h e   m i g r a t i o n .   T h i s   i s   t h e   c u r r e n t   r e s o u r c e   v e r s i o n   o f   g i v e n   g r o u p ,   v e r s i o n   a


Question: What is StorageVersionMigrationList?

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


Question: What is HTTP Request?

Answer: G E T   / a p i s / s t o r a g e m i g r a t i o n . k 8 s . i o / v 1 a l p h a 1 / s t o r a g e v e r s i o n m i g r a t i o n 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   S t o r a g e V e r s i o n M i g r a t i o n p r e t t y   ( i n   q u e r y ) :   s t r i n g p r e t t y   n a m e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d   n a m e   o f   t h e   S t o r a g e V e r s i o n M i g r a t i o n   p r e t t y   ( i n   q u e r y ) :   s t r i n g   p r e t t y


Question: What is Response?

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


Question: What is HTTP Request?

Answer: G E T   / a p i s / s t o r a g e m i g r a t i o n . k 8 s . i o / v 1 a l p h a 1 / s t o r a g e v e r s i o n m i g r a t i o n s / { n a m e } / s t a t u s


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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: G E T   / a p i s / s t o r a g e m i g r a t i o n . k 8 s . i o / v 1 a l p h a 1 / s t o r a g e v e r s i o n m i g r a t i o n s


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: P O S T   / a p i s / s t o r a g e m i g r a t i o n . k 8 s . i o / v 1 a l p h a 1 / s t o r a g e v e r s i o n m i g r a t i o n s


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: P U T   / a p i s / s t o r a g e m i g r a t i o n . k 8 s . i o / v 1 a l p h a 1 / s t o r a g e v e r s i o n m i g r a t i o n 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   S t o r a g e V e r s i o n M i g r a t i o n b o d y :   S t o r a g e V e r s i o n M i g r a t i o n ,   r e q u i r e d d r y R u n   ( i n   q u e r y ) :   s t r i n g d r y R u n f i e l d M a n a g e r   ( i n   q u e r y ) :   s t r i n g f i e l d M a n a g e r f i e l d V a l i d a t i o n   ( i n   q u e r y ) :   s t r i n g f i e l d V a l i d a t i o n p r e t t y   ( i n   q u e r y ) :   s t r i n g p r e t t y   n a m e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d   n a m e   o f   t h e   S t o r a g e V e r s i o n M i g r a t i o n   b o d y :   S t o r a g e V e r s i o n M i g r a t i o n ,   r e q u i r e d   d r y R u n   ( i n   q u e r y ) :   s t r i n g   d r y R u n   f i e l d M a n a g e r   ( i n   q u e r y ) :   s t r i n g   f i e l d M a n a g e r   f i e l d V a l i d a t i o n   ( i n   q u e r y ) :   s t r i n g   f i e l d V a l i d a t i o n   p r e t t y   ( i n   q u e r y ) :   s t r i n g   p r e t t y


Question: What is Response?

Answer: 2 0 0   ( S t o r a g e V e r s i o n M i g r a t i o n ) :   O K   2 0 1   ( S t o r a g e V e r s i o n M i g r a t i o n ) :   C r e a t e d   4 0 1 :   U n a u t h o r i z e d


Question: What is HTTP Request?

Answer: P U T   / a p i s / s t o r a g e m i g r a t i o n . k 8 s . i o / v 1 a l p h a 1 / s t o r a g e v e r s i o n m i g r a t i o n s / { n a m e } / s t a t u s


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


Question: What is Response?

Answer: 2 0 0   ( S t o r a g e V e r s i o n M i g r a t i o n ) :   O K   2 0 1   ( S t o r a g e V e r s i o n M i g r a t i o n ) :   C r e a t e d   4 0 1 :   U n a u t h o r i z e d


Question: What is HTTP Request?

Answer: P A T C H   / a p i s / s t o r a g e m i g r a t i o n . k 8 s . i o / v 1 a l p h a 1 / s t o r a g e v e r s i o n m i g r a t i o n 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   S t o r a g e V e r s i o n M i g r a t i o n 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   S t o r a g e V e r s i o n M i g r a t i o n   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   ( S t o r a g e V e r s i o n M i g r a t i o n ) :   O K   2 0 1   ( S t o r a g e V e r s i o n M i g r a t i o n ) :   C r e a t e d   4 0 1 :   U n a u t h o r i z e d


Question: What is HTTP Request?

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


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   S t o r a g e V e r s i o n M i g r a t i o n 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   S t o r a g e V e r s i o n M i g r a t i o n   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   ( S t o r a g e V e r s i o n M i g r a t i o n ) :   O K   2 0 1   ( S t o r a g e V e r s i o n M i g r a t i o n ) :   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 / s t o r a g e m i g r a t i o n . k 8 s . i o / v 1 a l p h a 1 / s t o r a g e v e r s i o n m i g r a t i o n 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   S t o r a g e V e r s i o n M i g r a t i o n 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   S t o r a g e V e r s i o n M i g r a t i o n   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 / s t o r a g e m i g r a t i o n . k 8 s . i o / v 1 a l p h a 1 / s t o r a g e v e r s i o n m i g r a t i o n 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 Seccomp and Kubernetes?

Answer: Seccomp and KubernetesSeccomp stands for secure computing mode and has been a feature of the Linux kernel since version 2.6.12. It can be used to sandbox the privileges of a process, restricting the calls it is able to make from userspace into the kernel. Kubernetes lets you automatically apply seccomp profiles loaded onto a node to your Pods and containers.Seccomp fieldsFEATURE STATE: Kubernetes v1.19 [stable]There are four ways to specify a seccomp profile for a pod:for the whole Pod using spec.securityContext.seccompProfilefor a single container using spec.containers[*].securityContext.seccompProfilefor an (restartable / sidecar) init container using spec.initContainers[*].securityContext.seccompProfilefor an ephemeral container using spec.ephemeralContainers[*].securityContext.seccompProfilepods/security/seccomp/fields.yaml apiVersion: v1 kind: Pod metadata: name: pod spec: securityContext: seccompProfile: type: Unconfined ephemeralContainers: - name: ephemeral-container image: debian securityContext: seccompProfile: type: RuntimeDefault initContainers: - name: init-container image: debian securityContext: seccompProfile: type: RuntimeDefault containers: - name: container image: docker.io/library/debian:stable securityContext: seccompProfile: type: Localhost localhostProfile: my-profile.json The Pod in the example above runs as Unconfined, while the ephemeral-container and init-container specifically defines RuntimeDefault. If the ephemeral or init container would not have set the securityContext.seccompProfile field explicitly, then the value would be inherited from the Pod. The same applies to the container, which runs a Localhost profile my-profile.json.Generally speaking, fields from (ephemeral) containers have a higher priority than the Pod level value, while containers which do not set the seccomp field inherit the profile from the Pod.Note:It is not possible to apply a seccomp profile to a Pod or container running with privileged: true set in the container's securityContext. Privileged containers always run as Unconfined.The following values are possible for the seccompProfile.type:UnconfinedThe workload runs without any seccomp restrictions.RuntimeDefaultA default seccomp profile defined by the container runtime is applied. The default profiles aim to provide a strong set of security defaults while preserving the functionality of the workload. It is possible that the default profiles differ between container runtimes and their release versions, for example when comparing those from CRI-O and containerd.LocalhostThe localhostProfile will be applied, which has to be available on the node disk (on Linux it's /var/lib/kubelet/seccomp). The availability of the seccomp profile is verified by the container runtime on container creation. If the profile does not exist, then the container creation will fail with a CreateContainerError.Localhost profilesSeccomp profiles are JSON files following the scheme defined by the OCI runtime specification


Question: How does Seccomp and Kubernetes work?

Answer: Seccomp and KubernetesSeccomp stands for secure computing mode and has been a feature of the Linux kernel since version 2.6.12. It can be used to sandbox the privileges of a process, restricting the calls it is able to make from userspace into the kernel. Kubernetes lets you automatically apply seccomp profiles loaded onto a node to your Pods and containers.Seccomp fieldsFEATURE STATE: Kubernetes v1.19 [stable]There are four ways to specify a seccomp profile for a pod:for the whole Pod using spec.securityContext.seccompProfilefor a single container using spec.containers[*].securityContext.seccompProfilefor an (restartable / sidecar) init container using spec.initContainers[*].securityContext.seccompProfilefor an ephemeral container using spec.ephemeralContainers[*].securityContext.seccompProfilepods/security/seccomp/fields.yaml apiVersion: v1 kind: Pod metadata: name: pod spec: securityContext: seccompProfile: type: Unconfined ephemeralContainers: - name: ephemeral-container image: debian securityContext: seccompProfile: type: RuntimeDefault initContainers: - name: init-container image: debian securityContext: seccompProfile: type: RuntimeDefault containers: - name: container image: docker.io/library/debian:stable securityContext: seccompProfile: type: Localhost localhostProfile: my-profile.json The Pod in the example above runs as Unconfined, while the ephemeral-container and init-container specifically defines RuntimeDefault. If the ephemeral or init container would not have set the securityContext.seccompProfile field explicitly, then the value would be inherited from the Pod. The same applies to the container, which runs a Localhost profile my-profile.json.Generally speaking, fields from (ephemeral) containers have a higher priority than the Pod level value, while containers which do not set the seccomp field inherit the profile from the Pod.Note:It is not possible to apply a seccomp profile to a Pod or container running with privileged: true set in the container's securityContext. Privileged containers always run as Unconfined.The following values are possible for the seccompProfile.type:UnconfinedThe workload runs without any seccomp restrictions.RuntimeDefaultA default seccomp profile defined by the container runtime is applied. The default profiles aim to provide a strong set of security defaults while preserving the functionality of the workload. It is possible that the default profiles differ between container runtimes and their release versions, for example when comparing those from CRI-O and containerd.LocalhostThe localhostProfile will be applied, which has to be available on the node disk (on Linux it's /var/lib/kubelet/seccomp). The availability of the seccomp profile is verified by the container runtime on container creation. If the profile does not exist, then the container creation will fail with a CreateContainerError.Localhost profilesSeccomp profiles are JSON files following the scheme defined by the OCI runtime specification


Question: When would you use Seccomp and Kubernetes?

Answer: Seccomp and KubernetesSeccomp stands for secure computing mode and has been a feature of the Linux kernel since version 2.6.12. It can be used to sandbox the privileges of a process, restricting the calls it is able to make from userspace into the kernel. Kubernetes lets you automatically apply seccomp profiles loaded onto a node to your Pods and containers.Seccomp fieldsFEATURE STATE: Kubernetes v1.19 [stable]There are four ways to specify a seccomp profile for a pod:for the whole Pod using spec.securityContext.seccompProfilefor a single container using spec.containers[*].securityContext.seccompProfilefor an (restartable / sidecar) init container using spec.initContainers[*].securityContext.seccompProfilefor an ephemeral container using spec.ephemeralContainers[*].securityContext.seccompProfilepods/security/seccomp/fields.yaml apiVersion: v1 kind: Pod metadata: name: pod spec: securityContext: seccompProfile: type: Unconfined ephemeralContainers: - name: ephemeral-container image: debian securityContext: seccompProfile: type: RuntimeDefault initContainers: - name: init-container image: debian securityContext: seccompProfile: type: RuntimeDefault containers: - name: container image: docker.io/library/debian:stable securityContext: seccompProfile: type: Localhost localhostProfile: my-profile.json The Pod in the example above runs as Unconfined, while the ephemeral-container and init-container specifically defines RuntimeDefault. If the ephemeral or init container would not have set the securityContext.seccompProfile field explicitly, then the value would be inherited from the Pod. The same applies to the container, which runs a Localhost profile my-profile.json.Generally speaking, fields from (ephemeral) containers have a higher priority than the Pod level value, while containers which do not set the seccomp field inherit the profile from the Pod.Note:It is not possible to apply a seccomp profile to a Pod or container running with privileged: true set in the container's securityContext. Privileged containers always run as Unconfined.The following values are possible for the seccompProfile.type:UnconfinedThe workload runs without any seccomp restrictions.RuntimeDefaultA default seccomp profile defined by the container runtime is applied. The default profiles aim to provide a strong set of security defaults while preserving the functionality of the workload. It is possible that the default profiles differ between container runtimes and their release versions, for example when comparing those from CRI-O and containerd.LocalhostThe localhostProfile will be applied, which has to be available on the node disk (on Linux it's /var/lib/kubelet/seccomp). The availability of the seccomp profile is verified by the container runtime on container creation. If the profile does not exist, then the container creation will fail with a CreateContainerError.Localhost profilesSeccomp profiles are JSON files following the scheme defined by the OCI runtime specification


Question: What are the benefits of Seccomp and Kubernetes?

Answer: Seccomp and KubernetesSeccomp stands for secure computing mode and has been a feature of the Linux kernel since version 2.6.12. It can be used to sandbox the privileges of a process, restricting the calls it is able to make from userspace into the kernel. Kubernetes lets you automatically apply seccomp profiles loaded onto a node to your Pods and containers.Seccomp fieldsFEATURE STATE: Kubernetes v1.19 [stable]There are four ways to specify a seccomp profile for a pod:for the whole Pod using spec.securityContext.seccompProfilefor a single container using spec.containers[*].securityContext.seccompProfilefor an (restartable / sidecar) init container using spec.initContainers[*].securityContext.seccompProfilefor an ephemeral container using spec.ephemeralContainers[*].securityContext.seccompProfilepods/security/seccomp/fields.yaml apiVersion: v1 kind: Pod metadata: name: pod spec: securityContext: seccompProfile: type: Unconfined ephemeralContainers: - name: ephemeral-container image: debian securityContext: seccompProfile: type: RuntimeDefault initContainers: - name: init-container image: debian securityContext: seccompProfile: type: RuntimeDefault containers: - name: container image: docker.io/library/debian:stable securityContext: seccompProfile: type: Localhost localhostProfile: my-profile.json The Pod in the example above runs as Unconfined, while the ephemeral-container and init-container specifically defines RuntimeDefault. If the ephemeral or init container would not have set the securityContext.seccompProfile field explicitly, then the value would be inherited from the Pod. The same applies to the container, which runs a Localhost profile my-profile.json.Generally speaking, fields from (ephemeral) containers have a higher priority than the Pod level value, while containers which do not set the seccomp field inherit the profile from the Pod.Note:It is not possible to apply a seccomp profile to a Pod or container running with privileged: true set in the container's securityContext. Privileged containers always run as Unconfined.The following values are possible for the seccompProfile.type:UnconfinedThe workload runs without any seccomp restrictions.RuntimeDefaultA default seccomp profile defined by the container runtime is applied. The default profiles aim to provide a strong set of security defaults while preserving the functionality of the workload. It is possible that the default profiles differ between container runtimes and their release versions, for example when comparing those from CRI-O and containerd.LocalhostThe localhostProfile will be applied, which has to be available on the node disk (on Linux it's /var/lib/kubelet/seccomp). The availability of the seccomp profile is verified by the container runtime on container creation. If the profile does not exist, then the container creation will fail with a CreateContainerError.Localhost profilesSeccomp profiles are JSON files following the scheme defined by the OCI runtime specification


Question: What is Seccomp and Kubernetes?

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


Question: What is Seccomp fields?

Answer: T h e r e   a r e   f o u r   w a y s   t o   s p e c i f y   a   s e c c o m p   p r o f i l e   f o r   a   p o d :   f o r   t h e   w h o l e   P o d   u s i n g   s p e c . s e c u r i t y C o n t e x t . s e c c o m p P r o f i l e f o r   a   s i n g l e   c o n t a i n e r   u s i n g   s p e c . c o n t a i n e r s [ * ] . s e c u r i t y C o n t e x t . s e c c o m p P r o f i l e f o r   a n   ( r e s t a r t a b l e   /   s i d e c a r )   i n i t   c o n t a i n e r   u s i n g   s p e c . i n i t C o n t a i n e r s [ * ] . s e c u r i t y C o n t e x t . s e c c o m p P r o f i l e f o r   a n   e p h e m e r a l   c o n t a i n e r   u s i n g   s p e c . e p h e m e r a l C o n t a i n e r s [ * ] . s e c u r i t y C o n t e x t . s e c c o m p P r o f i l e   a p i V e r s i o n :   v 1   k i n d :   P o d   m e t a d a t a :   n a m e :   p o d   s p e c :   s e c u r i t y C o n t e x t :   s e c c o m p P r o f i l e :   t y p e :   U n c o n f i n e d   e p h e m e r a l C o n t a i n e r s :   -   n a m e :   e p h e m e r a l - c o n t a i n e r   i m a g e :   d e b i a n   s e c u r i t y C o n t e x t :   s e c c o m p P r o f i l e :   t y p e :   R u n t i m e D e f a u l t   i n i t C o n t a i n e r s :   -   n a m e :   i n i t - c o n t a i n e r   i m a g e :   d e b i a n   s e c u r i t y C o n t e x t :   s e c c o m p P r o f i l e :   t y p e :   R u n t i m e D e f a u l t   c o n t a i n e r s :   -   n a m e :   c o n t a i n e r   i m a g e :   d o c k e r . i o / l i b r a r y / d e b i a n : s t a b l e   s e c u r i t y C o n t e x t :   s e c c o m p P r o f i l e :   t y p e :   L o c a l h o s t   l o c a l h o s t P r o f i l e :   m y - p r o f i l e . j s o n   T h e   P o d   i n   t h e   e x a m p l e   a b o v e   r u n s   a s   U n c o n f i n e d ,   w h i l e   t h e   e p h e m e r a l - c o n t a i n e r   a n d   i n i t - c o n t a i n e r   s p e c i f i c a l l y   d e f i n e s   R u n t i m e D e f


Question: What is Note:?

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


Question: What is Localhost profiles?

Answer: S e c c o m p   p r o f i l e s   a r e   J S O N   f i l e s   f o l l o w i n g   t h e   s c h e m e   d e f i n e d   b y   t h e   O C I   r u n t i m e   s p e c i f i c a t i o n .   A   p r o f i l e   b a s i c a l l y   d e f i n e s   a c t i o n s   b a s e d   o n   m a t c h e d   s y s c a l l s ,   b u t   a l s o   a l l o w s   t o   p a s s   s p e c i f i c   v a l u e s   a s   a r g u m e n t s   t o   s y s c a l l s .   F o r   e x a m p l e :   {   " d e f a u l t A c t i o n " :   " S C M P _ A C T _ E R R N O " ,   " d e f a u l t E r r n o R e t " :   3 8 ,   " s y s c a l l s " :   [   {   " n a m e s " :   [   " a d j t i m e x " ,   " a l a r m " ,   " b i n d " ,   " w a i t i d " ,   " w a i t p i d " ,   " w r i t e " ,   " w r i t e v "   ] ,   " a c t i o n " :   " S C M P _ A C T _ A L L O W "   }   ]   }   T h e   d e f a u l t A c t i o n   i n   t h e   p r o f i l e   a b o v e   i s   d e f i n e d   a s   S C M P _ A C T _ E R R N O   a n d   w i l l   r e t u r n   a s   f a l l b a c k   t o   t h e   a c t i o n s   d e f i n e d   i n   s y s c a l l s .   T h e   e r r o r   i s   d e f i n e d   a s   c o d e   3 8   v i a   t h e   d e f a u l t E r r n o R e t   f i e l d .   T h e   f o l l o w i n g   a c t i o n s   a r e   g e n e r a l l y   p o s s i b l e :   S o m e   a c t i o n s   l i k e   S C M P _ A C T _ N O T I F Y   o r   S E C C O M P _ R E T _ U S E R _ N O T I F   m a y   b e   n o t   s u p p o r t e d   d e p e n d i n g   o n   t h e   c o n t a i n e r   r u n t i m e ,   O C I   r u n t i m e   o r   L i n u x   k e r n e l   v e r s i o n   b e i n g   u s e d .   T h e r e   m a y   b e   a l s o   f u r t h e r   l i m i t a t i o n s ,   f o r   e x a m p l e   t h a t   S C M P _ A C T _ N O T I F Y   c a n n o t   b e   u s e d   a s   d e f a u l t A c t i o n   o r   f o r   c e r t a i n   s y s c a l l s   l i k e   w r i t e .   A l l   t h o s e   l i m i t a t i o n s   a r e


Question: What is Further reading?

Answer: R e s t r i c t   a   C o n t a i n e r ' s   S y s c a l l s   w i t h   s e c c o m p P o d   S e c u r i t y   S t a n d a r d s


Question: What is Kubernetes API Concepts?

Answer: Kubernetes API ConceptsThe Kubernetes API is a resource-based (RESTful) programmatic interface provided via HTTP. It supports retrieving, creating, updating, and deleting primary resources via the standard HTTP verbs (POST, PUT, PATCH, DELETE, GET).For some resources, the API includes additional subresources that allow fine-grained authorization (such as separate views for Pod details and log retrievals), and can accept and serve those resources in different representations for convenience or efficiency.Kubernetes supports efficient change notifications on resources via watches:in the Kubernetes API, watch is a verb that is used to track changes to an object in Kubernetes as a stream. It is used for the efficient detection of changes.Kubernetes also provides consistent list operations so that API clients can effectively cache, track, and synchronize the state of resources.You can view the API reference online, or read on to learn about the API in general.Kubernetes API terminologyKubernetes generally leverages common RESTful terminology to describe the API concepts:A resource type is the name used in the URL (pods, namespaces, services)All resource types have a concrete representation (their object schema) which is called a kindA list of instances of a resource type is known as a collectionA single instance of a resource type is called a resource, and also usually represents an objectFor some resource types, the API includes one or more sub-resources, which are represented as URI paths below the resourceMost Kubernetes API resource types are objects – they represent a concrete instance of a concept on the cluster, like a pod or namespace. A smaller number of API resource types are virtual in that they often represent operations on objects, rather than objects, such as a permission check (use a POST with a JSON-encoded body of SubjectAccessReview to the subjectaccessreviews resource), or the eviction sub-resource of a Pod (used to trigger API-initiated eviction).Object namesAll objects you can create via the API have a unique object name to allow idempotent creation and retrieval, except that virtual resource types may not have unique names if they are not retrievable, or do not rely on idempotency. Within a namespace, only one object of a given kind can have a given name at a time. However, if you delete the object, you can make a new object with the same name. Some objects are not namespaced (for example: Nodes), and so their names must be unique across the whole cluster.API verbsAlmost all object resource types support the standard HTTP verbs - GET, POST, PUT, PATCH, and DELETE. Kubernetes also uses its own verbs, which are often written in lowercase to distinguish them from HTTP verbs.Kubernetes uses the term list to describe the action of returning a collection of resources, to distinguish it from retrieving a single resource which is usually called a get. If you sent an HTTP GET request with the ?watch query parameter, Kubernetes calls this


Question: How does Kubernetes API Concepts work?

Answer: Kubernetes API ConceptsThe Kubernetes API is a resource-based (RESTful) programmatic interface provided via HTTP. It supports retrieving, creating, updating, and deleting primary resources via the standard HTTP verbs (POST, PUT, PATCH, DELETE, GET).For some resources, the API includes additional subresources that allow fine-grained authorization (such as separate views for Pod details and log retrievals), and can accept and serve those resources in different representations for convenience or efficiency.Kubernetes supports efficient change notifications on resources via watches:in the Kubernetes API, watch is a verb that is used to track changes to an object in Kubernetes as a stream. It is used for the efficient detection of changes.Kubernetes also provides consistent list operations so that API clients can effectively cache, track, and synchronize the state of resources.You can view the API reference online, or read on to learn about the API in general.Kubernetes API terminologyKubernetes generally leverages common RESTful terminology to describe the API concepts:A resource type is the name used in the URL (pods, namespaces, services)All resource types have a concrete representation (their object schema) which is called a kindA list of instances of a resource type is known as a collectionA single instance of a resource type is called a resource, and also usually represents an objectFor some resource types, the API includes one or more sub-resources, which are represented as URI paths below the resourceMost Kubernetes API resource types are objects – they represent a concrete instance of a concept on the cluster, like a pod or namespace. A smaller number of API resource types are virtual in that they often represent operations on objects, rather than objects, such as a permission check (use a POST with a JSON-encoded body of SubjectAccessReview to the subjectaccessreviews resource), or the eviction sub-resource of a Pod (used to trigger API-initiated eviction).Object namesAll objects you can create via the API have a unique object name to allow idempotent creation and retrieval, except that virtual resource types may not have unique names if they are not retrievable, or do not rely on idempotency. Within a namespace, only one object of a given kind can have a given name at a time. However, if you delete the object, you can make a new object with the same name. Some objects are not namespaced (for example: Nodes), and so their names must be unique across the whole cluster.API verbsAlmost all object resource types support the standard HTTP verbs - GET, POST, PUT, PATCH, and DELETE. Kubernetes also uses its own verbs, which are often written in lowercase to distinguish them from HTTP verbs.Kubernetes uses the term list to describe the action of returning a collection of resources, to distinguish it from retrieving a single resource which is usually called a get. If you sent an HTTP GET request with the ?watch query parameter, Kubernetes calls this


Question: When would you use Kubernetes API Concepts?

Answer: Kubernetes API ConceptsThe Kubernetes API is a resource-based (RESTful) programmatic interface provided via HTTP. It supports retrieving, creating, updating, and deleting primary resources via the standard HTTP verbs (POST, PUT, PATCH, DELETE, GET).For some resources, the API includes additional subresources that allow fine-grained authorization (such as separate views for Pod details and log retrievals), and can accept and serve those resources in different representations for convenience or efficiency.Kubernetes supports efficient change notifications on resources via watches:in the Kubernetes API, watch is a verb that is used to track changes to an object in Kubernetes as a stream. It is used for the efficient detection of changes.Kubernetes also provides consistent list operations so that API clients can effectively cache, track, and synchronize the state of resources.You can view the API reference online, or read on to learn about the API in general.Kubernetes API terminologyKubernetes generally leverages common RESTful terminology to describe the API concepts:A resource type is the name used in the URL (pods, namespaces, services)All resource types have a concrete representation (their object schema) which is called a kindA list of instances of a resource type is known as a collectionA single instance of a resource type is called a resource, and also usually represents an objectFor some resource types, the API includes one or more sub-resources, which are represented as URI paths below the resourceMost Kubernetes API resource types are objects – they represent a concrete instance of a concept on the cluster, like a pod or namespace. A smaller number of API resource types are virtual in that they often represent operations on objects, rather than objects, such as a permission check (use a POST with a JSON-encoded body of SubjectAccessReview to the subjectaccessreviews resource), or the eviction sub-resource of a Pod (used to trigger API-initiated eviction).Object namesAll objects you can create via the API have a unique object name to allow idempotent creation and retrieval, except that virtual resource types may not have unique names if they are not retrievable, or do not rely on idempotency. Within a namespace, only one object of a given kind can have a given name at a time. However, if you delete the object, you can make a new object with the same name. Some objects are not namespaced (for example: Nodes), and so their names must be unique across the whole cluster.API verbsAlmost all object resource types support the standard HTTP verbs - GET, POST, PUT, PATCH, and DELETE. Kubernetes also uses its own verbs, which are often written in lowercase to distinguish them from HTTP verbs.Kubernetes uses the term list to describe the action of returning a collection of resources, to distinguish it from retrieving a single resource which is usually called a get. If you sent an HTTP GET request with the ?watch query parameter, Kubernetes calls this


Question: What are the benefits of Kubernetes API Concepts?

Answer: Kubernetes API ConceptsThe Kubernetes API is a resource-based (RESTful) programmatic interface provided via HTTP. It supports retrieving, creating, updating, and deleting primary resources via the standard HTTP verbs (POST, PUT, PATCH, DELETE, GET).For some resources, the API includes additional subresources that allow fine-grained authorization (such as separate views for Pod details and log retrievals), and can accept and serve those resources in different representations for convenience or efficiency.Kubernetes supports efficient change notifications on resources via watches:in the Kubernetes API, watch is a verb that is used to track changes to an object in Kubernetes as a stream. It is used for the efficient detection of changes.Kubernetes also provides consistent list operations so that API clients can effectively cache, track, and synchronize the state of resources.You can view the API reference online, or read on to learn about the API in general.Kubernetes API terminologyKubernetes generally leverages common RESTful terminology to describe the API concepts:A resource type is the name used in the URL (pods, namespaces, services)All resource types have a concrete representation (their object schema) which is called a kindA list of instances of a resource type is known as a collectionA single instance of a resource type is called a resource, and also usually represents an objectFor some resource types, the API includes one or more sub-resources, which are represented as URI paths below the resourceMost Kubernetes API resource types are objects – they represent a concrete instance of a concept on the cluster, like a pod or namespace. A smaller number of API resource types are virtual in that they often represent operations on objects, rather than objects, such as a permission check (use a POST with a JSON-encoded body of SubjectAccessReview to the subjectaccessreviews resource), or the eviction sub-resource of a Pod (used to trigger API-initiated eviction).Object namesAll objects you can create via the API have a unique object name to allow idempotent creation and retrieval, except that virtual resource types may not have unique names if they are not retrievable, or do not rely on idempotency. Within a namespace, only one object of a given kind can have a given name at a time. However, if you delete the object, you can make a new object with the same name. Some objects are not namespaced (for example: Nodes), and so their names must be unique across the whole cluster.API verbsAlmost all object resource types support the standard HTTP verbs - GET, POST, PUT, PATCH, and DELETE. Kubernetes also uses its own verbs, which are often written in lowercase to distinguish them from HTTP verbs.Kubernetes uses the term list to describe the action of returning a collection of resources, to distinguish it from retrieving a single resource which is usually called a get. If you sent an HTTP GET request with the ?watch query parameter, Kubernetes calls this


Question: What is Kubernetes API Concepts?

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


Question: What is Kubernetes API terminology?

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


Question: What is Object names?

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


Question: What is API verbs?

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


Question: What is Resource URIs?

Answer: A l l   r e s o u r c e   t y p e s   a r e   e i t h e r   s c o p e d   b y   t h e   c l u s t e r   ( / a p i s / G R O U P / V E R S I O N / * )   o r   t o   a   n a m e s p a c e   ( / a p i s / G R O U P / V E R S I O N / n a m e s p a c e s / N A M E S P A C E / * ) .   A   n a m e s p a c e - s c o p e d   r e s o u r c e   t y p e   w i l l   b e   d e l e t e d   w h e n   i t s   n a m e s p a c e   i s   d e l e t e d   a n d   a c c e s s   t o   t h a t   r e s o u r c e   t y p e   i s   c o n t r o l l e d   b y   a u t h o r i z a t i o n   c h e c k s   o n   t h e   n a m e s p a c e   s c o p e .   N o t e :   c o r e   r e s o u r c e s   u s e   / a p i   i n s t e a d   o f   / a p i s   a n d   o m i t   t h e   G R O U P   p a t h   s e g m e n t .   E x a m p l e s :   / a p i / v 1 / n a m e s p a c e s / a p i / v 1 / p o d s / a p i / v 1 / n a m e s p a c e s / m y - n a m e s p a c e / p o d s / a p i s / a p p s / v 1 / d e p l o y m e n t s / a p i s / a p p s / v 1 / n a m e s p a c e s / m y - n a m e s p a c e / d e p l o y m e n t s / a p i s / a p p s / v 1 / n a m e s p a c e s / m y - n a m e s p a c e / d e p l o y m e n t s / m y - d e p l o y m e n t   Y o u   c a n   a l s o   a c c e s s   c o l l e c t i o n s   o f   r e s o u r c e s   ( f o r   e x a m p l e :   l i s t i n g   a l l   N o d e s ) .   T h e   f o l l o w i n g   p a t h s   a r e   u s e d   t o   r e t r i e v e   c o l l e c t i o n s   a n d   r e s o u r c e s :   C l u s t e r - s c o p e d   r e s o u r c e s : G E T   / a p i s / G R O U P / V E R S I O N / R E S O U R C E T Y P E   -   r e t u r n   t h e   c o l l e c t i o n   o f   r e s o u r c e s   o f   t h e   r e s o u r c e   t y p e G E T   / a p i s / G R O U P / V E R S I O N / R E S O U R C E T Y P E / N A M E   -   r e t u r n   t h e   r e s o u r c e   w i t h   N A M E   u n d e r   t h e   r e s o u r c e   t y p e N a m e s p a c e - s c o p e d   r e s o u r c e s : G E


Question: What is HTTP media types?

Answer: O v e r   H T T P ,   K u b e r n e t e s   s u p p o r t s   J S O N ,   Y A M L ,   C B O R   a n d   P r o t o b u f   w i r e   e n c o d i n g s .   B y   d e f a u l t ,   K u b e r n e t e s   r e t u r n s   o b j e c t s   i n   J S O N   s e r i a l i z a t i o n ,   u s i n g   t h e   a p p l i c a t i o n / j s o n   m e d i a   t y p e .   A l t h o u g h   J S O N   i s   t h e   d e f a u l t ,   c l i e n t s   m a y   r e q u e s t   a   r e s p o n s e   i n   Y A M L ,   o r   u s e   t h e   m o r e   e f f i c i e n t   b i n a r y   P r o t o b u f   r e p r e s e n t a t i o n   f o r   b e t t e r   p e r f o r m a n c e   a t   s c a l e .   T h e   K u b e r n e t e s   A P I   i m p l e m e n t s   s t a n d a r d   H T T P   c o n t e n t   t y p e   n e g o t i a t i o n :   p a s s i n g   a n   A c c e p t   h e a d e r   w i t h   a   G E T   c a l l   w i l l   r e q u e s t   t h a t   t h e   s e r v e r   t r i e s   t o   r e t u r n   a   r e s p o n s e   i n   y o u r   p r e f e r r e d   m e d i a   t y p e .   I f   y o u   w a n t   t o   s e n d   a n   o b j e c t   i n   P r o t o b u f   t o   t h e   s e r v e r   f o r   a   P U T   o r   P O S T   r e q u e s t ,   y o u   m u s t   s e t   t h e   C o n t e n t - T y p e   r e q u e s t   h e a d e r   a p p r o p r i a t e l y .   I f   y o u   r e q u e s t   a n   a v a i l a b l e   m e d i a   t y p e ,   t h e   A P I   s e r v e r   r e t u r n s   a   r e s p o n s e   w i t h   a   s u i t a b l e   C o n t e n t - T y p e ;   i f   n o n e   o f   t h e   m e d i a   t y p e s   y o u   r e q u e s t   a r e   s u p p o r t e d ,   t h e   A P I   s e r v e r   r e t u r n s   a   4 0 6   N o t   a c c e p t a b l e   e r r o r   m e s s a g e .   A l l   b u i l t - i n   r e s o u r c e   t y p e s   s u p p o r t   t h e   a p p l i c a t i o n / j s o n   m e d i a   t y p e .


Question: What is Chunked encoding of collections?

Answer: F o r   J S O N   a n d   P r o t o b u f   e n c o d i n g ,   K u b e r n e t e s   i m p l e m e n t s   c u s t o m   e n c o d e r s   t h a t   w r i t e   i t e m ,   b y   i t e m .   T h e   f e a t u r e   d o e s n ' t   c h a n g e   t h e   o u t p u t ,   b u t   a l l o w s   A P I   s e r v e r   t o   a v o i d   l o a d i n g   w h o l e   L I S T   r e s p o n s e   i n t o   m e m o r y .   U s i n g   o t h e r   t y p e s   o f   e n c o d i n g   ( i n c l u d i n g   p r e t t y   r e p r e s e n t a t i o n   o f   J S O N )   s h o u l d   b e   a v o i d e d   f o r   l a r g e   c o l l e c t i o n s   o f   r e s o u r c e s   ( > 1 0 0 M B )   a s   i t   c a n   h a v e   n e g a t i v e   p e r f o r m a n c e   i m p a c t .


Question: What is JSON resource encoding?

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


Question: What is YAML resource encoding?

Answer: K u b e r n e t e s   a l s o   s u p p o r t s   t h e   a p p l i c a t i o n / y a m l   m e d i a   t y p e   f o r   b o t h   r e q u e s t s   a n d   r e s p o n s e s .   Y A M L   c a n   b e   u s e d   f o r   d e f i n i n g   K u b e r n e t e s   m a n i f e s t s   a n d   A P I   i n t e r a c t i o n s .   F o r   e x a m p l e :   L i s t   a l l   o f   t h e   p o d s   o n   a   c l u s t e r   i n   Y A M L   f o r m a t G E T   / a p i / v 1 / p o d s   A c c e p t :   a p p l i c a t i o n / y a m l   2 0 0   O K   C o n t e n t - T y p e :   a p p l i c a t i o n / y a m l   …   Y A M L   e n c o d e d   c o l l e c t i o n   o f   P o d s   ( P o d L i s t   o b j e c t )   C r e a t e   a   p o d   b y   s e n d i n g   Y A M L - e n c o d e d   d a t a   t o   t h e   s e r v e r ,   r e q u e s t i n g   a   Y A M L   r e s p o n s e : P O S T   / a p i / v 1 / n a m e s p a c e s / t e s t / p o d s   C o n t e n t - T y p e :   a p p l i c a t i o n / y a m l   A c c e p t :   a p p l i c a t i o n / y a m l   …   Y A M L   e n c o d e d   P o d   o b j e c t   2 0 0   O K   C o n t e n t - T y p e :   a p p l i c a t i o n / y a m l   a p i V e r s i o n :   v 1   k i n d :   P o d   m e t a d a t a :   n a m e :   m y - p o d   …   L i s t   a l l   o f   t h e   p o d s   o n   a   c l u s t e r   i n   Y A M L   f o r m a t   G E T   / a p i / v 1 / p o d s   A c c e p t :   a p p l i c a t i o n / y a m l   2 0 0   O K   C o n t e n t - T y p e :   a p p l i c a t i o n / y a m l   …   Y A M L   e n c o d e d   c o l l e c t i o n   o f   P o d s   ( P o d L i s t   o b j e c t )   C r e a t e   a   p o d   b y   s e n d i n g   Y A M L - e n c o d e d   d a t a   t o   t h e   s e r v e r ,   r e q u e s t i n g   a   Y A M L   r e s p o n s e :   P O S T   / a p i / v 1 / n a m e s p a c e s / t e s t / p o d s   C o n t e n t - T y p e :   a p p l i c a t i o n / y a m l   A c c e p t :   a p p l i c a t i o n / y a m l   …


Question: What is Kubernetes Protobuf encoding?

Answer: K u b e r n e t e s   u s e s   a n   e n v e l o p e   w r a p p e r   t o   e n c o d e   P r o t o b u f   r e s p o n s e s .   T h a t   w r a p p e r   s t a r t s   w i t h   a   4   b y t e   m a g i c   n u m b e r   t o   h e l p   i d e n t i f y   c o n t e n t   i n   d i s k   o r   i n   e t c d   a s   P r o t o b u f   ( a s   o p p o s e d   t o   J S O N ) .   T h e   4   b y t e   m a g i c   n u m b e r   d a t a   i s   f o l l o w e d   b y   a   P r o t o b u f   e n c o d e d   w r a p p e r   m e s s a g e ,   w h i c h   d e s c r i b e s   t h e   e n c o d i n g   a n d   t y p e   o f   t h e   u n d e r l y i n g   o b j e c t .   W i t h i n   t h e   P r o t o b u f   w r a p p e r   m e s s a g e ,   t h e   i n n e r   o b j e c t   d a t a   i s   r e c o r d e d   u s i n g   t h e   r a w   f i e l d   o f   U n k n o w n   ( s e e   t h e   I D L   f o r   m o r e   d e t a i l ) .   F o r   e x a m p l e :   L i s t   a l l   o f   t h e   p o d s   o n   a   c l u s t e r   i n   P r o t o b u f   f o r m a t . G E T   / a p i / v 1 / p o d s   A c c e p t :   a p p l i c a t i o n / v n d . k u b e r n e t e s . p r o t o b u f   2 0 0   O K   C o n t e n t - T y p e :   a p p l i c a t i o n / v n d . k u b e r n e t e s . p r o t o b u f   …   b i n a r y   e n c o d e d   c o l l e c t i o n   o f   P o d s   ( P o d L i s t   o b j e c t )   C r e a t e   a   p o d   b y   s e n d i n g   P r o t o b u f   e n c o d e d   d a t a   t o   t h e   s e r v e r ,   b u t   r e q u e s t   a   r e s p o n s e   i n   J S O N . P O S T   / a p i / v 1 / n a m e s p a c e s / t e s t / p o d s   C o n t e n t - T y p e :   a p p l i c a t i o n / v n d . k u b e r n e t e s . p r o t o b u f   A c c e p t :   a p p l i c a t i o n / j s o n   …   b i n a r y   e n c o d e d   P o d   o b j e c t   2 0 0   O K   C o n t e n t - T y p e :   a p p l i c a t i o n / j s o n   {   " k i n d " :   " P o d " ,   " a p i V e r s i o n


Question: What is Compatibility with Kubernetes Protobuf?

Answer: N o t   a l l   A P I   r e s o u r c e   t y p e s   s u p p o r t   K u b e r n e t e s '   P r o t o b u f   e n c o d i n g ;   s p e c i f i c a l l y ,   P r o t o b u f   i s n ' t   a v a i l a b l e   f o r   r e s o u r c e s   t h a t   a r e   d e f i n e d   a s   C u s t o m R e s o u r c e D e f i n i t i o n s   o r   a r e   s e r v e d   v i a   t h e   a g g r e g a t i o n   l a y e r .   A s   a   c l i e n t ,   i f   y o u   m i g h t   n e e d   t o   w o r k   w i t h   e x t e n s i o n   t y p e s   y o u   s h o u l d   s p e c i f y   m u l t i p l e   c o n t e n t   t y p e s   i n   t h e   r e q u e s t   A c c e p t   h e a d e r   t o   s u p p o r t   f a l l b a c k   t o   J S O N .   F o r   e x a m p l e :   A c c e p t :   a p p l i c a t i o n / v n d . k u b e r n e t e s . p r o t o b u f ,   a p p l i c a t i o n / j s o n


Question: What is CBOR resource encoding?

Answer: W i t h   t h e   C B O R S e r v i n g A n d S t o r a g e   f e a t u r e   g a t e   e n a b l e d ,   r e q u e s t   a n d   r e s p o n s e   b o d i e s   f o r   a l l   b u i l t - i n   r e s o u r c e   t y p e s   a n d   a l l   r e s o u r c e s   d e f i n e d   b y   a   C u s t o m R e s o u r c e D e f i n i t i o n   m a y   b e   e n c o d e d   t o   t h e   C B O R   b i n a r y   d a t a   f o r m a t .   C B O R   i s   a l s o   s u p p o r t e d   a t   t h e   a g g r e g a t i o n   l a y e r   i f   i t   i s   e n a b l e d   i n   i n d i v i d u a l   a g g r e g a t e d   A P I   s e r v e r s .   C l i e n t s   s h o u l d   i n d i c a t e   t h e   I A N A   m e d i a   t y p e   a p p l i c a t i o n / c b o r   i n   t h e   C o n t e n t - T y p e   H T T P   r e q u e s t   h e a d e r   w h e n   t h e   r e q u e s t   b o d y   c o n t a i n s   a   s i n g l e   C B O R   e n c o d e d   d a t a   i t e m ,   a n d   i n   t h e   A c c e p t   H T T P   r e q u e s t   h e a d e r   w h e n   p r e p a r e d   t o   a c c e p t   a   C B O R   e n c o d e d   d a t a   i t e m   i n   t h e   r e s p o n s e .   A P I   s e r v e r s   w i l l   u s e   a p p l i c a t i o n / c b o r   i n   t h e   C o n t e n t - T y p e   H T T P   r e s p o n s e   h e a d e r   w h e n   t h e   r e s p o n s e   b o d y   c o n t a i n s   a   C B O R - e n c o d e d   o b j e c t .   I f   a n   A P I   s e r v e r   e n c o d e s   i t s   r e s p o n s e   t o   a   w a t c h   r e q u e s t   u s i n g   C B O R ,   t h e   r e s p o n s e   b o d y   w i l l   b e   a   C B O R   S e q u e n c e   a n d   t h e   C o n t e n t - T y p e   H T T P   r e s p o n s e   h e a d e r   w i l l   u s e   t h e   I A N A   m e d i a   t y p e   a p p l i c a t i o n / c b o r - s e q .   E a c h   e n t r y   o f   t h e   s e q u e n c e   ( i f   a n y )   i s   a   s i n g l e   C B O R - e n c o d e d   w a t c h   e v e n t .


Question: What is Efficient detection of changes?

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


Question: What is Watch bookmarks?

Answer: T o   m i t i g a t e   t h e   i m p a c t   o f   s h o r t   h i s t o r y   w i n d o w ,   t h e   K u b e r n e t e s   A P I   p r o v i d e s   a   w a t c h   e v e n t   n a m e d   B O O K M A R K .   I t   i s   a   s p e c i a l   k i n d   o f   e v e n t   t o   m a r k   t h a t   a l l   c h a n g e s   u p   t o   a   g i v e n   r e s o u r c e V e r s i o n   t h e   c l i e n t   i s   r e q u e s t i n g   h a v e   a l r e a d y   b e e n   s e n t .   T h e   d o c u m e n t   r e p r e s e n t i n g   t h e   B O O K M A R K   e v e n t   i s   o f   t h e   t y p e   r e q u e s t e d   b y   t h e   r e q u e s t ,   b u t   o n l y   i n c l u d e s   a   . m e t a d a t a . r e s o u r c e V e r s i o n   f i e l d .   F o r   e x a m p l e :   G E T   / a p i / v 1 / n a m e s p a c e s / t e s t / p o d s ? w a t c h = 1 & r e s o u r c e V e r s i o n = 1 0 2 4 5 & a l l o w W a t c h B o o k m a r k s = t r u e   - - -   2 0 0   O K   T r a n s f e r - E n c o d i n g :   c h u n k e d   C o n t e n t - T y p e :   a p p l i c a t i o n / j s o n   {   " t y p e " :   " A D D E D " ,   " o b j e c t " :   { " k i n d " :   " P o d " ,   " a p i V e r s i o n " :   " v 1 " ,   " m e t a d a t a " :   { " r e s o u r c e V e r s i o n " :   " 1 0 5 9 6 " ,   . . . } ,   . . . }   }   . . .   {   " t y p e " :   " B O O K M A R K " ,   " o b j e c t " :   { " k i n d " :   " P o d " ,   " a p i V e r s i o n " :   " v 1 " ,   " m e t a d a t a " :   { " r e s o u r c e V e r s i o n " :   " 1 2 7 4 6 " }   }   }   A s   a   c l i e n t ,   y o u   c a n   r e q u e s t   B O O K M A R K   e v e n t s   b y   s e t t i n g   t h e   a l l o w W a t c h B o o k m a r k s = t r u e   q u e r y   p a r a m e t e r   t o   a   w a t c h   r e q u e s t ,   b u t   y o u   s h o u l d n ' t   a s s u m e   b o o k m a r k s   a r e   r e t u r n e d   a t   a n y   s p e c i f i c   i n t e r v a l ,   n o r   c a n   c l i e n t s   a s s u


Question: What is Streaming lists?

Answer: O n   l a r g e   c l u s t e r s ,   r e t r i e v i n g   t h e   c o l l e c t i o n   o f   s o m e   r e s o u r c e   t y p e s   m a y   r e s u l t   i n   a   s i g n i f i c a n t   i n c r e a s e   o f   r e s o u r c e   u s a g e   ( p r i m a r i l y   R A M )   o n   t h e   c o n t r o l   p l a n e .   T o   a l l e v i a t e   t h e   i m p a c t   a n d   s i m p l i f y   t h e   u s e r   e x p e r i e n c e   o f   t h e   l i s t   +   w a t c h   p a t t e r n ,   K u b e r n e t e s   v 1 . 3 2   p r o m o t e s   t o   b e t a   t h e   f e a t u r e   t h a t   a l l o w s   r e q u e s t i n g   t h e   i n i t i a l   s t a t e   ( p r e v i o u s l y   r e q u e s t e d   v i a   t h e   l i s t   r e q u e s t )   a s   p a r t   o f   t h e   w a t c h   r e q u e s t .   O n   t h e   c l i e n t - s i d e   t h e   i n i t i a l   s t a t e   c a n   b e   r e q u e s t e d   b y   s p e c i f y i n g   s e n d I n i t i a l E v e n t s = t r u e   a s   q u e r y   s t r i n g   p a r a m e t e r   i n   a   w a t c h   r e q u e s t .   I f   s e t ,   t h e   A P I   s e r v e r   s t a r t s   t h e   w a t c h   s t r e a m   w i t h   s y n t h e t i c   i n i t   e v e n t s   ( o f   t y p e   A D D E D )   t o   b u i l d   t h e   w h o l e   s t a t e   o f   a l l   e x i s t i n g   o b j e c t s   f o l l o w e d   b y   a   B O O K M A R K   e v e n t   ( i f   r e q u e s t e d   v i a   a l l o w W a t c h B o o k m a r k s = t r u e   o p t i o n ) .   T h e   b o o k m a r k   e v e n t   i n c l u d e s   t h e   r e s o u r c e   v e r s i o n   t o   w h i c h   i s   s y n c e d .   A f t e r   s e n d i n g   t h e   b o o k m a r k   e v e n t ,   t h e   A P I   s e r v e r   c o n t i n u e s   a s   f o r   a n y   o t h e r   w a t c h   r e q u e s t .   W h e n   y o u   s e t   s e n d I n i t i a l E v e n t s = t r u e   i n   t h e   q u e r y   s t r i n g ,   K u b e r n e t e s   a l s o   r e


Question: What is Example?

Answer: A n   e x a m p l e :   y o u   w a n t   t o   w a t c h   a   c o l l e c t i o n   o f   P o d s .   F o r   t h a t   c o l l e c t i o n ,   t h e   c u r r e n t   r e s o u r c e   v e r s i o n   i s   1 0 2 4 5   a n d   t h e r e   a r e   t w o   p o d s :   f o o   a n d   b a r .   T h e n   s e n d i n g   t h e   f o l l o w i n g   r e q u e s t   ( e x p l i c i t l y   r e q u e s t i n g   c o n s i s t e n t   r e a d   b y   s e t t i n g   e m p t y   r e s o u r c e   v e r s i o n   u s i n g   r e s o u r c e V e r s i o n = )   c o u l d   r e s u l t   i n   t h e   f o l l o w i n g   s e q u e n c e   o f   e v e n t s :   G E T   / a p i / v 1 / n a m e s p a c e s / t e s t / p o d s ? w a t c h = 1 & s e n d I n i t i a l E v e n t s = t r u e & a l l o w W a t c h B o o k m a r k s = t r u e & 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 = N o t O l d e r T h a n   - - -   2 0 0   O K   T r a n s f e r - E n c o d i n g :   c h u n k e d   C o n t e n t - T y p e :   a p p l i c a t i o n / j s o n   {   " t y p e " :   " A D D E D " ,   " o b j e c t " :   { " k i n d " :   " P o d " ,   " a p i V e r s i o n " :   " v 1 " ,   " m e t a d a t a " :   { " r e s o u r c e V e r s i o n " :   " 8 4 6 7 " ,   " n a m e " :   " f o o " } ,   . . . }   }   {   " t y p e " :   " A D D E D " ,   " o b j e c t " :   { " k i n d " :   " P o d " ,   " a p i V e r s i o n " :   " v 1 " ,   " m e t a d a t a " :   { " r e s o u r c e V e r s i o n " :   " 5 7 2 6 " ,   " n a m e " :   " b a r " } ,   . . . }   }   {   " t y p e " :   " B O O K M A R K " ,   " o b j e c t " :   { " k i n d " :   " P o d " ,   " a p i V e r s i o n " :   " v 1 " ,   " m e t a d a t a " :   { " r e s o u r c e V e r s i o n " :   " 1 0 2 4 5 " }   }   }   . . .   < f o l l o w e d   b y   r e g u l a r   w a t c h   s t r e a m   s t a r t i n g   f r o m   r e s o u r c e V e r s i o n = " 1 0 2 4 5 " >


Question: What is Response compression?

Answer: A P I R e s p o n s e C o m p r e s s i o n   i s   a n   o p t i o n   t h a t   a l l o w s   t h e   A P I   s e r v e r   t o   c o m p r e s s   t h e   r e s p o n s e s   f o r   g e t   a n d   l i s t   r e q u e s t s ,   r e d u c i n g   t h e   n e t w o r k   b a n d w i d t h   a n d   i m p r o v i n g   t h e   p e r f o r m a n c e   o f   l a r g e - s c a l e   c l u s t e r s .   I t   i s   e n a b l e d   b y   d e f a u l t   s i n c e   K u b e r n e t e s   1 . 1 6   a n d   i t   c a n   b e   d i s a b l e d   b y   i n c l u d i n g   A P I R e s p o n s e C o m p r e s s i o n = f a l s e   i n   t h e   - - f e a t u r e - g a t e s   f l a g   o n   t h e   A P I   s e r v e r .   A P I   r e s p o n s e   c o m p r e s s i o n   c a n   s i g n i f i c a n t l y   r e d u c e   t h e   s i z e   o f   t h e   r e s p o n s e ,   e s p e c i a l l y   f o r   l a r g e   r e s o u r c e s   o r   c o l l e c t i o n s .   F o r   e x a m p l e ,   a   l i s t   r e q u e s t   f o r   p o d s   c a n   r e t u r n   h u n d r e d s   o f   k i l o b y t e s   o r   e v e n   m e g a b y t e s   o f   d a t a ,   d e p e n d i n g   o n   t h e   n u m b e r   o f   p o d s   a n d   t h e i r   a t t r i b u t e s .   B y   c o m p r e s s i n g   t h e   r e s p o n s e ,   t h e   n e t w o r k   b a n d w i d t h   c a n   b e   s a v e d   a n d   t h e   l a t e n c y   c a n   b e   r e d u c e d .   T o   v e r i f y   i f   A P I R e s p o n s e C o m p r e s s i o n   i s   w o r k i n g ,   y o u   c a n   s e n d   a   g e t   o r   l i s t   r e q u e s t   t o   t h e   A P I   s e r v e r   w i t h   a n   A c c e p t - E n c o d i n g   h e a d e r ,   a n d   c h e c k   t h e   r e s p o n s e   s i z e   a n d   h e a d e r s .   F o r   e x a m p l e :   G E T   / a p i / v 1 / p o d s   A c c e p t - E n c o d i n g :   g z i p   - - -   2 0 0   O K   C o n t e n t - T y p e :   a p p l i c a t i o n / j s o n   c


Question: What is Retrieving large results sets in chunks?

Answer: O n   l a r g e   c l u s t e r s ,   r e t r i e v i n g   t h e   c o l l e c t i o n   o f   s o m e   r e s o u r c e   t y p e s   m a y   r e s u l t   i n   v e r y   l a r g e   r e s p o n s e s   t h a t   c a n   i m p a c t   t h e   s e r v e r   a n d   c l i e n t .   F o r   i n s t a n c e ,   a   c l u s t e r   m a y   h a v e   t e n s   o f   t h o u s a n d s   o f   P o d s ,   e a c h   o f   w h i c h   i s   e q u i v a l e n t   t o   r o u g h l y   2   K i B   o f   e n c o d e d   J S O N .   R e t r i e v i n g   a l l   p o d s   a c r o s s   a l l   n a m e s p a c e s   m a y   r e s u l t   i n   a   v e r y   l a r g e   r e s p o n s e   ( 1 0 - 2 0 M B )   a n d   c o n s u m e   a   l a r g e   a m o u n t   o f   s e r v e r   r e s o u r c e s .   T h e   K u b e r n e t e s   A P I   s e r v e r   s u p p o r t s   t h e   a b i l i t y   t o   b r e a k   a   s i n g l e   l a r g e   c o l l e c t i o n   r e q u e s t   i n t o   m a n y   s m a l l e r   c h u n k s   w h i l e   p r e s e r v i n g   t h e   c o n s i s t e n c y   o f   t h e   t o t a l   r e q u e s t .   E a c h   c h u n k   c a n   b e   r e t u r n e d   s e q u e n t i a l l y   w h i c h   r e d u c e s   b o t h   t h e   t o t a l   s i z e   o f   t h e   r e q u e s t   a n d   a l l o w s   u s e r - o r i e n t e d   c l i e n t s   t o   d i s p l a y   r e s u l t s   i n c r e m e n t a l l y   t o   i m p r o v e   r e s p o n s i v e n e s s .   Y o u   c a n   r e q u e s t   t h a t   t h e   A P I   s e r v e r   h a n d l e s   a   l i s t   b y   s e r v i n g   s i n g l e   c o l l e c t i o n   u s i n g   p a g e s   ( w h i c h   K u b e r n e t e s   c a l l s   c h u n k s ) .   T o   r e t r i e v e   a   s i n g l e   c o l l e c t i o n   i n   c h u n k s ,   t w o   q u e r y   p a r a m e t e r s   l i m i t   a n d   c o n t i n u e   a r e   s u p p o r t e d   o n   r e q u e s t s   a g a i n s t   c o l l e c


Question: What is Collections?

Answer: I n   K u b e r n e t e s   t e r m i n o l o g y ,   t h e   r e s p o n s e   y o u   g e t   f r o m   a   l i s t   i s   a   c o l l e c t i o n .   H o w e v e r ,   K u b e r n e t e s   d e f i n e s   c o n c r e t e   k i n d s   f o r   c o l l e c t i o n s   o f   d i f f e r e n t   t y p e s   o f   r e s o u r c e .   C o l l e c t i o n s   h a v e   a   k i n d   n a m e d   f o r   t h e   r e s o u r c e   k i n d ,   w i t h   L i s t   a p p e n d e d .   W h e n   y o u   q u e r y   t h e   A P I   f o r   a   p a r t i c u l a r   t y p e ,   a l l   i t e m s   r e t u r n e d   b y   t h a t   q u e r y   a r e   o f   t h a t   t y p e .   F o r   e x a m p l e ,   w h e n   y o u   l i s t   S e r v i c e s ,   t h e   c o l l e c t i o n   r e s p o n s e   h a s   k i n d   s e t   t o   S e r v i c e L i s t ;   e a c h   i t e m   i n   t h a t   c o l l e c t i o n   r e p r e s e n t s   a   s i n g l e   S e r v i c e .   F o r   e x a m p l e :   G E T   / a p i / v 1 / s e r v i c e s   {   " k i n d " :   " S e r v i c e L i s t " ,   " a p i V e r s i o n " :   " v 1 " ,   " m e t a d a t a " :   {   " r e s o u r c e V e r s i o n " :   " 2 9 4 7 3 0 1 "   } ,   " i t e m s " :   [   {   " m e t a d a t a " :   {   " n a m e " :   " k u b e r n e t e s " ,   " n a m e s p a c e " :   " d e f a u l t " ,   . . .   " m e t a d a t a " :   {   " n a m e " :   " k u b e - d n s " ,   " n a m e s p a c e " :   " k u b e - s y s t e m " ,   . . .   T h e r e   a r e   d o z e n s   o f   c o l l e c t i o n   t y p e s   ( s u c h   a s   P o d L i s t ,   S e r v i c e L i s t ,   a n d   N o d e L i s t )   d e f i n e d   i n   t h e   K u b e r n e t e s   A P I .   Y o u   c a n   g e t   m o r e   i n f o r m a t i o n   a b o u t   e a c h   c o l l e c t i o n   t y p e   f r o m   t h e   K u b e r n e t e s   A P I   d o c u m e n t a t i o n .   S o m e   t o o l s ,   s u c h   a s   k u b e c t l ,   r e p r e s e n t


Question: What is Note:?

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


Question: What is Receiving resources as Tables?

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


Question: What is Resource deletion?

Answer: W h e n   y o u   d e l e t e   a   r e s o u r c e   t h i s   t a k e s   p l a c e   i n   t w o   p h a s e s .   f i n a l i z a t i o n r e m o v a l   {   " k i n d " :   " C o n f i g M a p " ,   " a p i V e r s i o n " :   " v 1 " ,   " m e t a d a t a " :   {   " f i n a l i z e r s " :   [ " u r l . i o / n e a t - f i n a l i z a t i o n " ,   " o t h e r - u r l . i o / m y - f i n a l i z e r " ] ,   " d e l e t i o n T i m e s t a m p " :   n i l ,   }   }   W h e n   a   c l i e n t   f i r s t   s e n d s   a   d e l e t e   t o   r e q u e s t   t h e   r e m o v a l   o f   a   r e s o u r c e ,   t h e   . m e t a d a t a . d e l e t i o n T i m e s t a m p   i s   s e t   t o   t h e   c u r r e n t   t i m e .   O n c e   t h e   . m e t a d a t a . d e l e t i o n T i m e s t a m p   i s   s e t ,   e x t e r n a l   c o n t r o l l e r s   t h a t   a c t   o n   f i n a l i z e r s   m a y   s t a r t   p e r f o r m i n g   t h e i r   c l e a n u p   w o r k   a t   a n y   t i m e ,   i n   a n y   o r d e r .   O r d e r   i s   n o t   e n f o r c e d   b e t w e e n   f i n a l i z e r s   b e c a u s e   i t   w o u l d   i n t r o d u c e   s i g n i f i c a n t   r i s k   o f   s t u c k   . m e t a d a t a . f i n a l i z e r s .   T h e   . m e t a d a t a . f i n a l i z e r s   f i e l d   i s   s h a r e d :   a n y   a c t o r   w i t h   p e r m i s s i o n   c a n   r e o r d e r   i t .   I f   t h e   f i n a l i z e r   l i s t   w e r e   p r o c e s s e d   i n   o r d e r ,   t h e n   t h i s   m i g h t   l e a d   t o   a   s i t u a t i o n   i n   w h i c h   t h e   c o m p o n e n t   r e s p o n s i b l e   f o r   t h e   f i r s t   f i n a l i z e r   i n   t h e   l i s t   i s   w a i t i n g   f o r   s o m e   s i g n a l   ( f i e l d   v a l u e ,   e x t e r n a l   s y s t e m ,   o r   o t h e r )   p r o d u c e d   b y   a   c o m p o n e n t   r e s p o n s i b l e   f o r   a   f i n a l i z e


Question: What is Caution:?

Answer: B y   e n a b l i n g   t h e   d e l e t e   o p t i o 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 ,   t h e   u s e r   c a n   p e r f o r m   a n   u n s a f e   f o r c e   d e l e t e   o p e r a t i o n   o f   a n   u n d e c r y p t a b l e / c o r r u p t   r e s o u r c e .   T h i s   o p t i o n   i s   b e h i n d   a n   A L P H A   f e a t u r e   g a t e ,   a n d   i t   i s   d i s a b l e d   b y   d e f a u l t .   I n   o r d e r   t o   u s e   t h i s   o p t i o n ,   t h e   c l u s t e r   o p e r a t o r   m u s t   e n a b l e   t h e   f e a t u r e   b y   s e t t i n g   t h e   c o m m a n d   l i n e   o p t i o n   - - f e a t u r e - g a t e s = A l l o w U n s a f e M a l f o r m e d O b j e c t D e l e t i o n = t r u e .


Question: What is Note:?

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


Question: What is Single resource API?

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


Question: What is Field validation?

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


Question: What is Validation for unrecognized or duplicate fields?

Answer: F r o m   1 . 2 5   o n w a r d ,   u n r e c o g n i z e d   o r   d u p l i c a t e   f i e l d s   i n   a n   o b j e c t   a r e   d e t e c t e d   v i a   v a l i d a t i o n   o n   t h e   s e r v e r   w h e n   y o u   u s e   H T T P   v e r b s   t h a t   c a n   s u b m i t   d a t a   ( P O S T ,   P U T ,   a n d   P A T C H ) .   P o s s i b l e   l e v e l s   o f   v a l i d a t i o n   a r e   I g n o r e ,   W a r n   ( d e f a u l t ) ,   a n d   S t r i c t .   T h e   f i e l d   v a l i d a t i o n   l e v e l   i s   s e t   b y   t h e   f i e l d V a l i d a t i o n   q u e r y   p a r a m e t e r .


Question: What is Note:?

Answer: I f   y o u   s u b m i t   a   r e q u e s t   t h a t   s p e c i f i e s   a n   u n r e c o g n i z e d   f i e l d ,   a n d   t h a t   i s   a l s o   i n v a l i d   f o r   a   d i f f e r e n t   r e a s o n   ( f o r   e x a m p l e ,   t h e   r e q u e s t   p r o v i d e s   a   s t r i n g   v a l u e   w h e r e   t h e   A P I   e x p e c t s   a n   i n t e g e r   f o r   a   k n o w n   f i e l d ) ,   t h e n   t h e   A P I   s e r v e r   r e s p o n d s   w i t h   a   4 0 0   B a d   R e q u e s t   e r r o r ,   b u t   w i l l   n o t   p r o v i d e   a n y   i n f o r m a t i o n   o n   u n k n o w n   o r   d u p l i c a t e   f i e l d s   ( o n l y   w h i c h   f a t a l   e r r o r   i t   e n c o u n t e r e d   f i r s t ) .   Y o u   a l w a y s   r e c e i v e   a n   e r r o r   r e s p o n s e   i n   t h i s   c a s e ,   n o   m a t t e r   w h a t   f i e l d   v a l i d a t i o n   l e v e l   y o u   r e q u e s t e d .   T o o l s   t h a t   s u b m i t   r e q u e s t s   t o   t h e   s e r v e r   ( s u c h   a s   k u b e c t l ) ,   m i g h t   s e t   t h e i r   o w n   d e f a u l t s   t h a t   a r e   d i f f e r e n t   f r o m   t h e   W a r n   v a l i d a t i o n   l e v e l   t h a t   t h e   A P I   s e r v e r   u s e s   b y   d e f a u l t .   T h e   k u b e c t l   t o o l   u s e s   t h e   - - v a l i d a t e   f l a g   t o   s e t   t h e   l e v e l   o f   f i e l d   v a l i d a t i o n .   I t   a c c e p t s   t h e   v a l u e s   i g n o r e ,   w a r n ,   a n d   s t r i c t   w h i l e   a l s o   a c c e p t i n g   t h e   v a l u e s   t r u e   ( e q u i v a l e n t   t o   s t r i c t )   a n d   f a l s e   ( e q u i v a l e n t   t o   i g n o r e ) .   T h e   d e f a u l t   v a l i d a t i o n   s e t t i n g   f o r   k u b e c t l   i s   - - v a l i d a t e = t r u e ,   w h i c h   m e a n s   s t r i c t   s e r v e r - s i d e   f i e l d   v a l i d a t i o n .


Question: What is Note:?

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


Question: What is Dry-run?

Answer: W h e n   y o u   u s e   H T T P   v e r b s   t h a t   c a n   m o d i f y   r e s o u r c e s   ( P O S T ,   P U T ,   P A T C H ,   a n d   D E L E T E ) ,   y o u   c a n   s u b m i t   y o u r   r e q u e s t   i n   a   d r y   r u n   m o d e .   D r y   r u n   m o d e   h e l p s   t o   e v a l u a t e   a   r e q u e s t   t h r o u g h   t h e   t y p i c a l   r e q u e s t   s t a g e s   ( a d m i s s i o n   c h a i n ,   v a l i d a t i o n ,   m e r g e   c o n f l i c t s )   u p   u n t i l   p e r s i s t i n g   o b j e c t s   t o   s t o r a g e .   T h e   r e s p o n s e   b o d y   f o r   t h e   r e q u e s t   i s   a s   c l o s e   a s   p o s s i b l e   t o   a   n o n - d r y - r u n   r e s p o n s e .   K u b e r n e t e s   g u a r a n t e e s   t h a t   d r y - r u n   r e q u e s t s   w i l l   n o t   b e   p e r s i s t e d   i n   s t o r a g e   o r   h a v e   a n y   o t h e r   s i d e   e f f e c t s .