Question: What is Migrating Deployments and StatefulSets to horizontal autoscaling?

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


Question: What is What's next?

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


Question: What is 8.8 - HorizontalPodAutoscaler Walkthrough?

Answer: A   H o r i z o n t a l P o d A u t o s c a l e r   ( H P A   f o r   s h o r t )   a u t o m a t i c a l l y   u p d a t e s   a   w o r k l o a d   r e s o u r c e   ( s u c h   a s   a   D e p l o y m e n t   o r   S t a t e f u l S e t ) ,   w i t h   t h e   a i m   o f   a u t o m a t i c a l l y   s c a l i n g   t h e   w o r k l o a d   t o   m a t c h   d e m a n d .   H o r i z o n t a l   s c a l i n g   m e a n s   t h a t   t h e   r e s p o n s e   t o   i n c r e a s e d   l o a d   i s   t o   d e p l o y   m o r e   P o d s .   T h i s   i s   d i f f e r e n t   f r o m   v e r t i c a l   s c a l i n g ,   w h i c h   f o r   K u b e r n e t e s   w o u l d   m e a n   a s s i g n i n g   m o r e   r e s o u r c e s   ( f o r   e x a m p l e :   m e m o r y   o r   C P U )   t o   t h e   P o d s   t h a t   a r e   a l r e a d y   r u n n i n g   f o r   t h e   w o r k l o a d .   I f   t h e   l o a d   d e c r e a s e s ,   a n d   t h e   n u m b e r   o f   P o d s   i s   a b o v e   t h e   c o n f i g u r e d   m i n i m u m ,   t h e   H o r i z o n t a l P o d A u t o s c a l e r   i n s t r u c t s   t h e   w o r k l o a d   r e s o u r c e   ( t h e   D e p l o y m e n t ,   S t a t e f u l S e t ,   o r   o t h e r   s i m i l a r   r e s o u r c e )   t o   s c a l e   b a c k   d o w n .   T h i s   d o c u m e n t   w a l k s   y o u   t h r o u g h   a n   e x a m p l e   o f   e n a b l i n g   H o r i z o n t a l P o d A u t o s c a l e r   t o   a u t o m a t i c a l l y   m a n a g e   s c a l e   f o r   a n   e x a m p l e   w e b   a p p .   T h i s   e x a m p l e   w o r k l o a d   i s   A p a c h e   h t t p d   r u n n i n g   s o m e   P H P   c o d 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 Y o u r   K u b e r n e t e s   s e r v e r   m u s t   b e   a t   o r   l a t e r   t h a n   v e r s i o n   1 . 2 3 . 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 . I f   y o u ' r e   r u n n i n g   a n   o l d e r   r e l e a s e   o f   K u b e r n e t e s ,   r e f e r   t o   t h e   v e r s i o n   o f   t h e   d o c u m e n t a t i o n   f o r   t h a t   r e l e a s e   ( s e e   a v a i l a b l e   d o c u m e n t a t i o n   v e r s i o n s ) .   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


Question: What is Run and expose php-apache server?

Answer: T o   d e m o n s t r a t e   a   H o r i z o n t a l P o d A u t o s c a l e r ,   y o u   w i l l   f i r s t   s t a r t   a   D e p l o y m e n t   t h a t   r u n s   a   c o n t a i n e r   u s i n g   t h e   h p a - e x a m p l e   i m a g e ,   a n d   e x p o s e   i t   a s   a   S e r v i c e   u s i n g   t h e   f o l l o w i n g   m a n i f e s t :   a p i V e r s i o n :   a p p s / v 1   k i n d :   D e p l o y m e n t   m e t a d a t a :   n a m e :   p h p - a p a c h e   s p e c :   s e l e c t o r :   m a t c h L a b e l s :   r u n :   p h p - a p a c h e   t e m p l a t e :   m e t a d a t a :   l a b e l s :   r u n :   p h p - a p a c h e   s p e c :   c o n t a i n e r s :   -   n a m e :   p h p - a p a c h e   i m a g e :   r e g i s t r y . k 8 s . i o / h p a - e x a m p l e   p o r t s :   -   c o n t a i n e r P o r t :   8 0   r e s o u r c e s :   l i m i t s :   c p u :   5 0 0 m   r e q u e s t s :   c p u :   2 0 0 m   - - -   a p i V e r s i o n :   v 1   k i n d :   S e r v i c e   m e t a d a t a :   n a m e :   p h p - a p a c h e   l a b e l s :   r u n :   p h p - a p a c h e   s p e c :   p o r t s :   -   p o r t :   8 0   s e l e c t o r :   r u n :   p h p - a p a c h e   T o   d o   s o ,   r u n   t h e   f o l l o w i n g   c o m m a n d :   k u b e c t l   a p p l y   - f   h t t p s : / / k 8 s . i o / e x a m p l e s / a p p l i c a t i o n / p h p - a p a c h e . y a m l   d e p l o y m e n t . a p p s / p h p - a p a c h e   c r e a t e d   s e r v i c e / p h p - a p a c h e   c r e a t e d


Question: What is Create the HorizontalPodAutoscaler?

Answer: N o w   t h a t   t h e   s e r v e r   i s   r u n n i n g ,   c r e a t e   t h e   a u t o s c a l e r   u s i n g   k u b e c t l .   T h e   k u b e c t l   a u t o s c a l e   s u b c o m m a n d ,   p a r t   o f   k u b e c t l ,   h e l p s   y o u   d o   t h i s .   Y o u   w i l l   s h o r t l y   r u n   a   c o m m a n d   t h a t   c r e a t e s   a   H o r i z o n t a l P o d A u t o s c a l e r   t h a t   m a i n t a i n s   b e t w e e n   1   a n d   1 0   r e p l i c a s   o f   t h e   P o d s   c o n t r o l l e d   b y   t h e   p h p - a p a c h e   D e p l o y m e n t   t h a t   y o u   c r e a t e d   i n   t h e   f i r s t   s t e p   o f   t h e s e   i n s t r u c t i o n s .   R o u g h l y   s p e a k i n g ,   t h e   H P A   c o n t r o l l e r   w i l l   i n c r e a s e   a n d   d e c r e a s e   t h e   n u m b e r   o f   r e p l i c a s   ( b y   u p d a t i n g   t h e   D e p l o y m e n t )   t o   m a i n t a i n   a n   a v e r a g e   C P U   u t i l i z a t i o n   a c r o s s   a l l   P o d s   o f   5 0 % .   T h e   D e p l o y m e n t   t h e n   u p d a t e s   t h e   R e p l i c a S e t   -   t h i s   i s   p a r t   o f   h o w   a l l   D e p l o y m e n t s   w o r k   i n   K u b e r n e t e s   -   a n d   t h e n   t h e   R e p l i c a S e t   e i t h e r   a d d s   o r   r e m o v e s   P o d s   b a s e d   o n   t h e   c h a n g e   t o   i t s   . s p e c .   S i n c e   e a c h   p o d   r e q u e s t s   2 0 0   m i l l i - c o r e s   b y   k u b e c t l   r u n ,   t h i s   m e a n s   a n   a v e r a g e   C P U   u s a g e   o f   1 0 0   m i l l i - c o r e s .   S e e   A l g o r i t h m   d e t a i l s   f o r   m o r e   d e t a i l s   o n   t h e   a l g o r i t h m .   C r e a t e   t h e   H o r i z o n t a l P o d A u t o s c a l e r :   k u b e c t l   a u t o s c a l e   d e p l o y m e n t   p h p - a p a c h e   - - c p u = 5 0 %   - - m i n = 1   - - m a x = 1 0   h o r i z


Question: What is Increase the load?

Answer: N e x t ,   s e e   h o w   t h e   a u t o s c a l e r   r e a c t s   t o   i n c r e a s e d   l o a d .   T o   d o   t h i s ,   y o u ' l l   s t a r t   a   d i f f e r e n t   P o d   t o   a c t   a s   a   c l i e n t .   T h e   c o n t a i n e r   w i t h i n   t h e   c l i e n t   P o d   r u n s   i n   a n   i n f i n i t e   l o o p ,   s e n d i n g   q u e r i e s   t o   t h e   p h p - a p a c h e   s e r v i c e .   #   R u n   t h i s   i n   a   s e p a r a t e   t e r m i n a l   #   s o   t h a t   t h e   l o a d   g e n e r a t i o n   c o n t i n u e s   a n d   y o u   c a n   c a r r y   o n   w i t h   t h e   r e s t   o f   t h e   s t e p s   k u b e c t l   r u n   - i   - - t t y   l o a d - g e n e r a t o r   - - r m   - - i m a g e = b u s y b o x : 1 . 2 8   - - r e s t a r t = N e v e r   - -   / b i n / s h   - c   " w h i l e   s l e e p   0 . 0 1 ;   d o   w g e t   - q   - O -   h t t p : / / p h p - a p a c h e ;   d o n e "   N o w   r u n :   #   t y p e   C t r l + C   t o   e n d   t h e   w a t c h   w h e n   y o u ' r e   r e a d y   k u b e c t l   g e t   h p a   p h p - a p a c h e   - - w a t c h   W i t h i n   a   m i n u t e   o r   s o ,   y o u   s h o u l d   s e e   t h e   h i g h e r   C P U   l o a d ;   f o r   e x a m p l e :   N A M E   R E F E R E N C E   T A R G E T   M I N P O D S   M A X P O D S   R E P L I C A S   A G E   p h p - a p a c h e   D e p l o y m e n t / p h p - a p a c h e / s c a l e   3 0 5 %   /   5 0 %   1   1 0   1   3 m   a n d   t h e n ,   m o r e   r e p l i c a s .   F o r   e x a m p l e :   N A M E   R E F E R E N C E   T A R G E T   M I N P O D S   M A X P O D S   R E P L I C A S   A G E   p h p - a p a c h e   D e p l o y m e n t / p h p - a p a c h e / s c a l e   3 0 5 %   /   5 0 %   1   1 0   7   3 m   H e r e ,   C P U   c o n s u m p t i o n   h a s   i n c r e a s e d   t o   3 0 5 %   o f   t h e   r e q u e s t .   A s   a   r e s u l t ,   t h e   D e p l


Question: What is Stop generating load?

Answer: T o   f i n i s h   t h e   e x a m p l e ,   s t o p   s e n d i n g   t h e   l o a d .   I n   t h e   t e r m i n a l   w h e r e   y o u   c r e a t e d   t h e   P o d   t h a t   r u n s   a   b u s y b o x   i m a g e ,   t e r m i n a t e   t h e   l o a d   g e n e r a t i o n   b y   t y p i n g   < C t r l >   +   C .   T h e n   v e r i f y   t h e   r e s u l t   s t a t e   ( a f t e r   a   m i n u t e   o r   s o ) :   #   t y p e   C t r l + C   t o   e n d   t h e   w a t c h   w h e n   y o u ' r e   r e a d y   k u b e c t l   g e t   h p a   p h p - a p a c h e   - - w a t c h   T h e   o u t p u t   i s   s i m i l a r   t o :   N A M E   R E F E R E N C E   T A R G E T   M I N P O D S   M A X P O D S   R E P L I C A S   A G E   p h p - a p a c h e   D e p l o y m e n t / p h p - a p a c h e / s c a l e   0 %   /   5 0 %   1   1 0   1   1 1 m   a n d   t h e   D e p l o y m e n t   a l s o   s h o w s   t h a t   i t   h a s   s c a l e d   d o w n :   k u b e c t l   g e t   d e p l o y m e n t   p h p - a p a c h e   N A M E   R E A D Y   U P - T O - D A T E   A V A I L A B L E   A G E   p h p - a p a c h e   1 / 1   1   1   2 7 m   O n c e   C P U   u t i l i z a t i o n   d r o p p e d   t o   0 ,   t h e   H P A   a u t o m a t i c a l l y   s c a l e d   t h e   n u m b e r   o f   r e p l i c a s   b a c k   d o w n   t o   1 .   A u t o s c a l i n g   t h e   r e p l i c a s   m a y   t a k e   a   f e w   m i n u t e s .


Question: What is Autoscaling on multiple metrics and custom metrics?

Answer: Y o u   c a n   i n t r o d u c e   a d d i t i o n a l   m e t r i c s   t o   u s e   w h e n   a u t o s c a l i n g   t h e   p h p - a p a c h e   D e p l o y m e n t   b y   m a k i n g   u s e   o f   t h e   a u t o s c a l i n g / v 2   A P I   v e r s i o n .   F i r s t ,   g e t   t h e   Y A M L   o f   y o u r   H o r i z o n t a l P o d A u t o s c a l e r   i n   t h e   a u t o s c a l i n g / v 2   f o r m :   k u b e c t l   g e t   h p a   p h p - a p a c h e   - o   y a m l   >   / t m p / h p a - v 2 . y a m l   O p e n   t h e   / t m p / h p a - v 2 . y a m l   f i l e   i n   a n   e d i t o r ,   a n d   y o u   s h o u l d   s e e   Y A M L   w h i c h   l o o k s   l i k e   t h i s :   a p i V e r s i o n :   a u t o s c a l i n g / v 2   k i n d :   H o r i z o n t a l P o d A u t o s c a l e r   m e t a d a t a :   n a m e :   p h p - a p a c h e   s p e c :   s c a l e T a r g e t R e f :   a p i V e r s i o n :   a p p s / v 1   k i n d :   D e p l o y m e n t   n a m e :   p h p - a p a c h e   m i n R e p l i c a s :   1   m a x R e p l i c a s :   1 0   m e t r i c s :   -   t y p e :   R e s o u r c e   r e s o u r c e :   n a m e :   c p u   t a r g e t :   t y p e :   U t i l i z a t i o n   a v e r a g e U t i l i z a t i o n :   5 0   s t a t u s :   o b s e r v e d G e n e r a t i o n :   1   l a s t S c a l e T i m e :   < s o m e - t i m e >   c u r r e n t R e p l i c a s :   1   d e s i r e d R e p l i c a s :   1   c u r r e n t M e t r i c s :   -   t y p e :   R e s o u r c e   r e s o u r c e :   n a m e :   c p u   c u r r e n t :   a v e r a g e U t i l i z a t i o n :   0   a v e r a g e V a l u e :   0   N o t i c e   t h a t   t h e   t a r g e t C P U U t i l i z a t i o n P e r c e n t a g e   f i e l d   h a s   b e e n   r e p l a c e d   w i t h   a n   a r r a y   c a l l e d   m e t r i c s .   T h e   C P U   u t i l i z a t i o n   m e t r i c   i s   a   r e s o u r c e   m e t r i c ,   s i n c e   i


Question: What is Autoscaling on more specific metrics?

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


Question: What is Autoscaling on metrics not related to Kubernetes objects?

Answer: A p p l i c a t i o n s   r u n n i n g   o n   K u b e r n e t e s   m a y   n e e d   t o   a u t o s c a l e   b a s e d   o n   m e t r i c s   t h a t   d o n ' t   h a v e   a n   o b v i o u s   r e l a t i o n s h i p   t o   a n y   o b j e c t   i n   t h e   K u b e r n e t e s   c l u s t e r ,   s u c h   a s   m e t r i c s   d e s c r i b i n g   a   h o s t e d   s e r v i c e   w i t h   n o   d i r e c t   c o r r e l a t i o n   t o   K u b e r n e t e s   n a m e s p a c e s .   I n   K u b e r n e t e s   1 . 1 0   a n d   l a t e r ,   y o u   c a n   a d d r e s s   t h i s   u s e   c a s e   w i t h   e x t e r n a l   m e t r i c s .   U s i n g   e x t e r n a l   m e t r i c s   r e q u i r e s   k n o w l e d g e   o f   y o u r   m o n i t o r i n g   s y s t e m ;   t h e   s e t u p   i s   s i m i l a r   t o   t h a t   r e q u i r e d   w h e n   u s i n g   c u s t o m   m e t r i c s .   E x t e r n a l   m e t r i c s   a l l o w   y o u   t o   a u t o s c a l e   y o u r   c l u s t e r   b a s e d   o n   a n y   m e t r i c   a v a i l a b l e   i n   y o u r   m o n i t o r i n g   s y s t e m .   P r o v i d e   a   m e t r i c   b l o c k   w i t h   a   n a m e   a n d   s e l e c t o r ,   a s   a b o v e ,   a n d   u s e   t h e   E x t e r n a l   m e t r i c   t y p e   i n s t e a d   o f   O b j e c t .   I f   m u l t i p l e   t i m e   s e r i e s   a r e   m a t c h e d   b y   t h e   m e t r i c S e l e c t o r ,   t h e   s u m   o f   t h e i r   v a l u e s   i s   u s e d   b y   t h e   H o r i z o n t a l P o d A u t o s c a l e r .   E x t e r n a l   m e t r i c s   s u p p o r t   b o t h   t h e   V a l u e   a n d   A v e r a g e V a l u e   t a r g e t   t y p e s ,   w h i c h   f u n c t i o n   e x a c t l y   t h e   s a m e   a s   w h e n   y o u   u s e   t h e   O b j e c t   t y p e .   F o r   e x a m p l e   i f   y o u r   a p p l i c a t i o n   p r o c e s s e s   t a s k s   f r o


Question: What is Appendix: Horizontal Pod Autoscaler Status Conditions?

Answer: W h e n   u s i n g   t h e   a u t o s c a l i n g / v 2   f o r m   o f   t h e   H o r i z o n t a l P o d A u t o s c a l e r ,   y o u   w i l l   b e   a b l e   t o   s e e   s t a t u s   c o n d i t i o n s   s e t   b y   K u b e r n e t e s   o n   t h e   H o r i z o n t a l P o d A u t o s c a l e r .   T h e s e   s t a t u s   c o n d i t i o n s   i n d i c a t e   w h e t h e r   o r   n o t   t h e   H o r i z o n t a l P o d A u t o s c a l e r   i s   a b l e   t o   s c a l e ,   a n d   w h e t h e r   o r   n o t   i t   i s   c u r r e n t l y   r e s t r i c t e d   i n   a n y   w a y .   T h e   c o n d i t i o n s   a p p e a r   i n   t h e   s t a t u s . c o n d i t i o n s   f i e l d .   T o   s e e   t h e   c o n d i t i o n s   a f f e c t i n g   a   H o r i z o n t a l P o d A u t o s c a l e r ,   w e   c a n   u s e   k u b e c t l   d e s c r i b e   h p a :   k u b e c t l   d e s c r i b e   h p a   c m - t e s t   N a m e :   c m - t e s t   N a m e s p a c e :   p r o m   L a b e l s :   < n o n e >   A n n o t a t i o n s :   < n o n e >   C r e a t i o n T i m e s t a m p :   F r i ,   1 6   J u n   2 0 1 7   1 8 : 0 9 : 2 2   + 0 0 0 0   R e f e r e n c e :   R e p l i c a t i o n C o n t r o l l e r / c m - t e s t   M e t r i c s :   (   c u r r e n t   /   t a r g e t   )   " h t t p _ r e q u e s t s "   o n   p o d s :   6 6 m   /   5 0 0 m   M i n   r e p l i c a s :   1   M a x   r e p l i c a s :   4   R e p l i c a t i o n C o n t r o l l e r   p o d s :   1   c u r r e n t   /   1   d e s i r e d   C o n d i t i o n s :   T y p e   S t a t u s   R e a s o n   M e s s a g e   - - - -   - - - - - -   - - - - - -   - - - - - - -   A b l e T o S c a l e   T r u e   R e a d y F o r N e w S c a l e   t h e   l a s t   s c a l e   t i m e   w a s   s u f f i c i e n t l y   o l d   a s   t o   w a r r a n t   a   n e w   s c a l e   S c a l i n g A c t i v e   T r u e   V a l i d M e t r i c F o u n d   t h e   H P


Question: What is Quantities?

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


Question: What is Creating the autoscaler declaratively?

Answer: I n s t e a d   o f   u s i n g   k u b e c t l   a u t o s c a l e   c o m m a n d   t o   c r e a t e   a   H o r i z o n t a l P o d A u t o s c a l e r   i m p e r a t i v e l y   w e   c a n   u s e   t h e   f o l l o w i n g   m a n i f e s t   t o   c r e a t e   i t   d e c l a r a t i v e l y :   a p i V e r s i o n :   a u t o s c a l i n g / v 2   k i n d :   H o r i z o n t a l P o d A u t o s c a l e r   m e t a d a t a :   n a m e :   p h p - a p a c h e   s p e c :   s c a l e T a r g e t R e f :   a p i V e r s i o n :   a p p s / v 1   k i n d :   D e p l o y m e n t   n a m e :   p h p - a p a c h e   m i n R e p l i c a s :   1   m a x R e p l i c a s :   1 0   m e t r i c s :   -   t y p e :   R e s o u r c e   r e s o u r c e :   n a m e :   c p u   t a r g e t :   t y p e :   U t i l i z a t i o n   a v e r a g e U t i l i z a t i o n :   5 0   T h e n ,   c r e a t e   t h e   a u t o s c a l e r   b y   e x e c u t i n g   t h e   f o l l o w i n g   c o m m a n d :   k u b e c t l   c r e a t e   - f   h t t p s : / / k 8 s . i o / e x a m p l e s / a p p l i c a t i o n / h p a / p h p - a p a c h e . y a m l   h o r i z o n t a l p o d a u t o s c a l e r . a u t o s c a l i n g / p h p - a p a c h e   c r e a t e d


Question: What is 8.9 - Specifying a Disruption Budget for your Application?

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


Question: What is Before you begin?

Answer: 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   a r e   t h e   o w n e r   o f   a n   a p p l i c a t i o n   r u n n i n g   o n   a   K u b e r n e t e s   c l u s t e r   t h a t   r e q u i r e s   h i g h   a v a i l a b i l i t y . Y o u   s h o u l d   k n o w   h o w   t o   d e p l o y   R e p l i c a t e d   S t a t e l e s s   A p p l i c a t i o n s   a n d / o r   R e p l i c a t e d   S t a t e f u l   A p p l i c a t i o n s . Y o u   s h o u l d   h a v e   r e a d   a b o u t   P o d   D i s r u p t i o n s . Y o u   s h o u l d   c o n f i r m   w i t h   y o u r   c l u s t e r   o w n e r   o r   s e r v i c e   p r o v i d e r   t h a t   t h e y   r e s p e c t   P o d   D i s r u p t i o n   B u d g e t s .


Question: What is Protecting an Application with a PodDisruptionBudget?

Answer: I d e n t i f y   w h a t   a p p l i c a t i o n   y o u   w a n t   t o   p r o t e c t   w i t h   a   P o d D i s r u p t i o n B u d g e t   ( P D B ) . T h i n k   a b o u t   h o w   y o u r   a p p l i c a t i o n   r e a c t s   t o   d i s r u p t i o n s . C r e a t e   a   P D B   d e f i n i t i o n   a s   a   Y A M L   f i l e . C r e a t e   t h e   P D B   o b j e c t   f r o m   t h e   Y A M L   f i l e .


Question: What is Identify an Application to Protect?

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


Question: What is Think about how your application reacts to disruptions?

Answer: D e c i d e   h o w   m a n y   i n s t a n c e s   c a n   b e   d o w n   a t   t h e   s a m e   t i m e   f o r   a   s h o r t   p e r i o d   d u e   t o   a   v o l u n t a r y   d i s r u p t i o n .   S t a t e l e s s   f r o n t e n d s : C o n c e r n :   d o n ' t   r e d u c e   s e r v i n g   c a p a c i t y   b y   m o r e   t h a n   1 0 % . S o l u t i o n :   u s e   P D B   w i t h   m i n A v a i l a b l e   9 0 %   f o r   e x a m p l e . S i n g l e - i n s t a n c e   S t a t e f u l   A p p l i c a t i o n : C o n c e r n :   d o   n o t   t e r m i n a t e   t h i s   a p p l i c a t i o n   w i t h o u t   t a l k i n g   t o   m e . P o s s i b l e   S o l u t i o n   1 :   D o   n o t   u s e   a   P D B   a n d   t o l e r a t e   o c c a s i o n a l   d o w n t i m e . P o s s i b l e   S o l u t i o n   2 :   S e t   P D B   w i t h   m a x U n a v a i l a b l e = 0 .   H a v e   a n   u n d e r s t a n d i n g   ( o u t s i d e   o f   K u b e r n e t e s )   t h a t   t h e   c l u s t e r   o p e r a t o r   n e e d s   t o   c o n s u l t   y o u   b e f o r e   t e r m i n a t i o n .   W h e n   t h e   c l u s t e r   o p e r a t o r   c o n t a c t s   y o u ,   p r e p a r e   f o r   d o w n t i m e ,   a n d   t h e n   d e l e t e   t h e   P D B   t o   i n d i c a t e   r e a d i n e s s   f o r   d i s r u p t i o n .   R e c r e a t e   a f t e r w a r d s . M u l t i p l e - i n s t a n c e   S t a t e f u l   a p p l i c a t i o n   s u c h   a s   C o n s u l ,   Z o o K e e p e r ,   o r   e t c d : C o n c e r n :   D o   n o t   r e d u c e   n u m b e r   o f   i n s t a n c e s   b e l o w   q u o r u m ,   o t h e r w i s e   w r i t e s   f a i l . P o s s i b l e   S o l u t i o n   1 :   s e t   m a x U n a v a i l a b l e   t o   1   ( w o r k s   w i t h   v a r y i n g   s c a l e   o f   a p p l i c a t i o n ) . P o s s i b l e   S o l u t i o n   2 :   s e t   m i n A v a i l a b l e   t o   q u o r


Question: What is Rounding logic when specifying percentages?

Answer: V a l u e s   f o r   m i n A v a i l a b l e   o r   m a x U n a v a i l a b l e   c a n   b e   e x p r e s s e d   a s   i n t e g e r s   o r   a s   a   p e r c e n t a g e .   W h e n   y o u   s p e c i f y   a n   i n t e g e r ,   i t   r e p r e s e n t s   a   n u m b e r   o f   P o d s .   F o r   i n s t a n c e ,   i f   y o u   s e t   m i n A v a i l a b l e   t o   1 0 ,   t h e n   1 0   P o d s   m u s t   a l w a y s   b e   a v a i l a b l e ,   e v e n   d u r i n g   a   d i s r u p t i o n . W h e n   y o u   s p e c i f y   a   p e r c e n t a g e   b y   s e t t i n g   t h e   v a l u e   t o   a   s t r i n g   r e p r e s e n t a t i o n   o f   a   p e r c e n t a g e   ( e g .   " 5 0 % " ) ,   i t   r e p r e s e n t s   a   p e r c e n t a g e   o f   t o t a l   P o d s .   F o r   i n s t a n c e ,   i f   y o u   s e t   m i n A v a i l a b l e   t o   " 5 0 % " ,   t h e n   a t   l e a s t   5 0 %   o f   t h e   P o d s   r e m a i n   a v a i l a b l e   d u r i n g   a   d i s r u p t i o n .   W h e n   y o u   s p e c i f y   t h e   v a l u e   a s   a   p e r c e n t a g e ,   i t   m a y   n o t   m a p   t o   a n   e x a c t   n u m b e r   o f   P o d s .   F o r   e x a m p l e ,   i f   y o u   h a v e   7   P o d s   a n d   y o u   s e t   m i n A v a i l a b l e   t o   " 5 0 % " ,   i t ' s   n o t   i m m e d i a t e l y   o b v i o u s   w h e t h e r   t h a t   m e a n s   3   P o d s   o r   4   P o d s   m u s t   b e   a v a i l a b l e .   K u b e r n e t e s   r o u n d s   u p   t o   t h e   n e a r e s t   i n t e g e r ,   s o   i n   t h i s   c a s e ,   4   P o d s   m u s t   b e   a v a i l a b l e .   W h e n   y o u   s p e c i f y   t h e   v a l u e   m a x U n a v a i l a b l e   a s   a   p e r c e n t a g e ,   K u b e r n e t e s   r o u n d s   u p   t h e   n u m b e r   o f   P o d s   t h a t   m a y   b e   d i s r u p t e d .   T h e r e b y   a   d i s r u p t i o n   c a n   e


Question: What is Specifying a PodDisruptionBudget?

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


Question: What is Note:?

Answer: Y o u   c a n   s p e c i f y   o n l y   o n e   o f   m a x U n a v a i l a b l e   a n d   m i n A v a i l a b l e   i n   a   s i n g l e   P o d D i s r u p t i o n B u d g e t .   m a x U n a v a i l a b l e   c a n   o n l y   b e   u s e d   t o   c o n t r o l   t h e   e v i c t i o n   o f   p o d s   t h a t   a l l   h a v e   t h e   s a m e   a s s o c i a t e d   c o n t r o l l e r   m a n a g i n g   t h e m .   I n   t h e   e x a m p l e s   b e l o w ,   " d e s i r e d   r e p l i c a s "   i s   t h e   s c a l e   o f   t h e   c o n t r o l l e r   m a n a g i n g   t h e   p o d s   b e i n g   s e l e c t e d   b y   t h e   P o d D i s r u p t i o n B u d g e t .   E x a m p l e   1 :   W i t h   a   m i n A v a i l a b l e   o f   5 ,   e v i c t i o n s   a r e   a l l o w e d   a s   l o n g   a s   t h e y   l e a v e   b e h i n d   5   o r   m o r e   h e a l t h y   p o d s   a m o n g   t h o s e   s e l e c t e d   b y   t h e   P o d D i s r u p t i o n B u d g e t ' s   s e l e c t o r .   E x a m p l e   2 :   W i t h   a   m i n A v a i l a b l e   o f   3 0 % ,   e v i c t i o n s   a r e   a l l o w e d   a s   l o n g   a s   a t   l e a s t   3 0 %   o f   t h e   n u m b e r   o f   d e s i r e d   r e p l i c a s   a r e   h e a l t h y .   E x a m p l e   3 :   W i t h   a   m a x U n a v a i l a b l e   o f   5 ,   e v i c t i o n s   a r e   a l l o w e d   a s   l o n g   a s   t h e r e   a r e   a t   m o s t   5   u n h e a l t h y   r e p l i c a s   a m o n g   t h e   t o t a l   n u m b e r   o f   d e s i r e d   r e p l i c a s .   E x a m p l e   4 :   W i t h   a   m a x U n a v a i l a b l e   o f   3 0 % ,   e v i c t i o n s   a r e   a l l o w e d   a s   l o n g   a s   t h e   n u m b e r   o f   u n h e a l t h y   r e p l i c a s   d o e s   n o t   e x c e e d   3 0 %   o f   t h e   t o t a l   n u m b e r   o f   d e s i r e d   r e p l i c a   r o u n d e d   u p   t o   t h e   n e a r e s t


Question: What is Note:?

Answer: I f   y o u   s e t   m a x U n a v a i l a b l e   t o   0 %   o r   0 ,   o r   y o u   s e t   m i n A v a i l a b l e   t o   1 0 0 %   o r   t h e   n u m b e r   o f   r e p l i c a s ,   y o u   a r e   r e q u i r i n g   z e r o   v o l u n t a r y   e v i c t i o n s .   W h e n   y o u   s e t   z e r o   v o l u n t a r y   e v i c t i o n s   f o r   a   w o r k l o a d   o b j e c t   s u c h   a s   R e p l i c a S e t ,   t h e n   y o u   c a n n o t   s u c c e s s f u l l y   d r a i n   a   N o d e   r u n n i n g   o n e   o f   t h o s e   P o d s .   I f   y o u   t r y   t o   d r a i n   a   N o d e   w h e r e   a n   u n e v i c t a b l e   P o d   i s   r u n n i n g ,   t h e   d r a i n   n e v e r   c o m p l e t e s .   T h i s   i s   p e r m i t t e d   a s   p e r   t h e   s e m a n t i c s   o f   P o d D i s r u p t i o n B u d g e t .   Y o u   c a n   f i n d   e x a m p l e s   o f   p o d   d i s r u p t i o n   b u d g e t s   d e f i n e d   b e l o w .   T h e y   m a t c h   p o d s   w i t h   t h e   l a b e l   a p p :   z o o k e e p e r .   E x a m p l e   P D B   U s i n g   m i n A v a i l a b l e :   a p i V e r s i o n :   p o l i c y / v 1   k i n d :   P o d D i s r u p t i o n B u d g e t   m e t a d a t a :   n a m e :   z k - p d b   s p e c :   m i n A v a i l a b l e :   2   s e l e c t o r :   m a t c h L a b e l s :   a p p :   z o o k e e p e r   E x a m p l e   P D B   U s i n g   m a x U n a v a i l a b l e :   a p i V e r s i o n :   p o l i c y / v 1   k i n d :   P o d D i s r u p t i o n B u d g e t   m e t a d a t a :   n a m e :   z k - p d b   s p e c :   m a x U n a v a i l a b l e :   1   s e l e c t o r :   m a t c h L a b e l s :   a p p :   z o o k e e p e r   F o r   e x a m p l e ,   i f   t h e   a b o v e   z k - p d b   o b j e c t   s e l e c t s   t h e   p o d s   o f   a   S t a t e f u l S e t   o f   s i z e   3 ,   b o t h   s p e c i f i c a t i o n s   h a v e   t h e   e x


Question: What is Create the PDB object?

Answer: Y o u   c a n   c r e a t e   o r   u p d a t e   t h e   P D B   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   a p p l y   - f   m y p d b . y a m l


Question: What is Check the status of the PDB?

Answer: U s e   k u b e c t l   t o   c h e c k   t h a t   y o u r   P D B   i s   c r e a t e d .   A s s u m i n g   y o u   d o n ' t   a c t u a l l y   h a v e   p o d s   m a t c h i n g   a p p :   z o o k e e p e r   i n   y o u r   n a m e s p a c e ,   t h e n   y o u ' l l   s e e   s o m e t h i n g   l i k e   t h i s :   k u b e c t l   g e t   p o d d i s r u p t i o n b u d g e t s   N A M E   M I N   A V A I L A B L E   M A X   U N A V A I L A B L E   A L L O W E D   D I S R U P T I O N S   A G E   z k - p d b   2   N / A   0   7 s   I f   t h e r e   a r e   m a t c h i n g   p o d s   ( s a y ,   3 ) ,   t h e n   y o u   w o u l d   s e e   s o m e t h i n g   l i k e   t h i s :   k u b e c t l   g e t   p o d d i s r u p t i o n b u d g e t s   N A M E   M I N   A V A I L A B L E   M A X   U N A V A I L A B L E   A L L O W E D   D I S R U P T I O N S   A G E   z k - p d b   2   N / A   1   7 s   T h e   n o n - z e r o   v a l u e   f o r   A L L O W E D   D I S R U P T I O N S   m e a n s   t h a t   t h e   d i s r u p t i o n   c o n t r o l l e r   h a s   s e e n   t h e   p o d s ,   c o u n t e d   t h e   m a t c h i n g   p o d s ,   a n d   u p d a t e d   t h e   s t a t u s   o f   t h e   P D B .   Y o u   c a n   g e t   m o r e   i n f o r m a t i o n   a b o u t   t h e   s t a t u s   o f   a   P D B   w i t h   t h i s   c o m m a n d :   k u b e c t l   g e t   p o d d i s r u p t i o n b u d g e t s   z k - p d b   - o   y a m l   a p i V e r s i o n :   p o l i c y / v 1   k i n d :   P o d D i s r u p t i o n B u d g e t   m e t a d a t a :   a n n o t a t i o n s :   …   c r e a t i o n T i m e s t a m p :   " 2 0 2 0 - 0 3 - 0 4 T 0 4 : 2 2 : 5 6 Z "   g e n e r a t i o n :   1   n a m e :   z k - p d b   …   s t a t u s :   c u r r e n t H e a l t h y :   3   d e s i r e d H e a l t h y :   2   d i s r u p t i o n s A l l o w e d :   1   e x p e c t e d P o d s :   3   o b s e r v e d G e n e r a t i o n :   1


Question: What is Healthiness of a Pod?

Answer: T h e   c u r r e n t   i m p l e m e n t a t i o n   c o n s i d e r s   h e a l t h y   p o d s ,   a s   p o d s   t h a t   h a v e   . s t a t u s . c o n d i t i o n s   i t e m   w i t h   t y p e = " R e a d y "   a n d   s t a t u s = " T r u e " .   T h e s e   p o d s   a r e   t r a c k e d   v i a   . s t a t u s . c u r r e n t H e a l t h y   f i e l d   i n   t h e   P D B   s t a t u s .


Question: What is Unhealthy Pod Eviction Policy?

Answer: P o d D i s r u p t i o n B u d g e t   g u a r d i n g   a n   a p p l i c a t i o n   e n s u r e s   t h a t   . s t a t u s . c u r r e n t H e a l t h y   n u m b e r   o f   p o d s   d o e s   n o t   f a l l   b e l o w   t h e   n u m b e r   s p e c i f i e d   i n   . s t a t u s . d e s i r e d H e a l t h y   b y   d i s a l l o w i n g   e v i c t i o n   o f   h e a l t h y   p o d s .   B y   u s i n g   . s p e c . u n h e a l t h y P o d E v i c t i o n P o l i c y ,   y o u   c a n   a l s o   d e f i n e   t h e   c r i t e r i a   w h e n   u n h e a l t h y   p o d s   s h o u l d   b e   c o n s i d e r e d   f o r   e v i c t i o n .   T h e   d e f a u l t   b e h a v i o r   w h e n   n o   p o l i c y   i s   s p e c i f i e d   c o r r e s p o n d s   t o   t h e   I f H e a l t h y B u d g e t   p o l i c y .   P o l i c i e s :   T h i s   p o l i c y   e n s u r e s   t h a t   r u n n i n g   p o d s   o f   a n   a l r e a d y   d i s r u p t e d   a p p l i c a t i o n   h a v e   t h e   b e s t   c h a n c e   t o   b e c o m e   h e a l t h y .   T h i s   h a s   n e g a t i v e   i m p l i c a t i o n s   f o r   d r a i n i n g   n o d e s ,   w h i c h   c a n   b e   b l o c k e d   b y   m i s b e h a v i n g   a p p l i c a t i o n s   t h a t   a r e   g u a r d e d   b y   a   P D B .   M o r e   s p e c i f i c a l l y   a p p l i c a t i o n s   w i t h   p o d s   i n   C r a s h L o o p B a c k O f f   s t a t e   ( d u e   t o   a   b u g   o r   m i s c o n f i g u r a t i o n ) ,   o r   p o d s   t h a t   a r e   j u s t   f a i l i n g   t o   r e p o r t   t h e   R e a d y   c o n d i t i o n .   T h i s   m e a n s   p r o s p e c t i v e   r u n n i n g   p o d s   o f   a   d i s r u p t e d   a p p l i c a t i o n   m i g h t   n o t   g e t   a   c h a n c e   t o   b e c o m e   h e a l t h y .   B y   u s i n g   t h i s   p o l i c y ,   c l u s t e r   m a n a g e r s   c a n   e a s i l y   e v i c


Question: What is Arbitrary workloads and arbitrary selectors?

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


Question: What is 8.10 - Accessing the Kubernetes API from a Pod?

Answer: T h i s   g u i d e   d e m o n s t r a t e s   h o w   t o   a c c e s s   t h e   K u b e r n e t e s   A P I   f r o m   w i t h i n   a   p o d .


Question: What is Before you begin?

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


Question: What is Accessing the API from within a Pod?

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


Question: What is Using Official Client Libraries?

Answer: F r o m   w i t h i n   a   P o d ,   t h e   r e c o m m e n d e d   w a y s   t o   c o n n e c t   t o   t h e   K u b e r n e t e s   A P I   a r e :   F o r   a   G o   c l i e n t ,   u s e   t h e   o f f i c i a l   G o   c l i e n t   l i b r a r y .   T h e   r e s t . I n C l u s t e r C o n f i g ( )   f u n c t i o n   h a n d l e s   A P I   h o s t   d i s c o v e r y   a n d   a u t h e n t i c a t i o n   a u t o m a t i c a l l y .   S e e   a n   e x a m p l e   h e r e . F o r   a   P y t h o n   c l i e n t ,   u s e   t h e   o f f i c i a l   P y t h o n   c l i e n t   l i b r a r y .   T h e   c o n f i g . l o a d _ i n c l u s t e r _ c o n f i g ( )   f u n c t i o n   h a n d l e s   A P I   h o s t   d i s c o v e r y   a n d   a u t h e n t i c a t i o n   a u t o m a t i c a l l y .   S e e   a n   e x a m p l e   h e r e . T h e r e   a r e   a   n u m b e r   o f   o t h e r   l i b r a r i e s   a v a i l a b l e ,   p l e a s e   r e f e r   t o   t h e   C l i e n t   L i b r a r i e s   p a g e .   F o r   a   G o   c l i e n t ,   u s e   t h e   o f f i c i a l   G o   c l i e n t   l i b r a r y .   T h e   r e s t . I n C l u s t e r C o n f i g ( )   f u n c t i o n   h a n d l e s   A P I   h o s t   d i s c o v e r y   a n d   a u t h e n t i c a t i o n   a u t o m a t i c a l l y .   S e e   a n   e x a m p l e   h e r e .   F o r   a   P y t h o n   c l i e n t ,   u s e   t h e   o f f i c i a l   P y t h o n   c l i e n t   l i b r a r y .   T h e   c o n f i g . l o a d _ i n c l u s t e r _ c o n f i g ( )   f u n c t i o n   h a n d l e s   A P I   h o s t   d i s c o v e r y   a n d   a u t h e n t i c a t i o n   a u t o m a t i c a l l y .   S e e   a n   e x a m p l e   h e r e .   T h e r e   a r e   a   n u m b e r   o f   o t h e r   l i b r a r i e s   a v a i l a b l e ,   p l e a s e   r e f e r   t o   t h e   C l i e n t   L i b r a r i e s   p a g e .   I n   e a c h   c a s e ,   t h e   s e r v i c


Question: What is Directly accessing the REST API?

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


Question: What is Note:?

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


Question: What is Using kubectl proxy?

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


Question: What is Without using a proxy?

Answer: I t   i s   p o s s i b l e   t o   a v o i d   u s i n g   t h e   k u b e c t l   p r o x y   b y   p a s s i n g   t h e   a u t h e n t i c a t i o n   t o k e n   d i r e c t l y   t o   t h e   A P I   s e r v e r .   T h e   i n t e r n a l   c e r t i f i c a t e   s e c u r e s   t h e   c o n n e c t i o n .   #   P o i n t   t o   t h e   i n t e r n a l   A P I   s e r v e r   h o s t n a m e   A P I S E R V E R = h t t p s : / / k u b e r n e t e s . d e f a u l t . s v c   #   P a t h   t o   S e r v i c e A c c o u n t   t o k e n   S E R V I C E A C C O U N T = / v a r / r u n / s e c r e t s / k u b e r n e t e s . i o / s e r v i c e a c c o u n t   #   R e a d   t h i s   P o d ' s   n a m e s p a c e   N A M E S P A C E = $ ( c a t   $ { S E R V I C E A C C O U N T } / n a m e s p a c e )   #   R e a d   t h e   S e r v i c e A c c o u n t   b e a r e r   t o k e n   T O K E N = $ ( c a t   $ { S E R V I C E A C C O U N T } / t o k e n )   #   R e f e r e n c e   t h e   i n t e r n a l   c e r t i f i c a t e   a u t h o r i t y   ( C A )   C A C E R T = $ { S E R V I C E A C C O U N T } / c a . c r t   #   E x p l o r e   t h e   A P I   w i t h   T O K E N   c u r l   - - c a c e r t   $ { C A C E R T }   - - h e a d e r   " A u t h o r i z a t i o n :   B e a r e r   $ { T O K E N } "   - X   G E T   $ { A P I S E R V E R } / a p i   T h e   o u t p u t   w i l l   b e   s i m i l a r   t o   t h i s :   {   " k i n d " :   " A P I V e r s i o n s " ,   " v e r s i o n s " :   [ " v 1 " ] ,   " s e r v e r A d d r e s s B y C l i e n t C I D R s " :   [   {   " c l i e n t C I D R " :   " 0 . 0 . 0 . 0 / 0 " ,   " s e r v e r A d d r e s s " :   " 1 0 . 0 . 1 . 1 4 9 : 4 4 3 "   }   ]   }


Question: What is 9.1 - Running Automated Tasks with a CronJob?

Answer: T h i s   p a g e   s h o w s   h o w   t o   r u n   a u t o m a t e d   t a s k s   u s i n g   K u b e r n e t e s   C r o n J o b   o b j e c t .


Question: What is Before you begin?

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


Question: What is Creating a CronJob?

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


Question: What is Note:?

Answer: #   R e p l a c e   " h e l l o - 4 1 1 1 7 0 6 3 5 6 "   w i t h   t h e   j o b   n a m e   i n   y o u r   s y s t e m   p o d s = $ ( k u b e c t l   g e t   p o d s   - - s e l e c t o r = j o b - n a m e = h e l l o - 4 1 1 1 7 0 6 3 5 6   - - o u t p u t = j s o n p a t h = { . i t e m s [ * ] . m e t a d a t a . n a m e } )   S h o w   t h e   p o d   l o g :   k u b e c t l   l o g s   $ p o d s   T h e   o u t p u t   i s   s i m i l a r   t o   t h i s :   F r i   F e b   2 2   1 1 : 0 2 : 0 9   U T C   2 0 1 9   H e l l o   f r o m   t h e   K u b e r n e t e s   c l u s t e r


Question: What is Deleting a CronJob?

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


Question: What is 9.2 - Coarse Parallel Processing Using a Work Queue?

Answer: I n   t h i s   e x a m p l e ,   y o u   w i l l   r u n   a   K u b e r n e t e s   J o b   w i t h   m u l t i p l e   p a r a l l e l   w o r k e r   p r o c e s s e s .   I n   t h i s   e x a m p l e ,   a s   e a c h   p o d   i s   c r e a t e d ,   i t   p i c k s   u p   o n e   u n i t   o f   w o r k   f r o m   a   t a s k   q u e u e ,   c o m p l e t e s   i t ,   d e l e t e s   i t   f r o m   t h e   q u e u e ,   a n d   e x i t s .   H e r e   i s   a n   o v e r v i e w   o f   t h e   s t e p s   i n   t h i s   e x a m p l e :   S t a r t   a   m e s s a g e   q u e u e   s e r v i c e .   I n   t h i s   e x a m p l e ,   y o u   u s e   R a b b i t M Q ,   b u t   y o u   c o u l d   u s e   a n o t h e r   o n e .   I n   p r a c t i c e   y o u   w o u l d   s e t   u p   a   m e s s a g e   q u e u e   s e r v i c e   o n c e   a n d   r e u s e   i t   f o r   m a n y   j o b s . C r e a t e   a   q u e u e ,   a n d   f i l l   i t   w i t h   m e s s a g e s .   E a c h   m e s s a g e   r e p r e s e n t s   o n e   t a s k   t o   b e   d o n e .   I n   t h i s   e x a m p l e ,   a   m e s s a g e   i s   a n   i n t e g e r   t h a t   w e   w i l l   d o   a   l e n g t h y   c o m p u t a t i o n   o n . S t a r t   a   J o b   t h a t   w o r k s   o n   t a s k s   f r o m   t h e   q u e u e .   T h e   J o b   s t a r t s   s e v e r a l   p o d s .   E a c h   p o d   t a k e s   o n e   t a s k   f r o m   t h e   m e s s a g e   q u e u e ,   p r o c e s s e s   i t ,   a n d   e x i t s .


Question: What is Before you begin?

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


Question: What is Starting a message queue service?

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


Question: What is Testing the message queue service?

Answer: N o w ,   w e   c a n   e x p e r i m e n t   w i t h   a c c e s s i n g   t h e   m e s s a g e   q u e u e .   W e   w i l l   c r e a t e   a   t e m p o r a r y   i n t e r a c t i v e   p o d ,   i n s t a l l   s o m e   t o o l s   o n   i t ,   a n d   e x p e r i m e n t   w i t h   q u e u e s .   F i r s t   c r e a t e   a   t e m p o r a r y   i n t e r a c t i v e   P o d .   #   C r e a t e   a   t e m p o r a r y   i n t e r a c t i v e   c o n t a i n e r   k u b e c t l   r u n   - i   - - t t y   t e m p   - - i m a g e   u b u n t u : 2 2 . 0 4   W a i t i n g   f o r   p o d   d e f a u l t / t e m p - l o e 0 7   t o   b e   r u n n i n g ,   s t a t u s   i s   P e n d i n g ,   p o d   r e a d y :   f a l s e   . . .   [   p r e v i o u s   l i n e   r e p e a t s   s e v e r a l   t i m e s   . .   h i t   r e t u r n   w h e n   i t   s t o p s   ]   . . .   N o t e   t h a t   y o u r   p o d   n a m e   a n d   c o m m a n d   p r o m p t   w i l l   b e   d i f f e r e n t .


Question: What is Fill the queue with tasks?

Answer: N o w ,   f i l l   t h e   q u e u e   w i t h   s o m e   s i m u l a t e d   t a s k s .   I n   t h i s   e x a m p l e ,   t h e   t a s k s   a r e   s t r i n g s   t o   b e   p r i n t e d .   I n   a   p r a c t i c e ,   t h e   c o n t e n t   o f   t h e   m e s s a g e s   m i g h t   b e :   n a m e s   o f   f i l e s   t o   t h a t   n e e d   t o   b e   p r o c e s s e d e x t r a   f l a g s   t o   t h e   p r o g r a m r a n g e s   o f   k e y s   i n   a   d a t a b a s e   t a b l e c o n f i g u r a t i o n   p a r a m e t e r s   t o   a   s i m u l a t i o n f r a m e   n u m b e r s   o f   a   s c e n e   t o   b e   r e n d e r e d   I f   t h e r e   i s   l a r g e   d a t a   t h a t   i s   n e e d e d   i n   a   r e a d - o n l y   m o d e   b y   a l l   p o d s   o f   t h e   J o b ,   y o u   t y p i c a l l y   p u t   t h a t   i n   a   s h a r e d   f i l e   s y s t e m   l i k e   N F S   a n d   m o u n t   t h a t   r e a d o n l y   o n   a l l   t h e   p o d s ,   o r   w r i t e   t h e   p r o g r a m   i n   t h e   p o d   s o   t h a t   i t   c a n   n a t i v e l y   r e a d   d a t a   f r o m   a   c l u s t e r   f i l e   s y s t e m   ( f o r   e x a m p l e :   H D F S ) .   F o r   t h i s   e x a m p l e ,   y o u   w i l l   c r e a t e   t h e   q u e u e   a n d   f i l l   i t   u s i n g   t h e   A M Q P   c o m m a n d   l i n e   t o o l s .   I n   p r a c t i c e ,   y o u   m i g h t   w r i t e   a   p r o g r a m   t o   f i l l   t h e   q u e u e   u s i n g   a n   A M Q P   c l i e n t   l i b r a r y .   #   R u n   t h i s   o n   y o u r   c o m p u t e r ,   n o t   i n   t h e   P o d   / u s r / b i n / a m q p - d e c l a r e - q u e u e   - - u r l = $ B R O K E R _ U R L   - q   j o b 1   - d   j o b 1   A d d   i t e m s   t o   t h e   q u e u e :   f o r   f   i n   a p p l e   b a n a n a   c h e r r y   d a t e   f i g   g r a p e   l e m o n   m e l o n   d o   / u s


Question: What is Create a container image?

Answer: N o w   y o u   a r e   r e a d y   t o   c r e a t e   a n   i m a g e   t h a t   y o u   w i l l   r u n   a s   a   J o b .   T h e   j o b   w i l l   u s e   t h e   a m q p - c o n s u m e   u t i l i t y   t o   r e a d   t h e   m e s s a g e   f r o m   t h e   q u e u e   a n d   r u n   t h e   a c t u a l   w o r k .   H e r e   i s   a   v e r y   s i m p l e   e x a m p l e   p r o g r a m :   # ! / u s r / b i n / e n v   p y t h o n   #   J u s t   p r i n t s   s t a n d a r d   o u t   a n d   s l e e p s   f o r   1 0   s e c o n d s .   i m p o r t   s y s   i m p o r t   t i m e   p r i n t ( " P r o c e s s i n g   "   +   s y s . s t d i n . r e a d l i n e s ( ) [ 0 ] )   t i m e . s l e e p ( 1 0 )   G i v e   t h e   s c r i p t   e x e c u t i o n   p e r m i s s i o n :   c h m o d   + x   w o r k e r . p y   N o w ,   b u i l d   a n   i m a g e .   M a k e   a   t e m p o r a r y   d i r e c t o r y ,   c h a n g e   t o   i t ,   d o w n l o a d   t h e   D o c k e r f i l e ,   a n d   w o r k e r . p y .   I n   e i t h e r   c a s e ,   b u i l d   t h e   i m a g e   w i t h   t h i s   c o m m a n d :   d o c k e r   b u i l d   - t   j o b - w q - 1   .   F o r   t h e   D o c k e r   H u b ,   t a g   y o u r   a p p   i m a g e   w i t h   y o u r   u s e r n a m e   a n d   p u s h   t o   t h e   H u b   w i t h   t h e   b e l o w   c o m m a n d s .   R e p l a c e   < u s e r n a m e >   w i t h   y o u r   H u b   u s e r n a m e .   d o c k e r   t a g   j o b - w q - 1   < u s e r n a m e > / j o b - w q - 1   d o c k e r   p u s h   < u s e r n a m e > / j o b - w q - 1   I f   y o u   a r e   u s i n g   a n   a l t e r n a t i v e   c o n t a i n e r   i m a g e   r e g i s t r y ,   t a g   t h e   i m a g e   a n d   p u s h   i t   t h e r e   i n s t e a d .


Question: What is Defining a Job?

Answer: H e r e   i s   a   m a n i f e s t   f o r   a   J o b .   Y o u ' l l   n e e d   t o   m a k e   a   c o p y   o f   t h e   J o b   m a n i f e s t   ( c a l l   i t   . / j o b . y a m l ) ,   a n d   e d i t   t h e   n a m e   o f   t h e   c o n t a i n e r   i m a g e   t o   m a t c h   t h e   n a m e   y o u   u s e d .   a p i V e r s i o n :   b a t c h / v 1   k i n d :   J o b   m e t a d a t a :   n a m e :   j o b - w q - 1   s p e c :   c o m p l e t i o n s :   8   p a r a l l e l i s m :   2   t e m p l a t e :   m e t a d a t a :   n a m e :   j o b - w q - 1   s p e c :   c o n t a i n e r s :   -   n a m e :   c   i m a g e :   g c r . i o / < p r o j e c t > / j o b - w q - 1   e n v :   -   n a m e :   B R O K E R _ U R L   v a l u e :   a m q p : / / g u e s t : g u e s t @ r a b b i t m q - s e r v i c e : 5 6 7 2   -   n a m e :   Q U E U E   v a l u e :   j o b 1   r e s t a r t P o l i c y :   O n F a i l u r e   I n   t h i s   e x a m p l e ,   e a c h   p o d   w o r k s   o n   o n e   i t e m   f r o m   t h e   q u e u e   a n d   t h e n   e x i t s .   S o ,   t h e   c o m p l e t i o n   c o u n t   o f   t h e   J o b   c o r r e s p o n d s   t o   t h e   n u m b e r   o f   w o r k   i t e m s   d o n e .   T h a t   i s   w h y   t h e   e x a m p l e   m a n i f e s t   h a s   . s p e c . c o m p l e t i o n s   s e t   t o   8 .


Question: What is Running the Job?

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


Question: What is Alternatives?

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


Question: What is Caveats?

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


Question: What is 9.3 - Fine Parallel Processing Using a Work Queue?

Answer: I n   t h i s   e x a m p l e ,   y o u   w i l l   r u n   a   K u b e r n e t e s   J o b   t h a t   r u n s   m u l t i p l e   p a r a l l e l   t a s k s   a s   w o r k e r   p r o c e s s e s ,   e a c h   r u n n i n g   a s   a   s e p a r a t e   P o d .   I n   t h i s   e x a m p l e ,   a s   e a c h   p o d   i s   c r e a t e d ,   i t   p i c k s   u p   o n e   u n i t   o f   w o r k   f r o m   a   t a s k   q u e u e ,   p r o c e s s e s   i t ,   a n d   r e p e a t s   u n t i l   t h e   e n d   o f   t h e   q u e u e   i s   r e a c h e d .   H e r e   i s   a n   o v e r v i e w   o f   t h e   s t e p s   i n   t h i s   e x a m p l e :   S t a r t   a   s t o r a g e   s e r v i c e   t o   h o l d   t h e   w o r k   q u e u e .   I n   t h i s   e x a m p l e ,   y o u   w i l l   u s e   R e d i s   t o   s t o r e   w o r k   i t e m s .   I n   t h e   p r e v i o u s   e x a m p l e ,   y o u   u s e d   R a b b i t M Q .   I n   t h i s   e x a m p l e ,   y o u   w i l l   u s e   R e d i s   a n d   a   c u s t o m   w o r k - q u e u e   c l i e n t   l i b r a r y ;   t h i s   i s   b e c a u s e   A M Q P   d o e s   n o t   p r o v i d e   a   g o o d   w a y   f o r   c l i e n t s   t o   d e t e c t   w h e n   a   f i n i t e - l e n g t h   w o r k   q u e u e   i s   e m p t y .   I n   p r a c t i c e   y o u   w o u l d   s e t   u p   a   s t o r e   s u c h   a s   R e d i s   o n c e   a n d   r e u s e   i t   f o r   t h e   w o r k   q u e u e s   o f   m a n y   j o b s ,   a n d   o t h e r   t h i n g s . C r e a t e   a   q u e u e ,   a n d   f i l l   i t   w i t h   m e s s a g e s .   E a c h   m e s s a g e   r e p r e s e n t s   o n e   t a s k   t o   b e   d o n e .   I n   t h i s   e x a m p l e ,   a   m e s s a g e   i s   a n   i n t e g e r   t h a t   w e   w i l l   d o   a   l e n g t h y   c o m p u t a t i o n   o n . S t a r t   a   J o b   t h a t   w o r k s   o n   t a s k s   f 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   w i l l   n e e d   a   c o n t a i n e r   i m a g e   r e g i s t r y   w h e r e   y o u   c a n   u p l o a d   i m a g e s   t o   r u n   i n   y o u r   c l u s t e r .   T h e   e x a m p l e   u s e s   D o c k e r   H u b ,   b u t   y o u   c o u l d   a d a p t   i t   t o   a   d i f f e r e n t   c o n t a i n e r   i m a g e   r e g i s t r y .   T h i s   t a s k   e x a m p l e   a l s o   a s s u m e s   t h a t   y o u   h a v e   D o c k e r   i n s t a l l e d   l o c a l l y .   Y o u   u s e   D o c k e r   t o   b u i l d   c o n t a i n e r   i m a g e s .   B e   f a m i l i a r   w i t h   t h e   b a s i c ,   n o n - p a r a l l e l ,   u s e   o f   J o b .


Question: What is Starting Redis?

Answer: F o r   t h i s   e x a m p l e ,   f o r   s i m p l i c i t y ,   y o u   w i l l   s t a r t   a   s i n g l e   i n s t a n c e   o f   R e d i s .   S e e   t h e   R e d i s   E x a m p l e   f o r   a n   e x a m p l e   o f   d e p l o y i n g   R e d i s   s c a l a b l y   a n d   r e d u n d a n t l y .   Y o u   c o u l d   a l s o   d o w n l o a d   t h e   f o l l o w i n g   f i l e s   d i r e c t l y :   r e d i s - p o d . y a m l r e d i s - s e r v i c e . y a m l D o c k e r f i l e j o b . y a m l r e d i s w q . p y w o r k e r . p y   T o   s t a r t   a   s i n g l e   i n s t a n c e   o f   R e d i s ,   y o u   n e e d   t o   c r e a t e   t h e   r e d i s   p o d   a n d   r e d i s   s e r v i c e :   k u b e c t l   a p p l y   - f   h t t p s : / / k 8 s . i o / e x a m p l e s / a p p l i c a t i o n / j o b / r e d i s / r e d i s - p o d . y a m l   k u b e c t l   a p p l y   - f   h t t p s : / / k 8 s . i o / e x a m p l e s / a p p l i c a t i o n / j o b / r e d i s / r e d i s - s e r v i c e . y a m l


Question: What is Filling the queue with tasks?

Answer: N o w   l e t ' s   f i l l   t h e   q u e u e   w i t h   s o m e   " t a s k s " .   I n   t h i s   e x a m p l e ,   t h e   t a s k s   a r e   s t r i n g s   t o   b e   p r i n t e d .   S t a r t   a   t e m p o r a r y   i n t e r a c t i v e   p o d   f o r   r u n n i n g   t h e   R e d i s   C L I .   k u b e c t l   r u n   - i   - - t t y   t e m p   - - i m a g e   r e d i s   - - c o m m a n d   " / b i n / s h "   W a i t i n g   f o r   p o d   d e f a u l t / r e d i s 2 - c 7 h 7 8   t o   b e   r u n n i n g ,   s t a t u s   i s   P e n d i n g ,   p o d   r e a d y :   f a l s e   H i t   e n t e r   f o r   c o m m a n d   p r o m p t   N o w   h i t   e n t e r ,   s t a r t   t h e   R e d i s   C L I ,   a n d   c r e a t e   a   l i s t   w i t h   s o m e   w o r k   i t e m s   i n   i t .   r e d i s - c l i   - h   r e d i s   r e d i s : 6 3 7 9 >   r p u s h   j o b 2   " a p p l e "   ( i n t e g e r )   1   r e d i s : 6 3 7 9 >   r p u s h   j o b 2   " b a n a n a "   ( i n t e g e r )   2   r e d i s : 6 3 7 9 >   r p u s h   j o b 2   " c h e r r y "   ( i n t e g e r )   3   r e d i s : 6 3 7 9 >   r p u s h   j o b 2   " d a t e "   ( i n t e g e r )   4   r e d i s : 6 3 7 9 >   r p u s h   j o b 2   " f i g "   ( i n t e g e r )   5   r e d i s : 6 3 7 9 >   r p u s h   j o b 2   " g r a p e "   ( i n t e g e r )   6   r e d i s : 6 3 7 9 >   r p u s h   j o b 2   " l e m o n "   ( i n t e g e r )   7   r e d i s : 6 3 7 9 >   r p u s h   j o b 2   " m e l o n "   ( i n t e g e r )   8   r e d i s : 6 3 7 9 >   r p u s h   j o b 2   " o r a n g e "   ( i n t e g e r )   9   r e d i s : 6 3 7 9 >   l r a n g e   j o b 2   0   - 1   1 )   " a p p l e "   2 )   " b a n a n a "   3 )   " c h e r r y "   4 )   " d a t e "   5 )   " f i g "   6 )   " g r a p e "   7 )   " l e m o n "   8 )   " m e l o n "   9 )   " o r a n g e "   S o ,   t h e   l i s t   w i t h   k e y   j o b 2   w i l l   b e   t h e   w o r k   q u e u


Question: What is Create a container image?

Answer: N o w   y o u   a r e   r e a d y   t o   c r e a t e   a n   i m a g e   t h a t   w i l l   p r o c e s s   t h e   w o r k   i n   t h a t   q u e u e .   Y o u ' r e   g o i n g   t o   u s e   a   P y t h o n   w o r k e r   p r o g r a m   w i t h   a   R e d i s   c l i e n t   t o   r e a d   t h e   m e s s a g e s   f r o m   t h e   m e s s a g e   q u e u e .   A   s i m p l e   R e d i s   w o r k   q u e u e   c l i e n t   l i b r a r y   i s   p r o v i d e d ,   c a l l e d   r e d i s w q . p y   ( D o w n l o a d ) .   T h e   " w o r k e r "   p r o g r a m   i n   e a c h   P o d   o f   t h e   J o b   u s e s   t h e   w o r k   q u e u e   c l i e n t   l i b r a r y   t o   g e t   w o r k .   H e r e   i t   i s :   # ! / u s r / b i n / e n v   p y t h o n   i m p o r t   t i m e   i m p o r t   r e d i s w q   h o s t = " r e d i s "   #   U n c o m m e n t   n e x t   t w o   l i n e s   i f   y o u   d o   n o t   h a v e   K u b e - D N S   w o r k i n g .   #   i m p o r t   o s   #   h o s t   =   o s . g e t e n v ( " R E D I S _ S E R V I C E _ H O S T " )   q   =   r e d i s w q . R e d i s W Q ( n a m e = " j o b 2 " ,   h o s t = h o s t )   p r i n t ( " W o r k e r   w i t h   s e s s i o n I D :   "   +   q . s e s s i o n I D ( ) )   p r i n t ( " I n i t i a l   q u e u e   s t a t e :   e m p t y = "   +   s t r ( q . e m p t y ( ) ) )   w h i l e   n o t   q . e m p t y ( ) :   i t e m   =   q . l e a s e ( l e a s e _ s e c s = 1 0 ,   b l o c k = T r u e ,   t i m e o u t = 2 )   i f   i t e m   i s   n o t   N o n e :   i t e m s t r   =   i t e m . d e c o d e ( " u t f - 8 " )   p r i n t ( " W o r k i n g   o n   "   +   i t e m s t r )   t i m e . s l e e p ( 1 0 )   #   P u t   y o u r   a c t u a l   w o r k   h e r e   i n s t e a d   o f   s l e e p .   q . c o m p l e t e ( i t e m )   e l s e :   p r i n t ( " W a i t i n g   f o r   w o r k " )   p r i n t ( " Q u e u e   e m p t y ,   e x i t i n g " )   Y


Question: What is Push the image?

Answer: F o r   t h e   D o c k e r   H u b ,   t a g   y o u r   a p p   i m a g e   w i t h   y o u r   u s e r n a m e   a n d   p u s h   t o   t h e   H u b   w i t h   t h e   b e l o w   c o m m a n d s .   R e p l a c e   < u s e r n a m e >   w i t h   y o u r   H u b   u s e r n a m e .   d o c k e r   t a g   j o b - w q - 2   < u s e r n a m e > / j o b - w q - 2   d o c k e r   p u s h   < u s e r n a m e > / j o b - w q - 2   Y o u   n e e d   t o   p u s h   t o   a   p u b l i c   r e p o s i t o r y   o r   c o n f i g u r e   y o u r   c l u s t e r   t o   b e   a b l e   t o   a c c e s s   y o u r   p r i v a t e   r e p o s i t o r y .


Question: What is Defining a Job?

Answer: H e r e   i s   a   m a n i f e s t   f o r   t h e   J o b   y o u   w i l l   c r e a t e :   a p i V e r s i o n :   b a t c h / v 1   k i n d :   J o b   m e t a d a t a :   n a m e :   j o b - w q - 2   s p e c :   p a r a l l e l i s m :   2   t e m p l a t e :   m e t a d a t a :   n a m e :   j o b - w q - 2   s p e c :   c o n t a i n e r s :   -   n a m e :   c   i m a g e :   g c r . i o / m y p r o j e c t / j o b - w q - 2   r e s t a r t P o l i c y :   O n F a i l u r e


Question: What is Note:?

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


Question: What is Running the Job?

Answer: S o ,   n o w   r u n   t h e   J o b :   #   t h i s   a s s u m e s   y o u   d o w n l o a d e d   a n d   t h e n   e d i t e d   t h e   m a n i f e s t   a l r e a d y   k u b e c t l   a p p l y   - f   . / j o b . y a m l   N o w   w a i t   a   b i t ,   t h e n   c h e c k   o n   t h e   J o b :   k u b e c t l   d e s c r i b e   j o b s / j o b - w q - 2   N a m e :   j o b - w q - 2   N a m e s p a c e :   d e f a u l t   S e l e c t o r :   c o n t r o l l e r - u i d = b 1 c 7 e 4 e 3 - 9 2 e 1 - 1 1 e 7 - b 8 5 e - f a 1 6 3 e e 3 c 1 1 f   L a b e l s :   c o n t r o l l e r - u i d = b 1 c 7 e 4 e 3 - 9 2 e 1 - 1 1 e 7 - b 8 5 e - f a 1 6 3 e e 3 c 1 1 f   j o b - n a m e = j o b - w q - 2   A n n o t a t i o n s :   < n o n e >   P a r a l l e l i s m :   2   C o m p l e t i o n s :   < u n s e t >   S t a r t   T i m e :   M o n ,   1 1   J a n   2 0 2 2   1 7 : 0 7 : 5 9   + 0 0 0 0   P o d s   S t a t u s e s :   1   R u n n i n g   /   0   S u c c e e d e d   /   0   F a i l e d   P o d   T e m p l a t e :   L a b e l s :   c o n t r o l l e r - u i d = b 1 c 7 e 4 e 3 - 9 2 e 1 - 1 1 e 7 - b 8 5 e - f a 1 6 3 e e 3 c 1 1 f   j o b - n a m e = j o b - w q - 2   C o n t a i n e r s :   c :   I m a g e :   c o n t a i n e r - r e g i s t r y . e x a m p l e / e x a m p l e p r o j e c t / j o b - w q - 2   P o r t :   E n v i r o n m e n t :   < n o n e >   M o u n t s :   < n o n e >   V o l u m e s :   < n o n e >   E v e n t s :   F i r s t S e e n   L a s t S e e n   C o u n t   F r o m   S u b o b j e c t P a t h   T y p e   R e a s o n   M e s s a g e   - - - - - - - - -   - - - - - - - -   - - - - -   - - - -   - - - - - - - - - - - - -   - - - - - - - -   - - - - - -   - - - - - - -   3 3 s   3 3 s   1   { j o b - c o n t r o l l e r   }   N o r m a l   S u c c e s s f u l C r e a t e   C r e a t e d   p o d :   j o b - w q - 2 - l g l f 8   Y o u   c a n   w a i t   f o r   t h e   J o b   t o   s u c c e e d ,   w i t h   a   t i m e


Question: What is Alternatives?

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


Question: What is 9.4 - Indexed Job for Parallel Processing with Static Work Assignment?

Answer: I n   t h i s   e x a m p l e ,   y o u   w i l l   r u n   a   K u b e r n e t e s   J o b   t h a t   u s e s   m u l t i p l e   p a r a l l e l   w o r k e r   p r o c e s s e s .   E a c h   w o r k e r   i s   a   d i f f e r e n t   c o n t a i n e r   r u n n i n g   i n   i t s   o w n   P o d .   T h e   P o d s   h a v e   a n   i n d e x   n u m b e r   t h a t   t h e   c o n t r o l   p l a n e   s e t s   a u t o m a t i c a l l y ,   w h i c h   a l l o w s   e a c h   P o d   t o   i d e n t i f y   w h i c h   p a r t   o f   t h e   o v e r a l l   t a s k   t o   w o r k   o n .   T h e   p o d   i n d e x   i s   a v a i l a b l e   i n   t h e   a n n o t a t i o n   b a t c h . k u b e r n e t e s . i o / j o b - c o m p l e t i o n - i n d e x   a s   a   s t r i n g   r e p r e s e n t i n g   i t s   d e c i m a l   v a l u e .   I n   o r d e r   f o r   t h e   c o n t a i n e r i z e d   t a s k   p r o c e s s   t o   o b t a i n   t h i s   i n d e x ,   y o u   c a n   p u b l i s h   t h e   v a l u e   o f   t h e   a n n o t a t i o n   u s i n g   t h e   d o w n w a r d   A P I   m e c h a n i s m .   F o r   c o n v e n i e n c e ,   t h e   c o n t r o l   p l a n e   a u t o m a t i c a l l y   s e t s   t h e   d o w n w a r d   A P I   t o   e x p o s e   t h e   i n d e x   i n   t h e   J O B _ C O M P L E T I O N _ I N D E X   e n v i r o n m e n t   v a r i a b l e .   H e r e   i s   a n   o v e r v i e w   o f   t h e   s t e p s   i n   t h i s   e x a m p l e :   D e f i n e   a   J o b   m a n i f e s t   u s i n g   i n d e x e d   c o m p l e t i o n .   T h e   d o w n w a r d   A P I   a l l o w s   y o u   t o   p a s s   t h e   p o d   i n d e x   a n n o t a t i o n   a s   a n   e n v i r o n m e n t   v a r i a b l e   o r   f i l e   t o   t h e   c o n t a i n e r . S t a r t   a n   I n d e x e d   J o b   b a s e d   o n   t h a t   m a n i f e s t .


Question: What is Before you begin?

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


Question: What is Choose an approach?

Answer: T o   a c c e s s   t h e   w o r k   i t e m   f r o m   t h e   w o r k e r   p r o g r a m ,   y o u   h a v e   a   f e w   o p t i o n s :   R e a d   t h e   J O B _ C O M P L E T I O N _ I N D E X   e n v i r o n m e n t   v a r i a b l e .   T h e   J o b   c o n t r o l l e r   a u t o m a t i c a l l y   l i n k s   t h i s   v a r i a b l e   t o   t h e   a n n o t a t i o n   c o n t a i n i n g   t h e   c o m p l e t i o n   i n d e x . R e a d   a   f i l e   t h a t   c o n t a i n s   t h e   c o m p l e t i o n   i n d e x . A s s u m i n g   t h a t   y o u   c a n ' t   m o d i f y   t h e   p r o g r a m ,   y o u   c a n   w r a p   i t   w i t h   a   s c r i p t   t h a t   r e a d s   t h e   i n d e x   u s i n g   a n y   o f   t h e   m e t h o d s   a b o v e   a n d   c o n v e r t s   i t   i n t o   s o m e t h i n g   t h a t   t h e   p r o g r a m   c a n   u s e   a s   i n p u t .   F o r   t h i s   e x a m p l e ,   i m a g i n e   t h a t   y o u   c h o s e   o p t i o n   3   a n d   y o u   w a n t   t o   r u n   t h e   r e v   u t i l i t y .   T h i s   p r o g r a m   a c c e p t s   a   f i l e   a s   a n   a r g u m e n t   a n d   p r i n t s   i t s   c o n t e n t   r e v e r s e d .   r e v   d a t a . t x t   Y o u ' l l   u s e   t h e   r e v   t o o l   f r o m   t h e   b u s y b o x   c o n t a i n e r   i m a g e .   A s   t h i s   i s   o n l y   a n   e x a m p l e ,   e a c h   P o d   o n l y   d o e s   a   t i n y   p i e c e   o f   w o r k   ( r e v e r s i n g   a   s h o r t   s t r i n g ) .   I n   a   r e a l   w o r k l o a d   y o u   m i g h t ,   f o r   e x a m p l e ,   c r e a t e   a   J o b   t h a t   r e p r e s e n t s   t h e   t a s k   o f   p r o d u c i n g   6 0   s e c o n d s   o f   v i d e o   b a s e d   o n   s c e n e   d a t a .   E a c h   w o r k   i t e m   i n   t h e   v i d e o   r e n d e r i n g   J o b   w o u l d   b e   t o   r e n d e r   a   p a r t i


Question: What is Define an Indexed Job?

Answer: H e r e   i s   a   s a m p l e   J o b   m a n i f e s t   t h a t   u s e s   I n d e x e d   c o m p l e t i o n   m o d e :   a p i V e r s i o n :   b a t c h / v 1   k i n d :   J o b   m e t a d a t a :   n a m e :   ' i n d e x e d - j o b '   s p e c :   c o m p l e t i o n s :   5   p a r a l l e l i s m :   3   c o m p l e t i o n M o d e :   I n d e x e d   t e m p l a t e :   s p e c :   r e s t a r t P o l i c y :   N e v e r   i n i t C o n t a i n e r s :   -   n a m e :   ' i n p u t '   i m a g e :   ' d o c k e r . i o / l i b r a r y / b a s h '   c o m m a n d :   -   " b a s h "   -   " - c "   -   |   i t e m s = ( f o o   b a r   b a z   q u x   x y z )   e c h o   $ { i t e m s [ $ J O B _ C O M P L E T I O N _ I N D E X ] }   >   / i n p u t / d a t a . t x t   v o l u m e M o u n t s :   -   m o u n t P a t h :   / i n p u t   n a m e :   i n p u t   c o n t a i n e r s :   -   n a m e :   ' w o r k e r '   i m a g e :   ' d o c k e r . i o / l i b r a r y / b u s y b o x '   c o m m a n d :   -   " r e v "   -   " / i n p u t / d a t a . t x t "   v o l u m e M o u n t s :   -   m o u n t P a t h :   / i n p u t   n a m e :   i n p u t   v o l u m e s :   -   n a m e :   i n p u t   e m p t y D i r :   { }   I n   t h e   e x a m p l e   a b o v e ,   y o u   u s e   t h e   b u i l t i n   J O B _ C O M P L E T I O N _ I N D E X   e n v i r o n m e n t   v a r i a b l e   s e t   b y   t h e   J o b   c o n t r o l l e r   f o r   a l l   c o n t a i n e r s .   A n   i n i t   c o n t a i n e r   m a p s   t h e   i n d e x   t o   a   s t a t i c   v a l u e   a n d   w r i t e s   i t   t o   a   f i l e   t h a t   i s   s h a r e d   w i t h   t h e   c o n t a i n e r   r u n n i n g   t h e   w o r k e r   t h r o u g h   a n   e m p t y D i r   v o l u m e .   O p t i o n a l l y ,   y o u   c a n   d e f i n e   y o u r   o w n   e n v i r o n m e n t   v a r i a b l e   t h r o u g h   t h e   d o w n w a r d   A P I   t o   p


Question: What is Running the Job?

Answer: N o w   r u n   t h e   J o b :   #   T h i s   u s e s   t h e   f i r s t   a p p r o a c h   ( r e l y i n g   o n   $ J O B _ C O M P L E T I O N _ I N D E X )   k u b e c t l   a p p l y   - f   h t t p s : / / k u b e r n e t e s . i o / e x a m p l e s / a p p l i c a t i o n / j o b / i n d e x e d - j o b . y a m l   W h e n   y o u   c r e a t e   t h i s   J o b ,   t h e   c o n t r o l   p l a n e   c r e a t e s   a   s e r i e s   o f   P o d s ,   o n e   f o r   e a c h   i n d e x   y o u   s p e c i f i e d .   T h e   v a l u e   o f   . s p e c . p a r a l l e l i s m   d e t e r m i n e s   h o w   m a n y   c a n   r u n   a t   o n c e   w h e r e a s   . s p e c . c o m p l e t i o n s   d e t e r m i n e s   h o w   m a n y   P o d s   t h e   J o b   c r e a t e s   i n   t o t a l .   B e c a u s e   . s p e c . p a r a l l e l i s m   i s   l e s s   t h a n   . s p e c . c o m p l e t i o n s ,   t h e   c o n t r o l   p l a n e   w a i t s   f o r   s o m e   o f   t h e   f i r s t   P o d s   t o   c o m p l e t e   b e f o r e   s t a r t i n g   m o r e   o f   t h e m .   Y o u   c a n   w a i t   f o r   t h e   J o b   t o   s u c c e e d ,   w i t h   a   t i m e o u t :   #   T h e   c h e c k   f o r   c o n d i t i o n   n a m e   i s   c a s e   i n s e n s i t i v e   k u b e c t l   w a i t   - - f o r = c o n d i t i o n = c o m p l e t e   - - t i m e o u t = 3 0 0 s   j o b / i n d e x e d - j o b   N o w ,   d e s c r i b e   t h e   J o b   a n d   c h e c k   t h a t   i t   w a s   s u c c e s s f u l .   k u b e c t l   d e s c r i b e   j o b s / i n d e x e d - j o b   T h e   o u t p u t   i s   s i m i l a r   t o :   N a m e :   i n d e x e d - j o b   N a m e s p a c e :   d e f a u l t   S e l e c t o r :   c o n t r o l l e r - u i d = b f 8 6 5 e 0 4 - 0 b 6 7 - 4 8 3 b - 9 a 9 0 - 7 4 c f c 4 c 3 e 7 5 6   L a b e l s :   c o n t r o l l e r - u i d = b f 8 6 5 e 0 4 - 0 b 6 7 - 4 8 3 b - 9 a 9 0 - 7 4