Question: What is RawExtension?

Answer: R a w E x t e n s i o n s   ( a s   i n   r u n t i m e . R a w E x t e n s i o n )   h o l d s   c o m p l e t e   K u b e r n e t e s   o b j e c t s ,   i . e .   w i t h   a p i V e r s i o n   a n d   k i n d   f i e l d s .   I t   i s   p o s s i b l e   t o   s p e c i f y   t h o s e   e m b e d d e d   o b j e c t s   ( b o t h   c o m p l e t e l y   w i t h o u t   c o n s t r a i n t s   o r   p a r t i a l l y   s p e c i f i e d )   b y   s e t t i n g   x - k u b e r n e t e s - e m b e d d e d - r e s o u r c e :   t r u e .   F o r   e x a m p l e :   t y p e :   o b j e c t   p r o p e r t i e s :   f o o :   x - k u b e r n e t e s - e m b e d d e d - r e s o u r c e :   t r u e   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 r u e   H e r e ,   t h e   f i e l d   f o o   h o l d s   a   c o m p l e t e   o b j e c t ,   e . g . :   f o o :   a p i V e r s i o n :   v 1   k i n d :   P o d   s p e c :   #   . . .   B e c a u s e   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 r u e   i s   s p e c i f i e d   a l o n g s i d e ,   n o t h i n g   i s   p r u n e d .   T h e   u s e   o f   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 r u e   i s   o p t i o n a l   t h o u g h .   W i t h   x - k u b e r n e t e s - e m b e d d e d - r e s o u r c e :   t r u e ,   t h e   a p i V e r s i o n ,   k i n d   a n d   m e t a d a t a   a r e   i m p l i c i t l y   s p e c i f i e d   a n d   v a l i d a t e d .


Question: What is Serving multiple versions of a CRD?

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


Question: What is Finalizers?

Answer: F i n a l i z e r s   a l l o w   c o n t r o l l e r s   t o   i m p l e m e n t   a s y n c h r o n o u s   p r e - d e l e t e   h o o k s .   C u s t o m   o b j e c t s   s u p p o r t   f i n a l i z e r s   s i m i l a r   t o   b u i l t - i n   o b j e c t s .   Y o u   c a n   a d d   a   f i n a l i z e r   t o   a   c u s t o m   o b j e c t   l i k e   t h i s :   a p i V e r s i o n :   " s t a b l e . e x a m p l e . c o m / v 1 "   k i n d :   C r o n T a b   m e t a d a t a :   f i n a l i z e r s :   -   s t a b l e . e x a m p l e . c o m / f i n a l i z e r   I d e n t i f i e r s   o f   c u s t o m   f i n a l i z e r s   c o n s i s t   o f   a   d o m a i n   n a m e ,   a   f o r w a r d   s l a s h   a n d   t h e   n a m e   o f   t h e   f i n a l i z e r .   A n y   c o n t r o l l e r   c a n   a d d   a   f i n a l i z e r   t o   a n y   o b j e c t ' s   l i s t   o f   f i n a l i z e r s .   T h e   f i r s t   d e l e t e   r e q u e s t   o n   a n   o b j e c t   w i t h   f i n a l i z e r s   s e t s   a   v a l u e   f o r   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   f i e l d   b u t   d o e s   n o t   d e l e t e   i t .   O n c e   t h i s   v a l u e   i s   s e t ,   e n t r i e s   i n   t h e   f i n a l i z e r s   l i s t   c a n   o n l y   b e   r e m o v e d .   W h i l e   a n y   f i n a l i z e r s   r e m a i n   i t   i s   a l s o   i m p o s s i b l e   t o   f o r c e   t h e   d e l e t i o n   o f   a n   o b j e c t .   W h e n   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   f i e l d   i s   s e t ,   c o n t r o l l e r s   w a t c h i n g   t h e   o b j e c t   e x e c u t e   a n y   f i n a l i z e r s   t h e y   h a n d l e   a n d   r e m o v e   t h e   f i n a l i z e r   f r o m   t h e   l i s t   a f t e r   t h e y   a r e   d o n e .   I t   i s   t h e   r e s p o n s i b i l i t y   o f   e a c h   c o n t r o l l e r   t o   r e m o v e   i t s   f


Question: What is Validation?

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


Question: What is Validation ratcheting?

Answer: I f   y o u   a r e   u s i n g   a   v e r s i o n   o f   K u b e r n e t e s   o l d e r   t h a n   v 1 . 3 0 ,   y o u   n e e d   t o   e x p l i c i t l y   e n a b l e   t h e   C R D V a l i d a t i o n R a t c h e t i n g   f e a t u r e   g a t e   t o   u s e   t h i s   b e h a v i o r ,   w h i c h   t h e n   a p p l i e s   t o   a l l   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   i n   y o u r   c l u s t e r .   P r o v i d e d   y o u   e n a b l e d   t h e   f e a t u r e   g a t e ,   K u b e r n e t e s   i m p l e m e n t s   v a l i d a t i o n   r a t c h e t i n g   f o r   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 .   T h e   A P I   s e r v e r   i s   w i l l i n g   t o   a c c e p t   u p d a t e s   t o   r e s o u r c e s   t h a t   a r e   n o t   v a l i d   a f t e r   t h e   u p d a t e ,   p r o v i d e d   t h a t   e a c h   p a r t   o f   t h e   r e s o u r c e   t h a t   f a i l e d   t o   v a l i d a t e   w a s   n o t   c h a n g e d   b y   t h e   u p d a t e   o p e r a t i o n .   I n   o t h e r   w o r d s ,   a n y   i n v a l i d   p a r t   o f   t h e   r e s o u r c e   t h a t   r e m a i n s   i n v a l i d   m u s t   h a v e   a l r e a d y   b e e n   w r o n g .   Y o u   c a n n o t   u s e   t h i s   m e c h a n i s m   t o   u p d a t e   a   v a l i d   r e s o u r c e   s o   t h a t   i t   b e c o m e s   i n v a l i d .   T h i s   f e a t u r e   a l l o w s   a u t h o r s   o f   C R D s   t o   c o n f i d e n t l y   a d d   n e w   v a l i d a t i o n s   t o   t h e   O p e n A P I V 3   s c h e m a   u n d e r   c e r t a i n   c o n d i t i o n s .   U s e r s   c a n   u p d a t e   t o   t h e   n e w   s c h e m a   s a f e l y   w i t h o u t   b u m p i n g   t h e   v e r s i o n   o f   t h e   o b j e c t   o r   b r e a k i n g   w o r k f l o w s .   W h i l e   m o s t   v a l i d a t i o n s   p l a c e d   i n   t h e   O p e n A P I V 3   s c h e m a


Question: What is Validation rules?

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


Question: What is Note:?

Answer: V a l i d a t i o n   r u l e s   a r e   c o m p i l e d   w h e n   C R D s   a r e   c r e a t e d / u p d a t e d .   T h e   r e q u e s t   o f   C R D s   c r e a t e / u p d a t e   w i l l   f a i l   i f   c o m p i l a t i o n   o f   v a l i d a t i o n   r u l e s   f a i l .   C o m p i l a t i o n   p r o c e s s   i n c l u d e s   t y p e   c h e c k i n g   a s   w e l l .   T h e   c o m p i l a t i o n   f a i l u r e :   n o _ m a t c h i n g _ o v e r l o a d :   t h i s   f u n c t i o n   h a s   n o   o v e r l o a d   f o r   t h e   t y p e s   o f   t h e   a r g u m e n t s . F o r   e x a m p l e ,   a   r u l e   l i k e   s e l f   = =   t r u e   a g a i n s t   a   f i e l d   o f   i n t e g e r   t y p e   w i l l   g e t   e r r o r : I n v a l i d   v a l u e :   a p i e x t e n s i o n s . V a l i d a t i o n R u l e { R u l e : " s e l f   = =   t r u e " ,   M e s s a g e : " " } :   c o m p i l a t i o n   f a i l e d :   E R R O R :   \ < i n p u t > : 1 : 6 :   f o u n d   n o   m a t c h i n g   o v e r l o a d   f o r   ' _ = = _ '   a p p l i e d   t o   ' ( i n t ,   b o o l ) '   n o _ s u c h _ f i e l d :   d o e s   n o t   c o n t a i n   t h e   d e s i r e d   f i e l d . F o r   e x a m p l e ,   a   r u l e   l i k e   s e l f . n o n E x i s t i n g F i e l d   >   0   a g a i n s t   a   n o n - e x i s t i n g   f i e l d   w i l l   r e t u r n   t h e   f o l l o w i n g   e r r o r : I n v a l i d   v a l u e :   a p i e x t e n s i o n s . V a l i d a t i o n R u l e { R u l e : " s e l f . n o n E x i s t i n g F i e l d   >   0 " ,   M e s s a g e : " " } :   c o m p i l a t i o n   f a i l e d :   E R R O R :   \ < i n p u t > : 1 : 5 :   u n d e f i n e d   f i e l d   ' n o n E x i s t i n g F i e l d '   i n v a l i d   a r g u m e n t :   i n v a l i d   a r g u m e n t   t o   m a c r o s . F o r   e x a m p l e ,   a   r u l e   l i k e   h a s ( s e l f )   w i l l   r e t u r n   e r r o r :


Question: What is The messageExpression field?

Answer: S i m i l a r   t o   t h e   m e s s a g e   f i e l d ,   w h i c h   d e f i n e s   t h e   s t r i n g   r e p o r t e d   f o r   a   v a l i d a t i o n   r u l e   f a i l u r e ,   m e s s a g e E x p r e s s i o n   a l l o w s   y o u   t o   u s e   a   C E L   e x p r e s s i o n   t o   c o n s t r u c t   t h e   m e s s a g e   s t r i n g .   T h i s   a l l o w s   y o u   t o   i n s e r t   m o r e   d e s c r i p t i v e   i n f o r m a t i o n   i n t o   t h e   v a l i d a t i o n   f a i l u r e   m e s s a g e .   m e s s a g e E x p r e s s i o n   m u s t   e v a l u a t e   a   s t r i n g   a n d   m a y   u s e   t h e   s a m e   v a r i a b l e s   t h a t   a r e   a v a i l a b l e   t o   t h e   r u l e   f i e l d .   F o r   e x a m p l e :   x - k u b e r n e t e s - v a l i d a t i o n s :   -   r u l e :   " s e l f . x   < =   s e l f . m a x L i m i t "   m e s s a g e E x p r e s s i o n :   ' " x   e x c e e d e d   m a x   l i m i t   o f   "   +   s t r i n g ( s e l f . m a x L i m i t ) '   K e e p   i n   m i n d   t h a t   C E L   s t r i n g   c o n c a t e n a t i o n   ( +   o p e r a t o r )   d o e s   n o t   a u t o - c a s t   t o   s t r i n g .   I f   y o u   h a v e   a   n o n - s t r i n g   s c a l a r ,   u s e   t h e   s t r i n g ( < v a l u e > )   f u n c t i o n   t o   c a s t   t h e   s c a l a r   t o   a   s t r i n g   l i k e   s h o w n   i n   t h e   a b o v e   e x a m p l e .   m e s s a g e E x p r e s s i o n   m u s t   e v a l u a t e   t o   a   s t r i n g ,   a n d   t h i s   i s   c h e c k e d   w h i l e   t h e   C R D   i s   b e i n g   w r i t t e n .   N o t e   t h a t   i t   i s   p o s s i b l e   t o   s e t   m e s s a g e   a n d   m e s s a g e E x p r e s s i o n   o n   t h e   s a m e   r u l e ,   a n d   i f   b o t h   a r e   p r e s e n t ,   m e s s a g e E x p r e s s i o n   w i l l   b e   u s e d .   H o w e v e r ,   i f   m e s s a g e E x p


Question: What is The message field?

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


Question: What is The reason field?

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


Question: What is The fieldPath field?

Answer: Y o u   c a n   s p e c i f y   t h e   f i e l d   p a t h   r e t u r n e d   w h e n   t h e   v a l i d a t i o n   f a i l s .   F o r   e x a m p l e :   x - k u b e r n e t e s - v a l i d a t i o n s :   -   r u l e :   " s e l f . f o o . t e s t . x   < =   s e l f . m a x L i m i t "   f i e l d P a t h :   " . f o o . t e s t . x "   I n   t h e   e x a m p l e   a b o v e ,   t h e   v a l i d a t i o n   c h e c k s   t h e   v a l u e   o f   f i e l d   x   s h o u l d   b e   l e s s   t h a n   t h e   v a l u e   o f   m a x L i m i t .   I f   n o   f i e l d P a t h   s p e c i f i e d ,   w h e n   v a l i d a t i o n   f a i l s ,   t h e   f i e l d P a t h   w o u l d   b e   d e f a u l t   t o   w h e r e v e r   s e l f   s c o p e d .   W i t h   f i e l d P a t h   s p e c i f i e d ,   t h e   r e t u r n e d   e r r o r   w i l l   h a v e   f i e l d P a t h   p r o p e r l y   r e f e r   t o   t h e   l o c a t i o n   o f   f i e l d   x .   T h e   f i e l d P a t h   v a l u e   m u s t   b e   a   r e l a t i v e   J S O N   p a t h   t h a t   i s   s c o p e d   t o   t h e   l o c a t i o n   o f   t h i s   x - k u b e r n e t e s - v a l i d a t i o n s   e x t e n s i o n   i n   t h e   s c h e m a .   A d d i t i o n a l l y ,   i t   s h o u l d   r e f e r   t o   a n   e x i s t i n g   f i e l d   w i t h i n   t h e   s c h e m a .   F o r   e x a m p l e   w h e n   v a l i d a t i o n   c h e c k s   i f   a   s p e c i f i c   a t t r i b u t e   f o o   u n d e r   a   m a p   t e s t M a p ,   y o u   c o u l d   s e t   f i e l d P a t h   t o   " . t e s t M a p . f o o "   o r   . t e s t M a p [ ' f o o ' ] ' .   I f   t h e   v a l i d a t i o n   r e q u i r e s   c h e c k i n g   f o r   u n i q u e   a t t r i b u t e s   i n   t w o   l i s t s ,   t h e   f i e l d P a t h   c a n   b e   s e t   t o   e i t h e r   o f   t h e   l i s t s .   F o r   e x a m p l e ,   i t   c a n   b e   s e t   t


Question: What is The optionalOldSelf field?

Answer: I f   y o u r   c l u s t e r   d o e s   n o t   h a v e   C R D   v a l i d a t i o n   r a t c h e t i n g   e n a b l e d ,   t h e   C u s t o m R e s o u r c e D e f i n i t i o n   A P I   d o e s n ' t   i n c l u d e   t h i s   f i e l d ,   a n d   t r y i n g   t o   s e t   i t   m a y   r e s u l t   i n   a n   e r r o r .   T h e   o p t i o n a l O l d S e l f   f i e l d   i s   a   b o o l e a n   f i e l d   t h a t   a l t e r s   t h e   b e h a v i o r   o f   T r a n s i t i o n   R u l e s   d e s c r i b e d   b e l o w .   N o r m a l l y ,   a   t r a n s i t i o n   r u l e   w i l l   n o t   e v a l u a t e   i f   o l d S e l f   c a n n o t   b e   d e t e r m i n e d :   d u r i n g   o b j e c t   c r e a t i o n   o r   w h e n   a   n e w   v a l u e   i s   i n t r o d u c e d   i n   a n   u p d a t e .   I f   o p t i o n a l O l d S e l f   i s   s e t   t o   t r u e ,   t h e n   t r a n s i t i o n   r u l e s   w i l l   a l w a y s   b e   e v a l u a t e d   a n d   t h e   t y p e   o f   o l d S e l f   b e   c h a n g e d   t o   a   C E L   O p t i o n a l   t y p e .   o p t i o n a l O l d S e l f   i s   u s e f u l   i n   c a s e s   w h e r e   s c h e m a   a u t h o r s   w o u l d   l i k e   a   m o r e   c o n t r o l   t o o l   t h a n   p r o v i d e d   b y   t h e   d e f a u l t   e q u a l i t y   b a s e d   b e h a v i o r   o f   t o   i n t r o d u c e   n e w e r ,   u s u a l l y   s t r i c t e r   c o n s t r a i n t s   o n   n e w   v a l u e s ,   w h i l e   s t i l l   a l l o w i n g   o l d   v a l u e s   t o   b e   " g r a n d f a t h e r e d "   o r   r a t c h e t e d   u s i n g   t h e   o l d e r   v a l i d a t i o n .   E x a m p l e   U s a g e :


Question: What is Validation functions?

Answer: F u n c t i o n s   a v a i l a b l e   i n c l u d e :   C E L   s t a n d a r d   f u n c t i o n s ,   d e f i n e d   i n   t h e   l i s t   o f   s t a n d a r d   d e f i n i t i o n s C E L   s t a n d a r d   m a c r o s C E L   e x t e n d e d   s t r i n g   f u n c t i o n   l i b r a r y K u b e r n e t e s   C E L   e x t e n s i o n   l i b r a r y


Question: What is Transition rules?

Answer: A   r u l e   t h a t   c o n t a i n s   a n   e x p r e s s i o n   r e f e r e n c i n g   t h e   i d e n t i f i e r   o l d S e l f   i s   i m p l i c i t l y   c o n s i d e r e d   a   t r a n s i t i o n   r u l e .   T r a n s i t i o n   r u l e s   a l l o w   s c h e m a   a u t h o r s   t o   p r e v e n t   c e r t a i n   t r a n s i t i o n s   b e t w e e n   t w o   o t h e r w i s e   v a l i d   s t a t e s .   F o r   e x a m p l e :   t y p e :   s t r i n g   e n u m :   [ " l o w " ,   " m e d i u m " ,   " h i g h " ]   x - k u b e r n e t e s - v a l i d a t i o n s :   -   r u l e :   " ! ( s e l f   = =   ' h i g h '   & &   o l d S e l f   = =   ' l o w ' )   & &   ! ( s e l f   = =   ' l o w '   & &   o l d S e l f   = =   ' h i g h ' ) "   m e s s a g e :   c a n n o t   t r a n s i t i o n   d i r e c t l y   b e t w e e n   ' l o w '   a n d   ' h i g h '   U n l i k e   o t h e r   r u l e s ,   t r a n s i t i o n   r u l e s   a p p l y   o n l y   t o   o p e r a t i o n s   m e e t i n g   t h e   f o l l o w i n g   c r i t e r i a :   T h e   o p e r a t i o n   u p d a t e s   a n   e x i s t i n g   o b j e c t .   T r a n s i t i o n   r u l e s   n e v e r   a p p l y   t o   c r e a t e   o p e r a t i o n s . B o t h   a n   o l d   a n d   a   n e w   v a l u e   e x i s t .   I t   r e m a i n s   p o s s i b l e   t o   c h e c k   i f   a   v a l u e   h a s   b e e n   a d d e d   o r   r e m o v e d   b y   p l a c i n g   a   t r a n s i t i o n   r u l e   o n   t h e   p a r e n t   n o d e .   T r a n s i t i o n   r u l e s   a r e   n e v e r   a p p l i e d   t o   c u s t o m   r e s o u r c e   c r e a t i o n .   W h e n   p l a c e d   o n   a n   o p t i o n a l   f i e l d ,   a   t r a n s i t i o n   r u l e   w i l l   n o t   a p p l y   t o   u p d a t e   o p e r a t i o n s   t h a t   s e t   o r   u n s e t   t h e   f i e l d . T h e   p a t h   t o   t h e   s c h e m a   n o d e   b e i


Question: What is Resource use by validation functions?

Answer: W h e n   y o u   c r e a t e   o r   u p d a t e   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   t h a t   u s e s   v a l i d a t i o n   r u l e s ,   t h e   A P I   s e r v e r   c h e c k s   t h e   l i k e l y   i m p a c t   o f   r u n n i n g   t h o s e   v a l i d a t i o n   r u l e s .   I f   a   r u l e   i s   e s t i m a t e d   t o   b e   p r o h i b i t i v e l y   e x p e n s i v e   t o   e x e c u t e ,   t h e   A P I   s e r v e r   r e j e c t s   t h e   c r e a t e   o r   u p d a t e   o p e r a t i o n ,   a n d   r e t u r n s   a n   e r r o r   m e s s a g e .   A   s i m i l a r   s y s t e m   i s   u s e d   a t   r u n t i m e   t h a t   o b s e r v e s   t h e   a c t i o n s   t h e   i n t e r p r e t e r   t a k e s .   I f   t h e   i n t e r p r e t e r   e x e c u t e s   t o o   m a n y   i n s t r u c t i o n s ,   e x e c u t i o n   o f   t h e   r u l e   w i l l   b e   h a l t e d ,   a n d   a n   e r r o r   w i l l   r e s u l t .   E a c h   C u s t o m R e s o u r c e D e f i n i t i o n   i s   a l s o   a l l o w e d   a   c e r t a i n   a m o u n t   o f   r e s o u r c e s   t o   f i n i s h   e x e c u t i n g   a l l   o f   i t s   v a l i d a t i o n   r u l e s .   I f   t h e   s u m   t o t a l   o f   i t s   r u l e s   a r e   e s t i m a t e d   a t   c r e a t i o n   t i m e   t o   g o   o v e r   t h a t   l i m i t ,   t h e n   a   v a l i d a t i o n   e r r o r   w i l l   a l s o   o c c u r .   Y o u   a r e   u n l i k e l y   t o   e n c o u n t e r   i s s u e s   w i t h   t h e   r e s o u r c e   b u d g e t   f o r   v a l i d a t i o n   i f   y o u   o n l y   s p e c i f y   r u l e s   t h a t   a l w a y s   t a k e   t h e   s a m e   a m o u n t   o f   t i m e   r e g a r d l e s s   o f   h o w   l a r g e   t h e i r   i n p u t   i s .   F o r   e x a m p l e ,   a   r u l e   t h a t   a s s e r t s   t h a t   s e l f . f o o   = =   1   d o e s   n o t


Question: What is Note:?

Answer: D e f a u l t i n g   a l l o w s   t o   s p e c i f y   d e f a u l t   v a l u e s   i n   t h e   O p e n A P I   v 3   v a l i d a t i o n   s c h e m a :   a p i V e r s i o n :   a p i e x t e n s i o n s . k 8 s . i o / v 1   k i n d :   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 e t a d a t a :   n a m e :   c r o n t a b s . s t a b l e . e x a m p l e . c o m   s p e c :   g r o u p :   s t a b l e . e x a m p l e . c o m   v e r s i o n s :   -   n a m e :   v 1   s e r v e d :   t r u e   s t o r a g e :   t r u e   s c h e m a :   #   o p e n A P I V 3 S c h e m a   i s   t h e   s c h e m a   f o r   v a l i d a t i n g   c u s t o m   o b j e c t s .   o p e n A P I V 3 S c h e m a :   t y p e :   o b j e c t   p r o p e r t i e s :   s p e c :   t y p e :   o b j e c t   p r o p e r t i e s :   c r o n S p e c :   t y p e :   s t r i n g   p a t t e r n :   ' ^ ( \ d + | \ * ) ( / \ d + ) ? ( \ s + ( \ d + | \ * ) ( / \ d + ) ? ) { 4 } $ '   d e f a u l t :   " 5   0   *   *   * "   i m a g e :   t y p e :   s t r i n g   r e p l i c a s :   t y p e :   i n t e g e r   m i n i m u m :   1   m a x i m u m :   1 0   d e f a u l t :   1   s c o p e :   N a m e s p a c e d   n a m e s :   p l u r a l :   c r o n t a b s   s i n g u l a r :   c r o n t a b   k i n d :   C r o n T a b   s h o r t N a m e s :   -   c t   W i t h   t h i s   b o t h   c r o n S p e c   a n d   r e p l i c a s   a r e   d e f a u l t e d :   a p i V e r s i o n :   " s t a b l e . e x a m p l e . c o m / v 1 "   k i n d :   C r o n T a b   m e t a d a t a :   n a m e :   m y - n e w - c r o n - o b j e c t   s p e c :   i m a g e :   m y - a w e s o m e - c r o n - i m a g e   l e a d s   t o   a p i V e r s i o n :   " s t a b l e . e x a m p l e . c o m / v 1 "   k i n d :   C r o n T a b   m e t a d a t a :   n a m e :   m y - n e w - c r o n - o b j e c t   s p e c :   c r o n S p e c :   " 5   0   *   *   * "   i m a g e :   m y - a w e s o m e - c r o n - i m


Question: What is Defaulting and Nullable?

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


Question: What is Publish Validation Schema in OpenAPI?

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


Question: What is Compatibility with OpenAPI V2?

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


Question: What is Additional printer columns?

Answer: T h e   k u b e c t l   t o o l   r e l i e s   o n   s e r v e r - s i d e   o u t p u t   f o r m a t t i n g .   Y o u r   c l u s t e r ' s   A P I   s e r v e r   d e c i d e s   w h i c h   c o l u m n s   a r e   s h o w n   b y   t h e   k u b e c t l   g e t   c o m m a n d .   Y o u   c a n   c u s t o m i z e   t h e s e   c o l u m n s   f o r   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 .   T h e   f o l l o w i n g   e x a m p l e   a d d s   t h e   S p e c ,   R e p l i c a s ,   a n d   A g e   c o l u m n s .   S a v e   t h e   C u s t o m R e s o u r c e D e f i n i t i o n   t o   r e s o u r c e d e f i n i t i o n . y a m l :   a p i V e r s i o n :   a p i e x t e n s i o n s . k 8 s . i o / v 1   k i n d :   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 e t a d a t a :   n a m e :   c r o n t a b s . s t a b l e . e x a m p l e . c o m   s p e c :   g r o u p :   s t a b l e . e x a m p l e . c o m   s c o p e :   N a m e s p a c e d   n a m e s :   p l u r a l :   c r o n t a b s   s i n g u l a r :   c r o n t a b   k i n d :   C r o n T a b   s h o r t N a m e s :   -   c t   v e r s i o n s :   -   n a m e :   v 1   s e r v e d :   t r u e   s t o r a g e :   t r u e   s c h e m a :   o p e n A P I V 3 S c h e m a :   t y p e :   o b j e c t   p r o p e r t i e s :   s p e c :   t y p e :   o b j e c t   p r o p e r t i e s :   c r o n S p e c :   t y p e :   s t r i n g   i m a g e :   t y p e :   s t r i n g   r e p l i c a s :   t y p e :   i n t e g e r   a d d i t i o n a l P r i n t e r C o l u m n s :   -   n a m e :   S p e c   t y p e :   s t r i n g   d e s c r i p t i o n :   T h e   c r o n   s p e c   d e f i n i n g   t h e   i n t e r v a l   a   C r o n J o b   i s   r u n   j s o n P a t h :   . s p e c . c r o n S p e c   -   n a m e :   R e p l i c a s   t y p e :   i n t e g e r   d e s c r i p t i o n :   T h e   n u m b e r   o f   j o b s   l a u n c h e d   b y   t h e   C r o n J o b   j s o n P a


Question: What is Priority?

Answer: E a c h   c o l u m n   i n c l u d e s   a   p r i o r i t y   f i e l d .   C u r r e n t l y ,   t h e   p r i o r i t y   d i f f e r e n t i a t e s   b e t w e e n   c o l u m n s   s h o w n   i n   s t a n d a r d   v i e w   o r   w i d e   v i e w   ( u s i n g   t h e   - o   w i d e   f l a g ) .   C o l u m n s   w i t h   p r i o r i t y   0   a r e   s h o w n   i n   s t a n d a r d   v i e w . C o l u m n s   w i t h   p r i o r i t y   g r e a t e r   t h a n   0   a r e   s h o w n   o n l y   i n   w i d e   v i e w .


Question: What is Type?

Answer: A   c o l u m n ' s   t y p e   f i e l d   c a n   b e   a n y   o f   t h e   f o l l o w i n g   ( c o m p a r e   O p e n A P I   v 3   d a t a   t y p e s ) :   i n t e g e r   –   n o n - f l o a t i n g - p o i n t   n u m b e r s n u m b e r   –   f l o a t i n g   p o i n t   n u m b e r s s t r i n g   –   s t r i n g s b o o l e a n   –   t r u e   o r   f a l s e d a t e   –   r e n d e r e d   d i f f e r e n t i a l l y   a s   t i m e   s i n c e   t h i s   t i m e s t a m p .   I f   t h e   v a l u e   i n s i d e   a   C u s t o m R e s o u r c e   d o e s   n o t   m a t c h   t h e   t y p e   s p e c i f i e d   f o r   t h e   c o l u m n ,   t h e   v a l u e   i s   o m i t t e d .   U s e   C u s t o m R e s o u r c e   v a l i d a t i o n   t o   e n s u r e   t h a t   t h e   v a l u e   t y p e s   a r e   c o r r e c t .


Question: What is Format?

Answer: A   c o l u m n ' s   f o r m a t   f i e l d   c a n   b e   a n y   o f   t h e   f o l l o w i n g :   i n t 3 2 i n t 6 4 f l o a t d o u b l e b y t e d a t e d a t e - t i m e p a s s w o r d   T h e   c o l u m n ' s   f o r m a t   c o n t r o l s   t h e   s t y l e   u s e d   w h e n   k u b e c t l   p r i n t s   t h e   v a l u e .


Question: What is Field selectors?

Answer: F i e l d   S e l e c t o r s   l e t   c l i e n t s   s e l e c t   c u s t o m   r e s o u r c e s   b a s e d   o n   t h e   v a l u e   o f   o n e   o r   m o r e   r e s o u r c e   f i e l d s .   A l l   c u s t o m   r e s o u r c e s   s u p p o r t   t h e   m e t a d a t a . n a m e   a n d   m e t a d a t a . n a m e s p a c e   f i e l d   s e l e c t o r s .   F i e l d s   d e c l a r e d   i n   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   a l s o   b e   u s e d   w i t h   f i e l d   s e l e c t o r s   w h e n   i n c l u d e d   i n   t h e   s p e c . v e r s i o n s [ * ] . s e l e c t a b l e F i e l d s   f i e l d   o f   t h e   C u s t o m R e s o u r c e D e f i n i t i o n .


Question: What is Selectable fields for custom resources?

Answer: T h e   s p e c . v e r s i o n s [ * ] . s e l e c t a b l e F i e l d s   f i e l d   o f   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   u s e d   t o   d e c l a r e   w h i c h   o t h e r   f i e l d s   i n   a   c u s t o m   r e s o u r c e   m a y   b e   u s e d   i n   f i e l d   s e l e c t o r s   w i t h   t h e   f e a t u r e   o f   C u s t o m R e s o u r c e F i e l d S e l e c t o r s   f e a t u r e   g a t e   ( T h i s   f e a t u r e   g a t e   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   v 1 . 3 1 ) .   T h e   f o l l o w i n g   e x a m p l e   a d d s   t h e   . s p e c . c o l o r   a n d   . s p e c . s i z e   f i e l d s   a s   s e l e c t a b l e   f i e l d s .   S a v e   t h e   C u s t o m R e s o u r c e D e f i n i t i o n   t o   s h i r t - r e s o u r c e - d e f i n i t i o n . y a m l :   a p i V e r s i o n :   a p i e x t e n s i o n s . k 8 s . i o / v 1   k i n d :   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 e t a d a t a :   n a m e :   s h i r t s . s t a b l e . e x a m p l e . c o m   s p e c :   g r o u p :   s t a b l e . e x a m p l e . c o m   s c o p e :   N a m e s p a c e d   n a m e s :   p l u r a l :   s h i r t s   s i n g u l a r :   s h i r t   k i n d :   S h i r t   v e r s i o n s :   -   n a m e :   v 1   s e r v e d :   t r u e   s t o r a g e :   t r u e   s c h e m a :   o p e n A P I V 3 S c h e m a :   t y p e :   o b j e c t   p r o p e r t i e s :   s p e c :   t y p e :   o b j e c t   p r o p e r t i e s :   c o l o r :   t y p e :   s t r i n g   s i z e :   t y p e :   s t r i n g   s e l e c t a b l e F i e l d s :   -   j s o n P a t h :   . s p e c . c o l o r   -   j s o n P a t h :   . s p e c . s i z e   a d d i t i o n a l P r i n t e r C o l u m n s :   -   j s o n P a t h :   . s p e c . c o l o r   n a m e :   C o l o r   t y p e :   s t r i n g   -   j s o n P a t h :   . s p e c . s i z e   n a m e :   S i


Question: What is Subresources?

Answer: C u s t o m   r e s o u r c e s   s u p p o r t   / s t a t u s   a n d   / s c a l e   s u b r e s o u r c e s .   T h e   s t a t u s   a n d   s c a l e   s u b r e s o u r c e s   c a n   b e   o p t i o n a l l y   e n a b l e d   b y   d e f i n i n g   t h e m   i n   t h e   C u s t o m R e s o u r c e D e f i n i t i o n .


Question: What is Status subresource?

Answer: W h e n   t h e   s t a t u s   s u b r e s o u r c e   i s   e n a b l e d ,   t h e   / s t a t u s   s u b r e s o u r c e   f o r   t h e   c u s t o m   r e s o u r c e   i s   e x p o s e d .   T h e   s t a t u s   a n d   t h e   s p e c   s t a n z a s   a r e   r e p r e s e n t e d   b y   t h e   . s t a t u s   a n d   . s p e c   J S O N P a t h s   r e s p e c t i v e l y   i n s i d e   o f   a   c u s t o m   r e s o u r c e . P U T   r e q u e s t s   t o   t h e   / s t a t u s   s u b r e s o u r c e   t a k e   a   c u s t o m   r e s o u r c e   o b j e c t   a n d   i g n o r e   c h a n g e s   t o   a n y t h i n g   e x c e p t   t h e   s t a t u s   s t a n z a . P U T   r e q u e s t s   t o   t h e   / s t a t u s   s u b r e s o u r c e   o n l y   v a l i d a t e   t h e   s t a t u s   s t a n z a   o f   t h e   c u s t o m   r e s o u r c e . P U T / P O S T / P A T C H   r e q u e s t s   t o   t h e   c u s t o m   r e s o u r c e   i g n o r e   c h a n g e s   t o   t h e   s t a t u s   s t a n z a . T h e   . m e t a d a t a . g e n e r a t i o n   v a l u e   i s   i n c r e m e n t e d   f o r   a l l   c h a n g e s ,   e x c e p t   f o r   c h a n g e s   t o   . m e t a d a t a   o r   . s t a t u s . O n l y   t h e   f o l l o w i n g   c o n s t r u c t s   a r e   a l l o w e d   a t   t h e   r o o t   o f   t h e   C R D   O p e n A P I   v a l i d a t i o n   s c h e m a : d e s c r i p t i o n e x a m p l e e x c l u s i v e M a x i m u m e x c l u s i v e M i n i m u m e x t e r n a l D o c s f o r m a t i t e m s m a x i m u m m a x I t e m s m a x L e n g t h m i n i m u m m i n I t e m s m i n L e n g t h m u l t i p l e O f p a t t e r n p r o p e r t i e s r e q u i r e d t i t l e t y p e u n i q u e I t e m s   T h e   s t a t u s   a n d   t h e   s p e c   s t a n z a s   a r e   r e p r e s e n t e d   b y   t h e   . s t a t u s   a n d   . s p e c   J S O N P a t h s   r e s p e c t i v e l y   i n


Question: What is Scale subresource?

Answer: W h e n   t h e   s c a l e   s u b r e s o u r c e   i s   e n a b l e d ,   t h e   / s c a l e   s u b r e s o u r c e   f o r   t h e   c u s t o m   r e s o u r c e   i s   e x p o s e d .   T h e   a u t o s c a l i n g / v 1 . S c a l e   o b j e c t   i s   s e n t   a s   t h e   p a y l o a d   f o r   / s c a l e .   T o   e n a b l e   t h e   s c a l e   s u b r e s o u r c e ,   t h e   f o l l o w i n g   f i e l d s   a r e   d e f i n e d   i n   t h e   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 p e c R e p l i c a s P a t h   d e f i n e s   t h e   J S O N P a t h   i n s i d e   o f   a   c u s t o m   r e s o u r c e   t h a t   c o r r e s p o n d s   t o   s c a l e . s p e c . r e p l i c a s . I t   i s   a   r e q u i r e d   v a l u e . O n l y   J S O N P a t h s   u n d e r   . s p e c   a n d   w i t h   t h e   d o t   n o t a t i o n   a r e   a l l o w e d . I f   t h e r e   i s   n o   v a l u e   u n d e r   t h e   s p e c R e p l i c a s P a t h   i n   t h e   c u s t o m   r e s o u r c e ,   t h e   / s c a l e   s u b r e s o u r c e   w i l l   r e t u r n   a n   e r r o r   o n   G E T . s t a t u s R e p l i c a s P a t h   d e f i n e s   t h e   J S O N P a t h   i n s i d e   o f   a   c u s t o m   r e s o u r c e   t h a t   c o r r e s p o n d s   t o   s c a l e . s t a t u s . r e p l i c a s . I t   i s   a   r e q u i r e d   v a l u e . O n l y   J S O N P a t h s   u n d e r   . s t a t u s   a n d   w i t h   t h e   d o t   n o t a t i o n   a r e   a l l o w e d . I f   t h e r e   i s   n o   v a l u e   u n d e r   t h e   s t a t u s R e p l i c a s P a t h   i n   t h e   c u s t o m   r e s o u r c e ,   t h e   s t a t u s   r e p l i c a   v a l u e   i n   t h e   / s c a l e   s u b r e s o u r c e   w i l l   d e f a u l t   t o   0 . l a b e l S e l e c t o r P a t h   d e f i n e s   t h e   J S O N P a t h   i n s i d e   o f   a   c u s t o m   r e s o u r c e   t h a t   c o r r


Question: What is Categories?

Answer: C a t e g o r i e s   i s   a   l i s t   o f   g r o u p e d   r e s o u r c e s   t h e   c u s t o m   r e s o u r c e   b e l o n g s   t o   ( e g .   a l l ) .   Y o u   c a n   u s e   k u b e c t l   g e t   < c a t e g o r y - n a m e >   t o   l i s t   t h e   r e s o u r c e s   b e l o n g i n g   t o   t h e   c a t e g o r y .   T h e   f o l l o w i n g   e x a m p l e   a d d s   a l l   i n   t h e   l i s t   o f   c a t e g o r i e s   i n   t h e   C u s t o m R e s o u r c e D e f i n i t i o n   a n d   i l l u s t r a t e s   h o w   t o   o u t p u t   t h e   c u s t o m   r e s o u r c e   u s i n g   k u b e c t l   g e t   a l l .   S a v e   t h e   f o l l o w i n g   C u s t o m R e s o u r c e D e f i n i t i o n   t o   r e s o u r c e d e f i n i t i o n . y a m l :   a p i V e r s i o n :   a p i e x t e n s i o n s . k 8 s . i o / v 1   k i n d :   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 e t a d a t a :   n a m e :   c r o n t a b s . s t a b l e . e x a m p l e . c o m   s p e c :   g r o u p :   s t a b l e . e x a m p l e . c o m   v e r s i o n s :   -   n a m e :   v 1   s e r v e d :   t r u e   s t o r a g e :   t r u e   s c h e m a :   o p e n A P I V 3 S c h e m a :   t y p e :   o b j e c t   p r o p e r t i e s :   s p e c :   t y p e :   o b j e c t   p r o p e r t i e s :   c r o n S p e c :   t y p e :   s t r i n g   i m a g e :   t y p e :   s t r i n g   r e p l i c a s :   t y p e :   i n t e g e r   s c o p e :   N a m e s p a c e d   n a m e s :   p l u r a l :   c r o n t a b s   s i n g u l a r :   c r o n t a b   k i n d :   C r o n T a b   s h o r t N a m e s :   -   c t   #   c a t e g o r i e s   i s   a   l i s t   o f   g r o u p e d   r e s o u r c e s   t h e   c u s t o m   r e s o u r c e   b e l o n g s   t o .   c a t e g o r i e s :   -   a l l   a n d   c r e a t e   i t :   k u b e c t l   a p p l y   - f   r e s o u r c e d e f i n i t i o n . y a m l   A f t e r   t h e   C u s


Question: What is What's next?

Answer: R e a d   a b o u t   c u s t o m   r e s o u r c e s . S e e   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 e r v e   m u l t i p l e   v e r s i o n s   o f   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 .   R e a d   a b o u t   c u s t o m   r e s o u r c e s .   S e e   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 e r v e   m u l t i p l e   v e r s i o n s   o f   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 .


Question: What is 11.2.2 - Versions in CustomResourceDefinitions?

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


Question: What is Before you begin?

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


Question: What is Overview?

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


Question: What is Specify multiple versions?

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


Question: What is Note:?

Answer: T h i s   e x a m p l e   s h o w s   a   C u s t o m R e s o u r c e D e f i n i t i o n   w i t h   t w o   v e r s i o n s .   F o r   t h e   f i r s t   e x a m p l e ,   t h e   a s s u m p t i o n   i s   a l l   v e r s i o n s   s h a r e   t h e   s a m e   s c h e m a   w i t h   n o   c o n v e r s i o n   b e t w e e n   t h e m .   T h e   c o m m e n t s   i n   t h e   Y A M L   p r o v i d e   m o r e   c o n t e x t .   a p i V e r s i o n :   a p i e x t e n s i o n s . k 8 s . i o / v 1   k i n d :   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 e t a d a t a :   #   n a m e   m u s t   m a t c h   t h e   s p e c   f i e l d s   b e l o w ,   a n d   b e   i n   t h e   f o r m :   < p l u r a l > . < g r o u p >   n a m e :   c r o n t a b s . e x a m p l e . c o m   s p e c :   #   g r o u p   n a m e   t o   u s e   f o r   R E S T   A P I :   / a p i s / < g r o u p > / < v e r s i o n >   g r o u p :   e x a m p l e . c o m   #   l i s t   o f   v e r s i o n s   s u p p o r t e d   b y   t h i 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   v e r s i o n s :   -   n a m e :   v 1 b e t a 1   #   E a c h   v e r s i o n   c a n   b e   e n a b l e d / d i s a b l e d   b y   S e r v e d   f l a g .   s e r v e d :   t r u e   #   O n e   a n d   o n l y   o n e   v e r s i o n   m u s t   b e   m a r k e d   a s   t h e   s t o r a g e   v e r s i o n .   s t o r a g e :   t r u e   #   A   s c h e m a   i s   r e q u i r e d   s c h e m a :   o p e n A P I V 3 S c h e m a :   t y p e :   o b j e c t   p r o p e r t i e s :   h o s t :   t y p e :   s t r i n g   p o r t :   t y p e :   s t r i n g   -   n a m e :   v 1   s e r v e d :   t r u e   s t o r a g e :   f a l s e   s c h e m a :   o p e n A P I V 3 S c h e m a :   t y p e :   o b j e c t   p r o p e r t i e s :   h o s t :   t y p e :   s t r i n g   p o r t :   t y p e :   s t r i n g   #   T h e   c o n v e r s i o n   s e c t i o n   i s   i n t r o d u c e d   i


Question: What is Version priority?

Answer: R e g a r d l e s s   o f   t h e   o r d e r   i n   w h i c h   v e r s i o n s   a r e   d e f i n e d   i n   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 ,   t h e   v e r s i o n   w i t h   t h e   h i g h e s t   p r i o r i t y   i s   u s e d   b y   k u b e c t l   a s   t h e   d e f a u l t   v e r s i o n   t o   a c c e s s   o b j e c t s .   T h e   p r i o r i t y   i s   d e t e r m i n e d   b y   p a r s i n g   t h e   n a m e   f i e l d   t o   d e t e r m i n e   t h e   v e r s i o n   n u m b e r ,   t h e   s t a b i l i t y   ( G A ,   B e t a ,   o r   A l p h a ) ,   a n d   t h e   s e q u e n c e   w i t h i n   t h a t   s t a b i l i t y   l e v e l .   T h e   a l g o r i t h m   u s e d   f o r   s o r t i n g   t h e   v e r s i o n s   i s   d e s i g n e d   t o   s o r t   v e r s i o n s   i n   t h e   s a m e   w a y   t h a t   t h e   K u b e r n e t e s   p r o j e c t   s o r t s   K u b e r n e t e s   v e r s i o n s .   V e r s i o n s   s t a r t   w i t h   a   v   f o l l o w e d   b y   a   n u m b e r ,   a n   o p t i o n a l   b e t a   o r   a l p h a   d e s i g n a t i o n ,   a n d   o p t i o n a l   a d d i t i o n a l   n u m e r i c   v e r s i o n i n g   i n f o r m a t i o n .   B r o a d l y ,   a   v e r s i o n   s t r i n g   m i g h t   l o o k   l i k e   v 2   o r   v 2 b e t a 1 .   V e r s i o n s   a r e   s o r t e d   u s i n g   t h e   f o l l o w i n g   a l g o r i t h m :   E n t r i e s   t h a t   f o l l o w   K u b e r n e t e s   v e r s i o n   p a t t e r n s   a r e   s o r t e d   b e f o r e   t h o s e   t h a t   d o   n o t . F o r   e n t r i e s   t h a t   f o l l o w   K u b e r n e t e s   v e r s i o n   p a t t e r n s ,   t h e   n u m e r i c   p o r t i o n s   o f   t h e   v e r s i o n   s t r i n g   i s   s o r t e d   l a r g e s t   t o   s m a l l e s t . I f   t h e   s t r i n g s   b e t a   o r   a l p h a   f o l l o w   t h e   f i r s t


Question: What is Version deprecation?

Answer: S t a r t i n g   i n   v 1 . 1 9 ,   a   C u s t o m R e s o u r c e D e f i n i t i o n   c a n   i n d i c a t e   a   p a r t i c u l a r   v e r s i o n   o f   t h e   r e s o u r c e   i t   d e f i n e s   i s   d e p r e c a t e d .   W h e n   A P I   r e q u e s t s   t o   a   d e p r e c a t e d   v e r s i o n   o f   t h a t   r e s o u r c e   a r e   m a d e ,   a   w a r n i n g   m e s s a g e   i s   r e t u r n e d   i n   t h e   A P I   r e s p o n s e   a s   a   h e a d e r .   T h e   w a r n i n g   m e s s a g e   f o r   e a c h   d e p r e c a t e d   v e r s i o n   o f   t h e   r e s o u r c e   c a n   b e   c u s t o m i z e d   i f   d e s i r e d .   A   c u s t o m i z e d   w a r n i n g   m e s s a g e   s h o u l d   i n d i c a t e   t h e   d e p r e c a t e d   A P I   g r o u p ,   v e r s i o n ,   a n d   k i n d ,   a n d   s h o u l d   i n d i c a t e   w h a t   A P I   g r o u p ,   v e r s i o n ,   a n d   k i n d   s h o u l d   b e   u s e d   i n s t e a d ,   i f   a p p l i c a b l e .   a p i V e r s i o n :   a p i e x t e n s i o n s . k 8 s . i o / v 1   k i n d :   C u s t o m R e s o u r c e D e f i n i t i o n   n a m e :   c r o n t a b s . e x a m p l e . c o m   s p e c :   g r o u p :   e x a m p l e . c o m   n a m e s :   p l u r a l :   c r o n t a b s   s i n g u l a r :   c r o n t a b   k i n d :   C r o n T a b   s c o p e :   N a m e s p a c e d   v e r s i o n s :   -   n a m e :   v 1 a l p h a 1   s e r v e d :   t r u e   s t o r a g e :   f a l s e   #   T h i s   i n d i c a t e s   t h e   v 1 a l p h a 1   v e r s i o n   o f   t h e   c u s t o m   r e s o u r c e   i s   d e p r e c a t e d .   #   A P I   r e q u e s t s   t o   t h i s   v e r s i o n   r e c e i v e   a   w a r n i n g   h e a d e r   i n   t h e   s e r v e r   r e s p o n s e .   d e p r e c a t e d :   t r u e   #   T h i s   o v e r r i d e s   t h e   d e f a u l t   w a r n i n g   r e t u r n e d   t o


Question: What is Version removal?

Answer: A n   o l d e r   A P I   v e r s i o n   c a n n o t   b e   d r o p p e d   f r o m   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 n i f e s t   u n t i l   e x i s t i n g   s t o r e d   d a t a   h a s   b e e n   m i g r a t e d   t o   t h e   n e w e r   A P I   v e r s i o n   f o r   a l l   c l u s t e r s   t h a t   s e r v e d   t h e   o l d e r   v e r s i o n   o f   t h e   c u s t o m   r e s o u r c e ,   a n d   t h e   o l d   v e r s i o n   i s   r e m o v e d   f r o m   t h e   s t a t u s . s t o r e d V e r s i o n s   o f   t h e   C u s t o m R e s o u r c e D e f i n i t i o n .   a p i V e r s i o n :   a p i e x t e n s i o n s . k 8 s . i o / v 1   k i n d :   C u s t o m R e s o u r c e D e f i n i t i o n   n a m e :   c r o n t a b s . e x a m p l e . c o m   s p e c :   g r o u p :   e x a m p l e . c o m   n a m e s :   p l u r a l :   c r o n t a b s   s i n g u l a r :   c r o n t a b   k i n d :   C r o n T a b   s c o p e :   N a m e s p a c e d   v e r s i o n s :   -   n a m e :   v 1 b e t a 1   #   T h i s   i n d i c a t e s   t h e   v 1 b e t a 1   v e r s i o n   o f   t h e   c u s t o m   r e s o u r c e   i s   n o   l o n g e r   s e r v e d .   #   A P I   r e q u e s t s   t o   t h i s   v e r s i o n   r e c e i v e   a   n o t   f o u n d   e r r o r   i n   t h e   s e r v e r   r e s p o n s e .   s e r v e d :   f a l s e   s c h e m a :   . . .   -   n a m e :   v 1   s e r v e d :   t r u e   #   T h e   n e w   s e r v e d   v e r s i o n   s h o u l d   b e   s e t   a s   t h e   s t o r a g e   v e r s i o n   s t o r a g e :   t r u e   s c h e m a :   . . .


Question: What is Note:?

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


Question: What is Write a conversion webhook server?

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


Question: What is Permissible mutations?

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


Question: What is Deploy the conversion webhook service?

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


Question: What is Configure CustomResourceDefinition to use conversion webhooks?

Answer: T h e   N o n e   c o n v e r s i o n   e x a m p l e   c a n   b e   e x t e n d e d   t o   u s e   t h e   c o n v e r s i o n   w e b h o o k   b y   m o d i f y i n g   c o n v e r s i o n   s e c t i o n   o f   t h e   s p e c :   a p i V e r s i o n :   a p i e x t e n s i o n s . k 8 s . i o / v 1   k i n d :   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 e t a d a t a :   #   n a m e   m u s t   m a t c h   t h e   s p e c   f i e l d s   b e l o w ,   a n d   b e   i n   t h e   f o r m :   < p l u r a l > . < g r o u p >   n a m e :   c r o n t a b s . e x a m p l e . c o m   s p e c :   #   g r o u p   n a m e   t o   u s e   f o r   R E S T   A P I :   / a p i s / < g r o u p > / < v e r s i o n >   g r o u p :   e x a m p l e . c o m   #   l i s t   o f   v e r s i o n s   s u p p o r t e d   b y   t h i 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   v e r s i o n s :   -   n a m e :   v 1 b e t a 1   #   E a c h   v e r s i o n   c a n   b e   e n a b l e d / d i s a b l e d   b y   S e r v e d   f l a g .   s e r v e d :   t r u e   #   O n e   a n d   o n l y   o n e   v e r s i o n   m u s t   b e   m a r k e d   a s   t h e   s t o r a g e   v e r s i o n .   s t o r a g e :   t r u e   #   E a c h   v e r s i o n   c a n   d e f i n e   i t s   o w n   s c h e m a   w h e n   t h e r e   i s   n o   t o p - l e v e l   #   s c h e m a   i s   d e f i n e d .   s c h e m a :   o p e n A P I V 3 S c h e m a :   t y p e :   o b j e c t   p r o p e r t i e s :   h o s t P o r t :   t y p e :   s t r i n g   -   n a m e :   v 1   s e r v e d :   t r u e   s t o r a g e :   f a l s e   s c h e m a :   o p e n A P I V 3 S c h e m a :   t y p e :   o b j e c t   p r o p e r t i e s :   h o s t :   t y p e :   s t r i n g   p o r t :   t y p e :   s t r i n g   c o n v e r s i o n :   #   t h e   W e b h o o k   s t r a t e g y   i n s t r u c t s   t h e   A P I   s e r v e r   t o   c a l l   a n   e x t e r n a l   w e b h o o k   f o r


Question: What is Contacting the webhook?

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


Question: What is URL?

Answer: u r l   g i v e s   t h e   l o c a t i o n   o f   t h e   w e b h o o k ,   i n   s t a n d a r d   U R L   f o r m   ( s c h e m e : / / h o s t : p o r t / p a t h ) .   T h e   h o s t   s h o u l d   n o t   r e f e r   t o   a   s e r v i c e   r u n n i n g   i n   t h e   c l u s t e r ;   u s e   a   s e r v i c e   r e f e r e n c e   b y   s p e c i f y i n g   t h e   s e r v i c e   f i e l d   i n s t e a d .   T h e   h o s t   m i g h t   b e   r e s o l v e d   v i a   e x t e r n a l   D N S   i n   s o m e   a p i s e r v e r s   ( i . e . ,   k u b e - a p i s e r v e r   c a n n o t   r e s o l v e   i n - c l u s t e r   D N S   a s   t h a t   w o u l d   b e   a   l a y e r i n g   v i o l a t i o n ) .   h o s t   m a y   a l s o   b e   a n   I P   a d d r e s s .   P l e a s e   n o t e   t h a t   u s i n g   l o c a l h o s t   o r   1 2 7 . 0 . 0 . 1   a s   a   h o s t   i s   r i s k y   u n l e s s   y o u   t a k e   g r e a t   c a r e   t o   r u n   t h i s   w e b h o o k   o n   a l l   h o s t s   w h i c h   r u n   a n   a p i s e r v e r   w h i c h   m i g h t   n e e d   t o   m a k e   c a l l s   t o   t h i s   w e b h o o k .   S u c h   i n s t a l l a t i o n s   a r e   l i k e l y   t o   b e   n o n - p o r t a b l e   o r   n o t   r e a d i l y   r u n   i n   a   n e w   c l u s t e r .   T h e   s c h e m e   m u s t   b e   " h t t p s " ;   t h e   U R L   m u s t   b e g i n   w i t h   " h t t p s : / / " .   A t t e m p t i n g   t o   u s e   a   u s e r   o r   b a s i c   a u t h   ( f o r   e x a m p l e   " u s e r : p a s s w o r d @ " )   i s   n o t   a l l o w e d .   F r a g m e n t s   ( " # . . . " )   a n d   q u e r y   p a r a m e t e r s   ( " ? . . . " )   a r e   a l s o   n o t   a l l o w e d .   H e r e   i s   a n   e x a m p l e   o f   a   c o n v e r s i o n   w e b h o o k   c o n f i g u r e d   t o   c a l l   a   U R L   ( a n d   e x p e c t s   t h e   T L S   c e r t i f


Question: What is Service Reference?

Answer: T h e   s e r v i c e   s t a n z a   i n s i d e   w e b h o o k C l i e n t C o n f i g   i s   a   r e f e r e n c e   t o   t h e   s e r v i c e   f o r   a   c o n v e r s i o n   w e b h o o k .   I f   t h e   w e b h o o k   i s   r u n n i n g   w i t h i n   t h e   c l u s t e r ,   t h e n   y o u   s h o u l d   u s e   s e r v i c e   i n s t e a d   o f   u r l .   T h e   s e r v i c e   n a m e s p a c e   a n d   n a m e   a r e   r e q u i r e d .   T h e   p o r t   i s   o p t i o n a l   a n d   d e f a u l t s   t o   4 4 3 .   T h e   p a t h   i s   o p t i o n a l   a n d   d e f a u l t s   t o   " / " .   H e r e   i s   a n   e x a m p l e   o f   a   w e b h o o k   t h a t   i s   c o n f i g u r e d   t o   c a l l   a   s e r v i c e   o n   p o r t   " 1 2 3 4 "   a t   t h e   s u b p a t h   " / m y - p a t h " ,   a n d   t o   v e r i f y   t h e   T L S   c o n n e c t i o n   a g a i n s t   t h e   S e r v e r N a m e   m y - s e r v i c e - n a m e . m y - s e r v i c e - n a m e s p a c e . s v c   u s i n g   a   c u s t o m   C A   b u n d l e .   a p i V e r s i o n :   a p i e x t e n s i o n s . k 8 s . i o / v 1   k i n d :   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 p e c :   . . .   c o n v e r s i o n :   s t r a t e g y :   W e b h o o k   w e b h o o k :   c l i e n t C o n f i g :   s e r v i c e :   n a m e s p a c e :   m y - s e r v i c e - n a m e s p a c e   n a m e :   m y - s e r v i c e - n a m e   p a t h :   / m y - p a t h   p o r t :   1 2 3 4   c a B u n d l e :   " C i 0 t L S 0 t Q k . . . < b a s e 6 4 - e n c o d e d   P E M   b u n d l e > . . . t L S 0 K "   . . .   a p i V e r s i o n :   a p i e x t e n s i o n s . k 8 s . i o / v 1   k i n d :   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 p e c :   . . .   c o n v e r s i o n :   s t r a t e g y :   W e b h o o k   w e b h o o k :   c l i e n t C o n f i g :   s e r v i c e :   n a m e s p a c e :   m y -


Question: What is Request?

Answer: W e b h o o k s   a r e   s e n t   a   P O S T   r e q u e s t ,   w i t h   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 ,   w i t h   a   C o n v e r s i o n R e v i e w   A P I   o b j e c t   i n   t h e   a p i e x t e n s i o n s . k 8 s . i o   A P I   g r o u p   s e r i a l i z e d   t o   J S O N   a s   t h e   b o d y .   W e b h o o k s   c a n   s p e c i f y   w h a t   v e r s i o n s   o f   C o n v e r s i o n R e v i e w   o b j e c t s   t h e y   a c c e p t   w i t h   t h e   c o n v e r s i o n R e v i e w V e r s i o n s   f i e l d   i n   t h e i r   C u s t o m R e s o u r c e D e f i n i t i o n :   a p i V e r s i o n :   a p i e x t e n s i o n s . k 8 s . i o / v 1   k i n d :   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 p e c :   . . .   c o n v e r s i o n :   s t r a t e g y :   W e b h o o k   w e b h o o k :   c o n v e r s i o n R e v i e w V e r s i o n s :   [ " v 1 " ,   " v 1 b e t a 1 " ]   . . .   c o n v e r s i o n R e v i e w V e r s i o n s   i s   a   r e q u i r e d   f i e l d   w h e n   c r e a t i n g   a p i e x t e n s i o n s . k 8 s . i o / v 1   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 .   W e b h o o k s   a r e   r e q u i r e d   t o   s u p p o r t   a t   l e a s t   o n e   C o n v e r s i o n R e v i e w   v e r s i o n   u n d e r s t o o d   b y   t h e   c u r r e n t   a n d   p r e v i o u s   A P I   s e r v e r .   a p i V e r s i o n :   a p i e x t e n s i o n s . k 8 s . i o / v 1   k i n d :   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 p e c :   . . .   c o n v e r s i o n :   s t r a t e g y :   W e b h o o k   w e b h o o k :   c o n v e r s i o n R e v i e w V e r s i o n s :   [ " v 1 " ,   " v 1 b e t a 1 " ]   . . .   c o n v e r s i o n R e v i e w V e r s i o n s   i s   a   r e q u i r e d   f i e l d   w h e n   c r e a t i n g   a p i e x t e n s i o n s . k 8 s . i o / v 1   c u s t o m   r e s o u r c e   d e f i n


Question: What is Response?

Answer: W e b h o o k s   r e s p o n d   w i t h   a   2 0 0   H T T P   s t a t u s   c o d e ,   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 n d   a   b o d y   c o n t a i n i n g   a   C o n v e r s i o n R e v i e w   o b j e c t   ( i n   t h e   s a m e   v e r s i o n   t h e y   w e r e   s e n t ) ,   w i t h   t h e   r e s p o n s e   s t a n z a   p o p u l a t e d ,   s e r i a l i z e d   t o   J S O N .   I f   c o n v e r s i o n   s u c c e e d s ,   a   w e b h o o k   s h o u l d   r e t u r n   a   r e s p o n s e   s t a n z a   c o n t a i n i n g   t h e   f o l l o w i n g   f i e l d s :   u i d ,   c o p i e d   f r o m   t h e   r e q u e s t . u i d   s e n t   t o   t h e   w e b h o o k r e s u l t ,   s e t   t o   { " s t a t u s " : " S u c c e s s " } c o n v e r t e d O b j e c t s ,   c o n t a i n i n g   a l l   o f   t h e   o b j e c t s   f r o m   r e q u e s t . o b j e c t s ,   c o n v e r t e d   t o   r e q u e s t . d e s i r e d A P I V e r s i o n   E x a m p l e   o f   a   m i n i m a l   s u c c e s s f u l   r e s p o n s e   f r o m   a   w e b h o o k :   {   " a p i V e r s i o n " :   " a p i e x t e n s i o n s . k 8 s . i o / v 1 " ,   " k i n d " :   " C o n v e r s i o n R e v i e w " ,   " r e s p o n s e " :   {   #   m u s t   m a t c h   < r e q u e s t . u i d >   " u i d " :   " 7 0 5 a b 4 f 5 - 6 3 9 3 - 1 1 e 8 - b 7 c c - 4 2 0 1 0 a 8 0 0 0 0 2 " ,   " r e s u l t " :   {   " s t a t u s " :   " S u c c e s s "   } ,   #   O b j e c t s   m u s t   m a t c h   t h e   o r d e r   o f   r e q u e s t . o b j e c t s ,   a n d   h a v e   a p i V e r s i o n   s e t   t o   < r e q u e s t . d e s i r e d A P I V e r s i o n > .   #   k i n d ,   m e t a d a t a . u i d ,   m e t a d a t a . n a m e ,   a n d   m e t a d a t a . n a m e s p a c e   f i e l d s   m u s t   n o t   b e   c h a n g e d   b y   t h e   w e b h o o k .   #   m e t a d a t a . l a b e l s   a n d   m e


Question: What is Warning:?

Answer: E x a m p l e   o f   a   r e s p o n s e   f r o m   a   w e b h o o k   i n d i c a t i n g   a   c o n v e r s i o n   r e q u e s t   f a i l e d ,   w i t h   a n   o p t i o n a l   m e s s a g e : {   " a p i V e r s i o n " :   " a p i e x t e n s i o n s . k 8 s . i o / v 1 " ,   " k i n d " :   " C o n v e r s i o n R e v i e w " ,   " r e s p o n s e " :   {   " u i d " :   " < v a l u e   f r o m   r e q u e s t . u i d > " ,   " r e s u l t " :   {   " s t a t u s " :   " F a i l e d " ,   " m e s s a g e " :   " h o s t P o r t   c o u l d   n o t   b e   p a r s e d   i n t o   a   s e p a r a t e   h o s t   a n d   p o r t "   }   }   }   {   #   D e p r e c a t e d   i n   v 1 . 1 6   i n   f a v o r   o f   a p i e x t e n s i o n s . k 8 s . i o / v 1   " a p i V e r s i o n " :   " a p i e x t e n s i o n s . k 8 s . i o / v 1 b e t a 1 " ,   " k i n d " :   " C o n v e r s i o n R e v i e w " ,   " r e s p o n s e " :   {   " u i d " :   " < v a l u e   f r o m   r e q u e s t . u i d > " ,   " r e s u l t " :   {   " s t a t u s " :   " F a i l e d " ,   " m e s s a g e " :   " h o s t P o r t   c o u l d   n o t   b e   p a r s e d   i n t o   a   s e p a r a t e   h o s t   a n d   p o r t "   }   }   }   {   " a p i V e r s i o n " :   " a p i e x t e n s i o n s . k 8 s . i o / v 1 " ,   " k i n d " :   " C o n v e r s i o n R e v i e w " ,   " r e s p o n s e " :   {   " u i d " :   " < v a l u e   f r o m   r e q u e s t . u i d > " ,   " r e s u l t " :   {   " s t a t u s " :   " F a i l e d " ,   " m e s s a g e " :   " h o s t P o r t   c o u l d   n o t   b e   p a r s e d   i n t o   a   s e p a r a t e   h o s t   a n d   p o r t "   }   }   }   {   " a p i V e r s i o n " :   " a p i e x t e n s i o n s . k 8 s . i o / v 1 " ,   " k i n d " :   " C o n v e r s i o n R e v i e w " ,   " r e s p o n s e " :   {   " u i d " :   " < v a l u e   f r o m   r e q u e s t . u i d > " ,   " r e s u l t " :   {   " s t a t u s " :   " F a


Question: What is Writing, reading, and updating versioned CustomResourceDefinition objects?

Answer: W h e n   a n   o b j e c t   i s   w r i t t e n ,   i t   i s   s t o r e d   a t   t h e   v e r s i o n   d e s i g n a t e d   a s   t h e   s t o r a g e   v e r s i o n   a t   t h e   t i m e   o f   t h e   w r i t e .   I f   t h e   s t o r a g e   v e r s i o n   c h a n g e s ,   e x i s t i n g   o b j e c t s   a r e   n e v e r   c o n v e r t e d   a u t o m a t i c a l l y .   H o w e v e r ,   n e w l y - c r e a t e d   o r   u p d a t e d   o b j e c t s   a r e   w r i t t e n   a t   t h e   n e w   s t o r a g e   v e r s i o n .   I t   i s   p o s s i b l e   f o r   a n   o b j e c t   t o   h a v e   b e e n   w r i t t e n   a t   a   v e r s i o n   t h a t   i s   n o   l o n g e r   s e r v e d .   W h e n   y o u   r e a d   a n   o b j e c t ,   y o u   s p e c i f y   t h e   v e r s i o n   a s   p a r t   o f   t h e   p a t h .   Y o u   c a n   r e q u e s t   a n   o b j e c t   a t   a n y   v e r s i o n   t h a t   i s   c u r r e n t l y   s e r v e d .   I f   y o u   s p e c i f y   a   v e r s i o n   t h a t   i s   d i f f e r e n t   f r o m   t h e   o b j e c t ' s   s t o r e d   v e r s i o n ,   K u b e r n e t e s   r e t u r n s   t h e   o b j e c t   t o   y o u   a t   t h e   v e r s i o n   y o u   r e q u e s t e d ,   b u t   t h e   s t o r e d   o b j e c t   i s   n o t   c h a n g e d   o n   d i s k .   W h a t   h a p p e n s   t o   t h e   o b j e c t   t h a t   i s   b e i n g   r e t u r n e d   w h i l e   s e r v i n g   t h e   r e a d   r e q u e s t   d e p e n d s   o n   w h a t   i s   s p e c i f i e d   i n   t h e   C R D ' s   s p e c . c o n v e r s i o n :   i f   t h e   d e f a u l t   s t r a t e g y   v a l u e   N o n e   i s   s p e c i f i e d ,   t h e   o n l y   m o d i f i c a t i o n s   t o   t h e   o b j e c t   a r e   c h a n g i n g   t h e   a p i V e r s i o n   s t r i n g   a n d   p e r h a p s   p r u n i n g   u n k n o w n   f i e l d s   ( d e p e n d


Question: What is Previous storage versions?

Answer: T h e   A P I   s e r v e r   r e c o r d s   e a c h   v e r s i o n   w h i c h   h a s   e v e r   b e e n   m a r k e d   a s   t h e   s t o r a g e   v e r s i o n   i n   t h e   s t a t u s   f i e l d   s t o r e d V e r s i o n s .   O b j e c t s   m a y   h a v e   b e e n   s t o r e d   a t   a n y   v e r s i o n   t h a t   h a s   e v e r   b e e n   d e s i g n a t e d   a s   a   s t o r a g e   v e r s i o n .   N o   o b j e c t s   c a n   e x i s t   i n   s t o r a g e   a t   a   v e r s i o n   t h a t   h a s   n e v e r   b e e n   a   s t o r a g e   v e r s i o n .


Question: What is Upgrade existing objects to a new stored version?

Answer: W h e n   d e p r e c a t i n g   v e r s i o n s   a n d   d r o p p i n g   s u p p o r t ,   s e l e c t   a   s t o r a g e   u p g r a d e   p r o c e d u r e .   O p t i o n   1 :   U s e   t h e   S t o r a g e   V e r s i o n   M i g r a t o r   R u n   t h e   s t o r a g e   V e r s i o n   m i g r a t o r R e m o v e   t h e   o l d   v e r s i o n   f r o m   t h e   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 t a t u s . s t o r e d V e r s i o n s   f i e l d .   O p t i o n   2 :   M a n u a l l y   u p g r a d e   t h e   e x i s t i n g   o b j e c t s   t o   a   n e w   s t o r e d   v e r s i o n   T h e   f o l l o w i n g   i s   a n   e x a m p l e   p r o c e d u r e   t o   u p g r a d e   f r o m   v 1 b e t a 1   t o   v 1 .   S e t   v 1   a s   t h e   s t o r a g e   i n   t h e   C u s t o m R e s o u r c e D e f i n i t i o n   f i l e   a n d   a p p l y   i t   u s i n g   k u b e c t l .   T h e   s t o r e d V e r s i o n s   i s   n o w   v 1 b e t a 1 ,   v 1 . W r i t e   a n   u p g r a d e   p r o c e d u r e   t o   l i s t   a l l   e x i s t i n g   o b j e c t s   a n d   w r i t e   t h e m   w i t h   t h e   s a m e   c o n t e n t .   T h i s   f o r c e s   t h e   b a c k e n d   t o   w r i t e   o b j e c t s   i n   t h e   c u r r e n t   s t o r a g e   v e r s i o n ,   w h i c h   i s   v 1 . R e m o v e   v 1 b e t a 1   f r o m   t h e   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 t a t u s . s t o r e d V e r s i o n s   f i e l d .


Question: What is Note:?

Answer: H e r e   i s   a n   e x a m p l e   o f   h o w   t o   p a t c h   t h e   s t a t u s   s u b r e s o u r c e   f o r   a   C R D   o b j e c t   u s i n g   k u b e c t l :   k u b e c t l   p a t c h   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   < C R D _ N a m e >   - - s u b r e s o u r c e = ' s t a t u s '   - - t y p e = ' m e r g e '   - p   ' { " s t a t u s " : { " s t o r e d V e r s i o n s " : [ " v 1 " ] } } '


Question: What is 11.3 - Set up an Extension API Server?

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


Question: What is Before you begin?

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


Question: What is Set up an extension api-server to work with the aggregation layer?

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


Question: What is What's next?

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


Question: What is 11.4 - Configure Multiple Schedulers?

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


Question: What is Before you begin?

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


Question: What is Package the scheduler?

Answer: P a c k a g e   y o u r   s c h e d u l e r   b i n a r y   i n t o   a   c o n t a i n e r   i m a g e .   F o r   t h e   p u r p o s e s   o f   t h i s   e x a m p l e ,   y o u   c a n   u s e   t h e   d e f a u l t   s c h e d u l e r   ( k u b e - s c h e d u l e r )   a s   y o u r   s e c o n d   s c h e d u l e r .   C l o n e   t h e   K u b e r n e t e s   s o u r c e   c o d e   f r o m   G i t H u b   a n d   b u i l d   t h e   s o u r c e .   g i t   c l o n e   h t t p s : / / g i t h u b . c o m / k u b e r n e t e s / k u b e r n e t e s . g i t   c d   k u b e r n e t e s   m a k e   C r e a t e   a   c o n t a i n e r   i m a g e   c o n t a i n i n g   t h e   k u b e - s c h e d u l e r   b i n a r y .   H e r e   i s   t h e   D o c k e r f i l e   t o   b u i l d   t h e   i m a g e :   F R O M   b u s y b o x   A D D   . / _ o u t p u t / l o c a l / b i n / l i n u x / a m d 6 4 / k u b e - s c h e d u l e r   / u s r / l o c a l / b i n / k u b e - s c h e d u l e r   S a v e   t h e   f i l e   a s   D o c k e r f i l e ,   b u i l d   t h e   i m a g e   a n d   p u s h   i t   t o   a   r e g i s t r y .   T h i s   e x a m p l e   p u s h e s   t h e   i m a g e   t o   G o o g l e   C o n t a i n e r   R e g i s t r y   ( G C R ) .   F o r   m o r e   d e t a i l s ,   p l e a s e   r e a d   t h e   G C R   d o c u m e n t a t i o n .   A l t e r n a t i v e l y   y o u   c a n   a l s o   u s e   t h e   d o c k e r   h u b .   F o r   m o r e   d e t a i l s   r e f e r   t o   t h e   d o c k e r   h u b   d o c u m e n t a t i o n .   d o c k e r   b u i l d   - t   g c r . i o / m y - g c p - p r o j e c t / m y - k u b e - s c h e d u l e r : 1 . 0   .   #   T h e   i m a g e   n a m e   a n d   t h e   r e p o s i t o r y   g c l o u d   d o c k e r   - -   p u s h   g c r . i o / m y - g c p - p r o j e c t / m y - k u b e - s c h e d u l e r : 1 . 0   #   u s e d   i n   h e r e   i s   j u s t   a n   e x a m p l e


Question: What is Define a Kubernetes Deployment for the scheduler?

Answer: N o w   t h a t   y o u   h a v e   y o u r   s c h e d u l e r   i n   a   c o n t a i n e r   i m a g e ,   c r e a t e   a   p o d   c o n f i g u r a t i o n   f o r   i t   a n d   r u n   i t   i n   y o u r   K u b e r n e t e s   c l u s t e r .   B u t   i n s t e a d   o f   c r e a t i n g   a   p o d   d i r e c t l y   i n   t h e   c l u s t e r ,   y o u   c a n   u s e   a   D e p l o y m e n t   f o r   t h i s   e x a m p l e .   A   D e p l o y m e n t   m a n a g e s   a   R e p l i c a   S e t   w h i c h   i n   t u r n   m a n a g e s   t h e   p o d s ,   t h e r e b y   m a k i n g   t h e   s c h e d u l e r   r e s i l i e n t   t o   f a i l u r e s .   H e r e   i s   t h e   d e p l o y m e n t   c o n f i g .   S a v e   i t   a s   m y - s c h e d u l e r . y a m l :   a p i V e r s i o n :   v 1   k i n d :   S e r v i c e A c c o u n t   m e t a d a t a :   n a m e :   m y - s c h e d u l e r   n a m e s p a c e :   k u b e - s y s t e m   - - -   a p i V e r s i o n :   r b a c . a u t h o r i z a t i o n . k 8 s . i o / v 1   k i n d :   C l u s t e r R o l e B i n d i n g   m e t a d a t a :   n a m e :   m y - s c h e d u l e r - a s - k u b e - s c h e d u l e r   s u b j e c t s :   -   k i n d :   S e r v i c e A c c o u n t   n a m e :   m y - s c h e d u l e r   n a m e s p a c e :   k u b e - s y s t e m   r o l e R e f :   k i n d :   C l u s t e r R o l e   n a m e :   s y s t e m : k u b e - s c h e d u l e r   a p i G r o u p :   r b a c . a u t h o r i z a t i o n . k 8 s . i o   - - -   a p i V e r s i o n :   r b a c . a u t h o r i z a t i o n . k 8 s . i o / v 1   k i n d :   C l u s t e r R o l e B i n d i n g   m e t a d a t a :   n a m e :   m y - s c h e d u l e r - a s - v o l u m e - s c h e d u l e r   s u b j e c t s :   -   k i n d :   S e r v i c e A c c o u n t   n a m e :   m y - s c h e d u l e r   n a m e s p a c e :   k u b e - s y s t e m   r o l e R e f :   k i n d :   C l u s t e r R o l e   n a


Question: What is Note:?

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


Question: What is Run the second scheduler in the cluster?

Answer: I n   o r d e r   t o   r u n   y o u r   s c h e d u l e r   i n   a   K u b e r n e t e s   c l u s t e r ,   c r e a t e   t h e   d e p l o y m e n t   s p e c i f i e d   i n   t h e   c o n f i g   a b o v e   i n   a   K u b e r n e t e s   c l u s t e r :   k u b e c t l   c r e a t e   - f   m y - s c h e d u l e r . y a m l   V e r i f y   t h a t   t h e   s c h e d u l e r   p o d   i s   r u n n i n g :   k u b e c t l   g e t   p o d s   - - n a m e s p a c e = k u b e - s y s t e m   N A M E   R E A D Y   S T A T U S   R E S T A R T S   A G E   . . . .   m y - s c h e d u l e r - l n f 4 s - 4 7 4 4 f   1 / 1   R u n n i n g   0   2 m   . . .   Y o u   s h o u l d   s e e   a   " R u n n i n g "   m y - s c h e d u l e r   p o d ,   i n   a d d i t i o n   t o   t h e   d e f a u l t   k u b e - s c h e d u l e r   p o d   i n   t h i s   l i s t .


Question: What is Enable leader election?

Answer: T o   r u n   m u l t i p l e - s c h e d u l e r   w i t h   l e a d e r   e l e c t i o n   e n a b l e d ,   y o u   m u s t   d o   t h e   f o l l o w i n g :   U p d a t e   t h e   f o l l o w i n g   f i e l d s   f o r   t h e   K u b e S c h e d u l e r C o n f i g u r a t i o n   i n   t h e   m y - s c h e d u l e r - c o n f i g   C o n f i g M a p   i n   y o u r   Y A M L   f i l e :   l e a d e r E l e c t i o n . l e a d e r E l e c t   t o   t r u e l e a d e r E l e c t i o n . r e s o u r c e N a m e s p a c e   t o   < l o c k - o b j e c t - n a m e s p a c e > l e a d e r E l e c t i o n . r e s o u r c e N a m e   t o   < l o c k - o b j e c t - n a m e >


Question: What is Note:?

Answer: I f   R B A C   i s   e n a b l e d   o n   y o u r   c l u s t e r ,   y o u   m u s t   u p d a t e   t h e   s y s t e m : k u b e - s c h e d u l e r   c l u s t e r   r o l e .   A d d   y o u r   s c h e d u l e r   n a m e   t o   t h e   r e s o u r c e N a m e s   o f   t h e   r u l e   a p p l i e d   f o r   e n d p o i n t s   a n d   l e a s e s   r e s o u r c e s ,   a s   i n   t h e   f o l l o w i n g   e x a m p l e :   k u b e c t l   e d i t   c l u s t e r r o l e   s y s t e m : k u b e - s c h e d u l e r   a p i V e r s i o n :   r b a c . a u t h o r i z a t i o n . k 8 s . i o / v 1   k i n d :   C l u s t e r R o l e   m e t a d a t a :   a n n o t a t i o n s :   r b a c . a u t h o r i z a t i o n . k u b e r n e t e s . i o / a u t o u p d a t e :   " t r u e "   l a b e l s :   k u b e r n e t e s . i o / b o o t s t r a p p i n g :   r b a c - d e f a u l t s   n a m e :   s y s t e m : k u b e - s c h e d u l e r   r u l e s :   -   a p i G r o u p s :   -   c o o r d i n a t i o n . k 8 s . i o   r e s o u r c e s :   -   l e a s e s   v e r b s :   -   c r e a t e   -   a p i G r o u p s :   -   c o o r d i n a t i o n . k 8 s . i o   r e s o u r c e N a m e s :   -   k u b e - s c h e d u l e r   -   m y - s c h e d u l e r   r e s o u r c e s :   -   l e a s e s   v e r b s :   -   g e t   -   u p d a t e   -   a p i G r o u p s :   -   " "   r e s o u r c e N a m e s :   -   k u b e - s c h e d u l e r   -   m y - s c h e d u l e r   r e s o u r c e s :   -   e n d p o i n t s   v e r b s :   -   d e l e t e   -   g e t   -   p a t c h   -   u p d a t e


Question: What is Specify schedulers for pods?

Answer: N o w   t h a t   y o u r   s e c o n d   s c h e d u l e r   i s   r u n n i n g ,   c r e a t e   s o m e   p o d s ,   a n d   d i r e c t   t h e m   t o   b e   s c h e d u l e d   b y   e i t h e r   t h e   d e f a u l t   s c h e d u l e r   o r   t h e   o n e   y o u   d e p l o y e d .   I n   o r d e r   t o   s c h e d u l e   a   g i v e n   p o d   u s i n g   a   s p e c i f i c   s c h e d u l e r ,   s p e c i f y   t h e   n a m e   o f   t h e   s c h e d u l e r   i n   t h a t   p o d   s p e c .   L e t ' s   l o o k   a t   t h r e e   e x a m p l e s .   P o d   s p e c   w i t h o u t   a n y   s c h e d u l e r   n a m e a d m i n / s c h e d / p o d 1 . 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 :   n o - a n n o t a t i o n   l a b e l s :   n a m e :   m u l t i s c h e d u l e r - e x a m p l e   s p e c :   c o n t a i n e r s :   -   n a m e :   p o d - w i t h - n o - a n n o t a t i o n - c o n t a i n e r   i m a g e :   r e g i s t r y . k 8 s . i o / p a u s e : 3 . 8 W h e n   n o   s c h e d u l e r   n a m e   i s   s u p p l i e d ,   t h e   p o d   i s   a u t o m a t i c a l l y   s c h e d u l e d   u s i n g   t h e   d e f a u l t - s c h e d u l e r . S a v e   t h i s   f i l e   a s   p o d 1 . y a m l   a n d   s u b m i t   i t   t o   t h e   K u b e r n e t e s   c l u s t e r . k u b e c t l   c r e a t e   - f   p o d 1 . y a m l   P o d   s p e c   w i t h   d e f a u l t - s c h e d u l e r a d m i n / s c h e d / p o d 2 . 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 :   a n n o t a t i o n - d e f a u l t - s c h e d u l e r   l a b e l s :   n a m e :   m u l t i s c h e d u l e r - e x a m p l e   s p e c :   s c h e d u l e r N a m e :   d e f a u l t - s c h e d u l e r   c o n t a i n e r s :   -   n a m e :   p o d - w i t h - d e f a u l t - a n n o t a t i o n - c o n t a i n e r   i m a g e :   r e g i s t r y