Question: How does StatefulSet work?

Answer: StatefulSetStatefulSet represents a set of pods with consistent identities.apiVersion: apps/v1import "k8s.io/api/apps/v1"StatefulSetStatefulSet represents a set of pods with consistent identities. Identities are defined as:Network: A single stable DNS and hostname.Storage: As many VolumeClaims as requested.The StatefulSet guarantees that a given network identity will always map to the same storage identity.apiVersion: apps/v1kind: StatefulSetmetadata (ObjectMeta)Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataspec (StatefulSetSpec)Spec defines the desired identities of pods in this set.status (StatefulSetStatus)Status is the current status of Pods in this StatefulSet. This data may be out of date by some window of time.StatefulSetSpecA StatefulSetSpec is the specification of a StatefulSet.serviceName (string)serviceName is the name of the service that governs this StatefulSet. This service must exist before the StatefulSet, and is responsible for the network identity of the set. Pods get DNS/hostnames that follow the pattern: pod-specific-string.serviceName.default.svc.cluster.local where "pod-specific-string" is managed by the StatefulSet controller.selector (LabelSelector), requiredselector is a label query over pods that should match the replica count. It must match the pod template's labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectorstemplate (PodTemplateSpec), requiredtemplate is the object that describes the pod that will be created if insufficient replicas are detected. Each pod stamped out by the StatefulSet will fulfill this Template, but have a unique identity from the rest of the StatefulSet. Each pod will be named with the format <statefulsetname>-<podindex>. For example, a pod in a StatefulSet named "web" with index number "3" would be named "web-3". The only allowed template.spec.restartPolicy value is "Always".replicas (int32)replicas is the desired number of replicas of the given Template. These are replicas in the sense that they are instantiations of the same Template, but individual replicas also have a consistent identity. If unspecified, defaults to 1.updateStrategy (StatefulSetUpdateStrategy)updateStrategy indicates the StatefulSetUpdateStrategy that will be employed to update Pods in the StatefulSet when a revision is made to Template.StatefulSetUpdateStrategy indicates the strategy that the StatefulSet controller will use to perform updates. It includes any additional parameters necessary to perform the update for the indicated strategy.updateStrategy.type (string)Type indicates the type of the StatefulSetUpdateStrategy. Default is RollingUpdate.updateStrategy.rollingUpdate (RollingUpdateStatefulSetStrategy)RollingUpdate is used to communicate parameters when Type is RollingUpdateStatefulSetStrategyType.RollingUpdateStatefulSetStrategy is used to communicate parameter for RollingUpdate


Question: When would you use StatefulSet?

Answer: StatefulSetStatefulSet represents a set of pods with consistent identities.apiVersion: apps/v1import "k8s.io/api/apps/v1"StatefulSetStatefulSet represents a set of pods with consistent identities. Identities are defined as:Network: A single stable DNS and hostname.Storage: As many VolumeClaims as requested.The StatefulSet guarantees that a given network identity will always map to the same storage identity.apiVersion: apps/v1kind: StatefulSetmetadata (ObjectMeta)Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataspec (StatefulSetSpec)Spec defines the desired identities of pods in this set.status (StatefulSetStatus)Status is the current status of Pods in this StatefulSet. This data may be out of date by some window of time.StatefulSetSpecA StatefulSetSpec is the specification of a StatefulSet.serviceName (string)serviceName is the name of the service that governs this StatefulSet. This service must exist before the StatefulSet, and is responsible for the network identity of the set. Pods get DNS/hostnames that follow the pattern: pod-specific-string.serviceName.default.svc.cluster.local where "pod-specific-string" is managed by the StatefulSet controller.selector (LabelSelector), requiredselector is a label query over pods that should match the replica count. It must match the pod template's labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectorstemplate (PodTemplateSpec), requiredtemplate is the object that describes the pod that will be created if insufficient replicas are detected. Each pod stamped out by the StatefulSet will fulfill this Template, but have a unique identity from the rest of the StatefulSet. Each pod will be named with the format <statefulsetname>-<podindex>. For example, a pod in a StatefulSet named "web" with index number "3" would be named "web-3". The only allowed template.spec.restartPolicy value is "Always".replicas (int32)replicas is the desired number of replicas of the given Template. These are replicas in the sense that they are instantiations of the same Template, but individual replicas also have a consistent identity. If unspecified, defaults to 1.updateStrategy (StatefulSetUpdateStrategy)updateStrategy indicates the StatefulSetUpdateStrategy that will be employed to update Pods in the StatefulSet when a revision is made to Template.StatefulSetUpdateStrategy indicates the strategy that the StatefulSet controller will use to perform updates. It includes any additional parameters necessary to perform the update for the indicated strategy.updateStrategy.type (string)Type indicates the type of the StatefulSetUpdateStrategy. Default is RollingUpdate.updateStrategy.rollingUpdate (RollingUpdateStatefulSetStrategy)RollingUpdate is used to communicate parameters when Type is RollingUpdateStatefulSetStrategyType.RollingUpdateStatefulSetStrategy is used to communicate parameter for RollingUpdate


Question: What are the benefits of StatefulSet?

Answer: StatefulSetStatefulSet represents a set of pods with consistent identities.apiVersion: apps/v1import "k8s.io/api/apps/v1"StatefulSetStatefulSet represents a set of pods with consistent identities. Identities are defined as:Network: A single stable DNS and hostname.Storage: As many VolumeClaims as requested.The StatefulSet guarantees that a given network identity will always map to the same storage identity.apiVersion: apps/v1kind: StatefulSetmetadata (ObjectMeta)Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataspec (StatefulSetSpec)Spec defines the desired identities of pods in this set.status (StatefulSetStatus)Status is the current status of Pods in this StatefulSet. This data may be out of date by some window of time.StatefulSetSpecA StatefulSetSpec is the specification of a StatefulSet.serviceName (string)serviceName is the name of the service that governs this StatefulSet. This service must exist before the StatefulSet, and is responsible for the network identity of the set. Pods get DNS/hostnames that follow the pattern: pod-specific-string.serviceName.default.svc.cluster.local where "pod-specific-string" is managed by the StatefulSet controller.selector (LabelSelector), requiredselector is a label query over pods that should match the replica count. It must match the pod template's labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectorstemplate (PodTemplateSpec), requiredtemplate is the object that describes the pod that will be created if insufficient replicas are detected. Each pod stamped out by the StatefulSet will fulfill this Template, but have a unique identity from the rest of the StatefulSet. Each pod will be named with the format <statefulsetname>-<podindex>. For example, a pod in a StatefulSet named "web" with index number "3" would be named "web-3". The only allowed template.spec.restartPolicy value is "Always".replicas (int32)replicas is the desired number of replicas of the given Template. These are replicas in the sense that they are instantiations of the same Template, but individual replicas also have a consistent identity. If unspecified, defaults to 1.updateStrategy (StatefulSetUpdateStrategy)updateStrategy indicates the StatefulSetUpdateStrategy that will be employed to update Pods in the StatefulSet when a revision is made to Template.StatefulSetUpdateStrategy indicates the strategy that the StatefulSet controller will use to perform updates. It includes any additional parameters necessary to perform the update for the indicated strategy.updateStrategy.type (string)Type indicates the type of the StatefulSetUpdateStrategy. Default is RollingUpdate.updateStrategy.rollingUpdate (RollingUpdateStatefulSetStrategy)RollingUpdate is used to communicate parameters when Type is RollingUpdateStatefulSetStrategyType.RollingUpdateStatefulSetStrategy is used to communicate parameter for RollingUpdate


Question: What is StatefulSet?

Answer: a p i V e r s i o n :   a p p s / v 1   i m p o r t   " k 8 s . i o / a p i / a p p s / v 1 "


Question: What is StatefulSet?

Answer: S t a t e f u l S e t   r e p r e s e n t s   a   s e t   o f   p o d s   w i t h   c o n s i s t e n t   i d e n t i t i e s .   I d e n t i t i e s   a r e   d e f i n e d   a s :   N e t w o r k :   A   s i n g l e   s t a b l e   D N S   a n d   h o s t n a m e . S t o r a g e :   A s   m a n y   V o l u m e C l a i m s   a s   r e q u e s t e d .   T h e   S t a t e f u l S e t   g u a r a n t e e s   t h a t   a   g i v e n   n e t w o r k   i d e n t i t y   w i l l   a l w a y s   m a p   t o   t h e   s a m e   s t o r a g e   i d e n t i t y .   a p i V e r s i o n :   a p p s / v 1 k i n d :   S t a t e f u l S e t m e t a d a t a   ( O b j e c t M e t a ) S t a n d a r d   o b j e c t ' s   m e t a d a t a .   M o r e   i n f o :   h t t p s : / / g i t . k 8 s . i o / c o m m u n i t y / c o n t r i b u t o r s / d e v e l / s i g - a r c h i t e c t u r e / a p i - c o n v e n t i o n s . m d # m e t a d a t a s p e c   ( S t a t e f u l S e t S p e c ) S p e c   d e f i n e s   t h e   d e s i r e d   i d e n t i t i e s   o f   p o d s   i n   t h i s   s e t . s t a t u s   ( S t a t e f u l S e t S t a t u s ) S t a t u s   i s   t h e   c u r r e n t   s t a t u s   o f   P o d s   i n   t h i s   S t a t e f u l S e t .   T h i s   d a t a   m a y   b e   o u t   o f   d a t e   b y   s o m e   w i n d o w   o f   t i m e .   a p i V e r s i o n :   a p p s / v 1   k i n d :   S t a t e f u l S e t   m e t a d a t a   ( O b j e c t M e t a )   S t a n d a r d   o b j e c t ' s   m e t a d a t a .   M o r e   i n f o :   h t t p s : / / g i t . k 8 s . i o / c o m m u n i t y / c o n t r i b u t o r s / d e v e l / s i g - a r c h i t e c t u r e / a p i - c o n v e n t i o n s . m d # m e t a d a t a   s p e c   ( S t a t e f u l S e t S p e c )   S p e c   d e f i n e s   t h e   d e s i r e d   i d e n t i t i e s   o f   p o d s   i n   t h i s   s e t .   s t a t u s   ( S t a t e f u l S e t S t a t u s )   S t a t u s   i s   t h e   c u r


Question: What is StatefulSetSpec?

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


Question: What is StatefulSetStatus?

Answer: S t a t e f u l S e t S t a t u s   r e p r e s e n t s   t h e   c u r r e n t   s t a t e   o f   a   S t a t e f u l S e t .   r e p l i c a s   ( i n t 3 2 ) ,   r e q u i r e d r e p l i c a s   i s   t h e   n u m b e r   o f   P o d s   c r e a t e d   b y   t h e   S t a t e f u l S e t   c o n t r o l l e r . r e a d y R e p l i c a s   ( i n t 3 2 ) r e a d y R e p l i c a s   i s   t h e   n u m b e r   o f   p o d s   c r e a t e d   f o r   t h i s   S t a t e f u l S e t   w i t h   a   R e a d y   C o n d i t i o n . c u r r e n t R e p l i c a s   ( i n t 3 2 ) c u r r e n t R e p l i c a s   i s   t h e   n u m b e r   o f   P o d s   c r e a t e d   b y   t h e   S t a t e f u l S e t   c o n t r o l l e r   f r o m   t h e   S t a t e f u l S e t   v e r s i o n   i n d i c a t e d   b y   c u r r e n t R e v i s i o n . u p d a t e d R e p l i c a s   ( i n t 3 2 ) u p d a t e d R e p l i c a s   i s   t h e   n u m b e r   o f   P o d s   c r e a t e d   b y   t h e   S t a t e f u l S e t   c o n t r o l l e r   f r o m   t h e   S t a t e f u l S e t   v e r s i o n   i n d i c a t e d   b y   u p d a t e R e v i s i o n . a v a i l a b l e R e p l i c a s   ( i n t 3 2 ) T o t a l   n u m b e r   o f   a v a i l a b l e   p o d s   ( r e a d y   f o r   a t   l e a s t   m i n R e a d y S e c o n d s )   t a r g e t e d   b y   t h i s   s t a t e f u l s e t . c o l l i s i o n C o u n t   ( i n t 3 2 ) c o l l i s i o n C o u n t   i s   t h e   c o u n t   o f   h a s h   c o l l i s i o n s   f o r   t h e   S t a t e f u l S e t .   T h e   S t a t e f u l S e t   c o n t r o l l e r   u s e s   t h i s   f i e l d   a s   a   c o l l i s i o n   a v o i d a n c e   m e c h a n i s m   w h e n   i t   n e e d s   t o   c r e a t e   t h e   n a m e   f o r   t h e   n e w e s t   C o n t r o l l e r R e v i s i o n . c o n d i t i o n s   ( [ ] S t a t e f u l S e t C o n d i t i o n ) P a t c h   s t r a t e g y :   m e r g e   o n   k


Question: What is StatefulSetList?

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


Question: What is HTTP Request?

Answer: G E T   / a p i s / a p p s / v 1 / n a m e s p a c e s / { n a m e s p a c e } / s t a t e f u l s e t s / { n a m e }


Question: What is Parameters?

Answer: n a m e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d n a m e   o f   t h e   S t a t e f u l S e t n a m e s p a c e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d n a m e s p a c e p r e t t y   ( i n   q u e r y ) :   s t r i n g p r e t t y   n a m e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d   n a m e   o f   t h e   S t a t e f u l S e t   n a m e s p a c e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d   n a m e s p a c e   p r e t t y   ( i n   q u e r y ) :   s t r i n g   p r e t t y


Question: What is Response?

Answer: 2 0 0   ( S t a t e f u l S e t ) :   O K   4 0 1 :   U n a u t h o r i z e d


Question: What is HTTP Request?

Answer: G E T   / a p i s / a p p s / v 1 / n a m e s p a c e s / { n a m e s p a c e } / s t a t e f u l s e t s / { n a m e } / s t a t u s


Question: What is Parameters?

Answer: n a m e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d n a m e   o f   t h e   S t a t e f u l S e t n a m e s p a c e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d n a m e s p a c e p r e t t y   ( i n   q u e r y ) :   s t r i n g p r e t t y   n a m e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d   n a m e   o f   t h e   S t a t e f u l S e t   n a m e s p a c e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d   n a m e s p a c e   p r e t t y   ( i n   q u e r y ) :   s t r i n g   p r e t t y


Question: What is Response?

Answer: 2 0 0   ( S t a t e f u l S e t ) :   O K   4 0 1 :   U n a u t h o r i z e d


Question: What is HTTP Request?

Answer: G E T   / a p i s / a p p s / v 1 / n a m e s p a c e s / { n a m e s p a c e } / s t a t e f u l s e t s


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: G E T   / a p i s / a p p s / v 1 / s t a t e f u l s e t s


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: P O S T   / a p i s / a p p s / v 1 / n a m e s p a c e s / { n a m e s p a c e } / s t a t e f u l s e t s


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: P U T   / a p i s / a p p s / v 1 / n a m e s p a c e s / { n a m e s p a c e } / s t a t e f u l s e t s / { n a m e }


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: P U T   / a p i s / a p p s / v 1 / n a m e s p a c e s / { n a m e s p a c e } / s t a t e f u l s e t s / { n a m e } / s t a t u s


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: P A T C H   / a p i s / a p p s / v 1 / n a m e s p a c e s / { n a m e s p a c e } / s t a t e f u l s e t s / { n a m e }


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: P A T C H   / a p i s / a p p s / v 1 / n a m e s p a c e s / { n a m e s p a c e } / s t a t e f u l s e t s / { n a m e } / s t a t u s


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: D E L E T E   / a p i s / a p p s / v 1 / n a m e s p a c e s / { n a m e s p a c e } / s t a t e f u l s e t s / { n a m e }


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: D E L E T E   / a p i s / a p p s / v 1 / n a m e s p a c e s / { n a m e s p a c e } / s t a t e f u l s e t s


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is Explore Termination Behavior for Pods And Their Endpoints?

Answer: Explore Termination Behavior for Pods And Their EndpointsOnce you connected your Application with Service following steps like those outlined in Connecting Applications with Services, you have a continuously running, replicated application, that is exposed on a network. This tutorial helps you look at the termination flow for Pods and to explore ways to implement graceful connection draining.Termination process for Pods and their endpointsThere are often cases when you need to terminate a Pod - be it to upgrade or scale down. In order to improve application availability, it may be important to implement a proper active connections draining.This tutorial explains the flow of Pod termination in connection with the corresponding endpoint state and removal by using a simple nginx web server to demonstrate the concept.Example flow with endpoint terminationThe following is the example flow described in the Termination of Pods document.Let's say you have a Deployment containing a single nginx replica (say just for the sake of demonstration purposes) and a Service:service/pod-with-graceful-termination.yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: terminationGracePeriodSeconds: 120 # extra long grace period containers: - name: nginx image: nginx:latest ports: - containerPort: 80 lifecycle: preStop: exec: # Real life termination may take any time up to terminationGracePeriodSeconds. # In this example - just hang around for at least the duration of terminationGracePeriodSeconds, # at 120 seconds container will be forcibly terminated. # Note, all this time nginx will keep processing requests. command: [ "/bin/sh", "-c", "sleep 180" ] service/explore-graceful-termination-nginx.yaml apiVersion: v1 kind: Service metadata: name: nginx-service spec: selector: app: nginx ports: - protocol: TCP port: 80 targetPort: 80Now create the Deployment Pod and Service using the above files:kubectl apply -f pod-with-graceful-termination.yaml kubectl apply -f explore-graceful-termination-nginx.yaml Once the Pod and Service are running, you can get the name of any associated EndpointSlices:kubectl get endpointslice The output is similar to this:NAME ADDRESSTYPE PORTS ENDPOINTS AGE nginx-service-6tjbr IPv4 80 10.12.1.199,10.12.1.201 22m You can see its status, and validate that there is one endpoint registered:kubectl get endpointslices -o json -l kubernetes.io/service-name=nginx-service The output is similar to this:{ "addressType": "IPv4", "apiVersion": "discovery.k8s.io/v1", "endpoints": [ { "addresses": [ "10.12.1.201" ], "conditions": { "ready": true, "serving": true, "terminating": false Now let's terminate the Pod and validate that the Pod is being terminated respecting the graceful termination period configuration:kubectl delete pod nginx-deployment-7768647bf9-b4b9s All pods:kubectl get pods The output is similar to this:NAME RE


Question: How does Explore Termination Behavior for Pods And Their Endpoints work?

Answer: Explore Termination Behavior for Pods And Their EndpointsOnce you connected your Application with Service following steps like those outlined in Connecting Applications with Services, you have a continuously running, replicated application, that is exposed on a network. This tutorial helps you look at the termination flow for Pods and to explore ways to implement graceful connection draining.Termination process for Pods and their endpointsThere are often cases when you need to terminate a Pod - be it to upgrade or scale down. In order to improve application availability, it may be important to implement a proper active connections draining.This tutorial explains the flow of Pod termination in connection with the corresponding endpoint state and removal by using a simple nginx web server to demonstrate the concept.Example flow with endpoint terminationThe following is the example flow described in the Termination of Pods document.Let's say you have a Deployment containing a single nginx replica (say just for the sake of demonstration purposes) and a Service:service/pod-with-graceful-termination.yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: terminationGracePeriodSeconds: 120 # extra long grace period containers: - name: nginx image: nginx:latest ports: - containerPort: 80 lifecycle: preStop: exec: # Real life termination may take any time up to terminationGracePeriodSeconds. # In this example - just hang around for at least the duration of terminationGracePeriodSeconds, # at 120 seconds container will be forcibly terminated. # Note, all this time nginx will keep processing requests. command: [ "/bin/sh", "-c", "sleep 180" ] service/explore-graceful-termination-nginx.yaml apiVersion: v1 kind: Service metadata: name: nginx-service spec: selector: app: nginx ports: - protocol: TCP port: 80 targetPort: 80Now create the Deployment Pod and Service using the above files:kubectl apply -f pod-with-graceful-termination.yaml kubectl apply -f explore-graceful-termination-nginx.yaml Once the Pod and Service are running, you can get the name of any associated EndpointSlices:kubectl get endpointslice The output is similar to this:NAME ADDRESSTYPE PORTS ENDPOINTS AGE nginx-service-6tjbr IPv4 80 10.12.1.199,10.12.1.201 22m You can see its status, and validate that there is one endpoint registered:kubectl get endpointslices -o json -l kubernetes.io/service-name=nginx-service The output is similar to this:{ "addressType": "IPv4", "apiVersion": "discovery.k8s.io/v1", "endpoints": [ { "addresses": [ "10.12.1.201" ], "conditions": { "ready": true, "serving": true, "terminating": false Now let's terminate the Pod and validate that the Pod is being terminated respecting the graceful termination period configuration:kubectl delete pod nginx-deployment-7768647bf9-b4b9s All pods:kubectl get pods The output is similar to this:NAME RE


Question: When would you use Explore Termination Behavior for Pods And Their Endpoints?

Answer: Explore Termination Behavior for Pods And Their EndpointsOnce you connected your Application with Service following steps like those outlined in Connecting Applications with Services, you have a continuously running, replicated application, that is exposed on a network. This tutorial helps you look at the termination flow for Pods and to explore ways to implement graceful connection draining.Termination process for Pods and their endpointsThere are often cases when you need to terminate a Pod - be it to upgrade or scale down. In order to improve application availability, it may be important to implement a proper active connections draining.This tutorial explains the flow of Pod termination in connection with the corresponding endpoint state and removal by using a simple nginx web server to demonstrate the concept.Example flow with endpoint terminationThe following is the example flow described in the Termination of Pods document.Let's say you have a Deployment containing a single nginx replica (say just for the sake of demonstration purposes) and a Service:service/pod-with-graceful-termination.yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: terminationGracePeriodSeconds: 120 # extra long grace period containers: - name: nginx image: nginx:latest ports: - containerPort: 80 lifecycle: preStop: exec: # Real life termination may take any time up to terminationGracePeriodSeconds. # In this example - just hang around for at least the duration of terminationGracePeriodSeconds, # at 120 seconds container will be forcibly terminated. # Note, all this time nginx will keep processing requests. command: [ "/bin/sh", "-c", "sleep 180" ] service/explore-graceful-termination-nginx.yaml apiVersion: v1 kind: Service metadata: name: nginx-service spec: selector: app: nginx ports: - protocol: TCP port: 80 targetPort: 80Now create the Deployment Pod and Service using the above files:kubectl apply -f pod-with-graceful-termination.yaml kubectl apply -f explore-graceful-termination-nginx.yaml Once the Pod and Service are running, you can get the name of any associated EndpointSlices:kubectl get endpointslice The output is similar to this:NAME ADDRESSTYPE PORTS ENDPOINTS AGE nginx-service-6tjbr IPv4 80 10.12.1.199,10.12.1.201 22m You can see its status, and validate that there is one endpoint registered:kubectl get endpointslices -o json -l kubernetes.io/service-name=nginx-service The output is similar to this:{ "addressType": "IPv4", "apiVersion": "discovery.k8s.io/v1", "endpoints": [ { "addresses": [ "10.12.1.201" ], "conditions": { "ready": true, "serving": true, "terminating": false Now let's terminate the Pod and validate that the Pod is being terminated respecting the graceful termination period configuration:kubectl delete pod nginx-deployment-7768647bf9-b4b9s All pods:kubectl get pods The output is similar to this:NAME RE


Question: What are the benefits of Explore Termination Behavior for Pods And Their Endpoints?

Answer: Explore Termination Behavior for Pods And Their EndpointsOnce you connected your Application with Service following steps like those outlined in Connecting Applications with Services, you have a continuously running, replicated application, that is exposed on a network. This tutorial helps you look at the termination flow for Pods and to explore ways to implement graceful connection draining.Termination process for Pods and their endpointsThere are often cases when you need to terminate a Pod - be it to upgrade or scale down. In order to improve application availability, it may be important to implement a proper active connections draining.This tutorial explains the flow of Pod termination in connection with the corresponding endpoint state and removal by using a simple nginx web server to demonstrate the concept.Example flow with endpoint terminationThe following is the example flow described in the Termination of Pods document.Let's say you have a Deployment containing a single nginx replica (say just for the sake of demonstration purposes) and a Service:service/pod-with-graceful-termination.yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: terminationGracePeriodSeconds: 120 # extra long grace period containers: - name: nginx image: nginx:latest ports: - containerPort: 80 lifecycle: preStop: exec: # Real life termination may take any time up to terminationGracePeriodSeconds. # In this example - just hang around for at least the duration of terminationGracePeriodSeconds, # at 120 seconds container will be forcibly terminated. # Note, all this time nginx will keep processing requests. command: [ "/bin/sh", "-c", "sleep 180" ] service/explore-graceful-termination-nginx.yaml apiVersion: v1 kind: Service metadata: name: nginx-service spec: selector: app: nginx ports: - protocol: TCP port: 80 targetPort: 80Now create the Deployment Pod and Service using the above files:kubectl apply -f pod-with-graceful-termination.yaml kubectl apply -f explore-graceful-termination-nginx.yaml Once the Pod and Service are running, you can get the name of any associated EndpointSlices:kubectl get endpointslice The output is similar to this:NAME ADDRESSTYPE PORTS ENDPOINTS AGE nginx-service-6tjbr IPv4 80 10.12.1.199,10.12.1.201 22m You can see its status, and validate that there is one endpoint registered:kubectl get endpointslices -o json -l kubernetes.io/service-name=nginx-service The output is similar to this:{ "addressType": "IPv4", "apiVersion": "discovery.k8s.io/v1", "endpoints": [ { "addresses": [ "10.12.1.201" ], "conditions": { "ready": true, "serving": true, "terminating": false Now let's terminate the Pod and validate that the Pod is being terminated respecting the graceful termination period configuration:kubectl delete pod nginx-deployment-7768647bf9-b4b9s All pods:kubectl get pods The output is similar to this:NAME RE


Question: What is Explore Termination Behavior for Pods And Their Endpoints?

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


Question: What is Termination process for Pods and their endpoints?

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


Question: What is Example flow with endpoint termination?

Answer: T h e   f o l l o w i n g   i s   t h e   e x a m p l e   f l o w   d e s c r i b e d   i n   t h e   T e r m i n a t i o n   o f   P o d s   d o c u m e n t .   L e t ' s   s a y   y o u   h a v e   a   D e p l o y m e n t   c o n t a i n i n g   a   s i n g l e   n g i n x   r e p l i c a   ( s a y   j u s t   f o r   t h e   s a k e   o f   d e m o n s t r a t i o n   p u r p o s e s )   a n d   a   S e r v i c e :   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 :   n g i n x - d e p l o y m e n t   l a b e l s :   a p p :   n g i n x   s p e c :   r e p l i c a s :   1   s e l e c t o r :   m a t c h L a b e l s :   a p p :   n g i n x   t e m p l a t e :   m e t a d a t a :   l a b e l s :   a p p :   n g i n x   s p e c :   t e r m i n a t i o n G r a c e P e r i o d S e c o n d s :   1 2 0   #   e x t r a   l o n g   g r a c e   p e r i o d   c o n t a i n e r s :   -   n a m e :   n g i n x   i m a g e :   n g i n x : l a t e s t   p o r t s :   -   c o n t a i n e r P o r t :   8 0   l i f e c y c l e :   p r e S t o p :   e x e c :   #   R e a l   l i f e   t e r m i n a t i o n   m a y   t a k e   a n y   t i m e   u p   t o   t e r m i n a t i o n G r a c e P e r i o d S e c o n d s .   #   I n   t h i s   e x a m p l e   -   j u s t   h a n g   a r o u n d   f o r   a t   l e a s t   t h e   d u r a t i o n   o f   t e r m i n a t i o n G r a c e P e r i o d S e c o n d s ,   #   a t   1 2 0   s e c o n d s   c o n t a i n e r   w i l l   b e   f o r c i b l y   t e r m i n a t e d .   #   N o t e ,   a l l   t h i s   t i m e   n g i n x   w i l l   k e e p   p r o c e s s i n g   r e q u e s t s .   c o m m a n d :   [   " / b i n / s h " ,   " - c " ,   " s l e e p   1 8 0 "   ]   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 :   n g i n x - s e r v i c e   s p e c :   s e l e c t o r :   a p p :   n g i n x   p o r t s :   -   p r o t o c o l :   T C P


Question: What is What's next?

Answer: L e a r n   h o w   t o   C o n n e c t   A p p l i c a t i o n s   w i t h   S e r v i c e s L e a r n   m o r e   a b o u t   U s i n g   a   S e r v i c e   t o   A c c e s s   a n   A p p l i c a t i o n   i n   a   C l u s t e r L e a r n   m o r e   a b o u t   C o n n e c t i n g   a   F r o n t   E n d   t o   a   B a c k   E n d   U s i n g   a   S e r v i c e L e a r n   m o r e   a b o u t   C r e a t i n g   a n   E x t e r n a l   L o a d   B a l a n c e r


Question: What is Command line tool (kubectl)?

Answer: Command line tool (kubectl)Kubernetes provides a command line tool for communicating with a Kubernetes cluster's control plane, using the Kubernetes API.This tool is named kubectl.For configuration, kubectl looks for a file named config in the $HOME/.kube directory. You can specify other kubeconfig files by setting the KUBECONFIG environment variable or by setting the --kubeconfig flag.This overview covers kubectl syntax, describes the command operations, and provides common examples. For details about each command, including all the supported flags and subcommands, see the kubectl reference documentation.For installation instructions, see Installing kubectl; for a quick guide, see the cheat sheet. If you're used to using the docker command-line tool, kubectl for Docker Users explains some equivalent commands for Kubernetes.SyntaxUse the following syntax to run kubectl commands from your terminal window:kubectl [command] [TYPE] [NAME] [flags] where command, TYPE, NAME, and flags are:command: Specifies the operation that you want to perform on one or more resources, for example create, get, describe, delete.TYPE: Specifies the resource type. Resource types are case-insensitive and you can specify the singular, plural, or abbreviated forms. For example, the following commands produce the same output:kubectl get pod pod1 kubectl get pods pod1 kubectl get po pod1 NAME: Specifies the name of the resource. Names are case-sensitive. If the name is omitted, details for all resources are displayed, for example kubectl get pods.When performing an operation on multiple resources, you can specify each resource by type and name or specify one or more files:To specify resources by type and name:To group resources if they are all the same type: TYPE1 name1 name2 name<#>.Example: kubectl get pod example-pod1 example-pod2To specify multiple resource types individually: TYPE1/name1 TYPE1/name2 TYPE2/name3 TYPE<#>/name<#>.Example: kubectl get pod/example-pod1 replicationcontroller/example-rc1To specify resources with one or more files: -f file1 -f file2 -f file<#>Use YAML rather than JSON since YAML tends to be more user-friendly, especially for configuration files.Example: kubectl get -f ./pod.yamlflags: Specifies optional flags. For example, you can use the -s or --server flags to specify the address and port of the Kubernetes API server.Caution:Flags that you specify from the command line override default values and any corresponding environment variables.If you need help, run kubectl help from the terminal window.In-cluster authentication and namespace overridesBy default kubectl will first determine if it is running within a pod, and thus in a cluster. It starts by checking for the KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT environment variables and the existence of a service account token file at /var/run/secrets/kubernetes.io/serviceaccount/token. If all three are found in-cluster authentication is assumed.To maintain backwards compatibility, if the


Question: How does Command line tool (kubectl) work?

Answer: Command line tool (kubectl)Kubernetes provides a command line tool for communicating with a Kubernetes cluster's control plane, using the Kubernetes API.This tool is named kubectl.For configuration, kubectl looks for a file named config in the $HOME/.kube directory. You can specify other kubeconfig files by setting the KUBECONFIG environment variable or by setting the --kubeconfig flag.This overview covers kubectl syntax, describes the command operations, and provides common examples. For details about each command, including all the supported flags and subcommands, see the kubectl reference documentation.For installation instructions, see Installing kubectl; for a quick guide, see the cheat sheet. If you're used to using the docker command-line tool, kubectl for Docker Users explains some equivalent commands for Kubernetes.SyntaxUse the following syntax to run kubectl commands from your terminal window:kubectl [command] [TYPE] [NAME] [flags] where command, TYPE, NAME, and flags are:command: Specifies the operation that you want to perform on one or more resources, for example create, get, describe, delete.TYPE: Specifies the resource type. Resource types are case-insensitive and you can specify the singular, plural, or abbreviated forms. For example, the following commands produce the same output:kubectl get pod pod1 kubectl get pods pod1 kubectl get po pod1 NAME: Specifies the name of the resource. Names are case-sensitive. If the name is omitted, details for all resources are displayed, for example kubectl get pods.When performing an operation on multiple resources, you can specify each resource by type and name or specify one or more files:To specify resources by type and name:To group resources if they are all the same type: TYPE1 name1 name2 name<#>.Example: kubectl get pod example-pod1 example-pod2To specify multiple resource types individually: TYPE1/name1 TYPE1/name2 TYPE2/name3 TYPE<#>/name<#>.Example: kubectl get pod/example-pod1 replicationcontroller/example-rc1To specify resources with one or more files: -f file1 -f file2 -f file<#>Use YAML rather than JSON since YAML tends to be more user-friendly, especially for configuration files.Example: kubectl get -f ./pod.yamlflags: Specifies optional flags. For example, you can use the -s or --server flags to specify the address and port of the Kubernetes API server.Caution:Flags that you specify from the command line override default values and any corresponding environment variables.If you need help, run kubectl help from the terminal window.In-cluster authentication and namespace overridesBy default kubectl will first determine if it is running within a pod, and thus in a cluster. It starts by checking for the KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT environment variables and the existence of a service account token file at /var/run/secrets/kubernetes.io/serviceaccount/token. If all three are found in-cluster authentication is assumed.To maintain backwards compatibility, if the


Question: When would you use Command line tool (kubectl)?

Answer: Command line tool (kubectl)Kubernetes provides a command line tool for communicating with a Kubernetes cluster's control plane, using the Kubernetes API.This tool is named kubectl.For configuration, kubectl looks for a file named config in the $HOME/.kube directory. You can specify other kubeconfig files by setting the KUBECONFIG environment variable or by setting the --kubeconfig flag.This overview covers kubectl syntax, describes the command operations, and provides common examples. For details about each command, including all the supported flags and subcommands, see the kubectl reference documentation.For installation instructions, see Installing kubectl; for a quick guide, see the cheat sheet. If you're used to using the docker command-line tool, kubectl for Docker Users explains some equivalent commands for Kubernetes.SyntaxUse the following syntax to run kubectl commands from your terminal window:kubectl [command] [TYPE] [NAME] [flags] where command, TYPE, NAME, and flags are:command: Specifies the operation that you want to perform on one or more resources, for example create, get, describe, delete.TYPE: Specifies the resource type. Resource types are case-insensitive and you can specify the singular, plural, or abbreviated forms. For example, the following commands produce the same output:kubectl get pod pod1 kubectl get pods pod1 kubectl get po pod1 NAME: Specifies the name of the resource. Names are case-sensitive. If the name is omitted, details for all resources are displayed, for example kubectl get pods.When performing an operation on multiple resources, you can specify each resource by type and name or specify one or more files:To specify resources by type and name:To group resources if they are all the same type: TYPE1 name1 name2 name<#>.Example: kubectl get pod example-pod1 example-pod2To specify multiple resource types individually: TYPE1/name1 TYPE1/name2 TYPE2/name3 TYPE<#>/name<#>.Example: kubectl get pod/example-pod1 replicationcontroller/example-rc1To specify resources with one or more files: -f file1 -f file2 -f file<#>Use YAML rather than JSON since YAML tends to be more user-friendly, especially for configuration files.Example: kubectl get -f ./pod.yamlflags: Specifies optional flags. For example, you can use the -s or --server flags to specify the address and port of the Kubernetes API server.Caution:Flags that you specify from the command line override default values and any corresponding environment variables.If you need help, run kubectl help from the terminal window.In-cluster authentication and namespace overridesBy default kubectl will first determine if it is running within a pod, and thus in a cluster. It starts by checking for the KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT environment variables and the existence of a service account token file at /var/run/secrets/kubernetes.io/serviceaccount/token. If all three are found in-cluster authentication is assumed.To maintain backwards compatibility, if the


Question: What are the benefits of Command line tool (kubectl)?

Answer: Command line tool (kubectl)Kubernetes provides a command line tool for communicating with a Kubernetes cluster's control plane, using the Kubernetes API.This tool is named kubectl.For configuration, kubectl looks for a file named config in the $HOME/.kube directory. You can specify other kubeconfig files by setting the KUBECONFIG environment variable or by setting the --kubeconfig flag.This overview covers kubectl syntax, describes the command operations, and provides common examples. For details about each command, including all the supported flags and subcommands, see the kubectl reference documentation.For installation instructions, see Installing kubectl; for a quick guide, see the cheat sheet. If you're used to using the docker command-line tool, kubectl for Docker Users explains some equivalent commands for Kubernetes.SyntaxUse the following syntax to run kubectl commands from your terminal window:kubectl [command] [TYPE] [NAME] [flags] where command, TYPE, NAME, and flags are:command: Specifies the operation that you want to perform on one or more resources, for example create, get, describe, delete.TYPE: Specifies the resource type. Resource types are case-insensitive and you can specify the singular, plural, or abbreviated forms. For example, the following commands produce the same output:kubectl get pod pod1 kubectl get pods pod1 kubectl get po pod1 NAME: Specifies the name of the resource. Names are case-sensitive. If the name is omitted, details for all resources are displayed, for example kubectl get pods.When performing an operation on multiple resources, you can specify each resource by type and name or specify one or more files:To specify resources by type and name:To group resources if they are all the same type: TYPE1 name1 name2 name<#>.Example: kubectl get pod example-pod1 example-pod2To specify multiple resource types individually: TYPE1/name1 TYPE1/name2 TYPE2/name3 TYPE<#>/name<#>.Example: kubectl get pod/example-pod1 replicationcontroller/example-rc1To specify resources with one or more files: -f file1 -f file2 -f file<#>Use YAML rather than JSON since YAML tends to be more user-friendly, especially for configuration files.Example: kubectl get -f ./pod.yamlflags: Specifies optional flags. For example, you can use the -s or --server flags to specify the address and port of the Kubernetes API server.Caution:Flags that you specify from the command line override default values and any corresponding environment variables.If you need help, run kubectl help from the terminal window.In-cluster authentication and namespace overridesBy default kubectl will first determine if it is running within a pod, and thus in a cluster. It starts by checking for the KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT environment variables and the existence of a service account token file at /var/run/secrets/kubernetes.io/serviceaccount/token. If all three are found in-cluster authentication is assumed.To maintain backwards compatibility, if the


Question: What is Command line tool (kubectl)?

Answer: K u b e r n e t e s   p r o v i d e s   a   c o m m a n d   l i n e   t o o l   f o r   c o m m u n i c a t i n g   w i t h   a   K u b e r n e t e s   c l u s t e r ' s   c o n t r o l   p l a n e ,   u s i n g   t h e   K u b e r n e t e s   A P I .   T h i s   t o o l   i s   n a m e d   k u b e c t l .   F o r   c o n f i g u r a t i o n ,   k u b e c t l   l o o k s   f o r   a   f i l e   n a m e d   c o n f i g   i n   t h e   $ H O M E / . k u b e   d i r e c t o r y .   Y o u   c a n   s p e c i f y   o t h e r   k u b e c o n f i g   f i l e s   b y   s e t t i n g   t h e   K U B E C O N F I G   e n v i r o n m e n t   v a r i a b l e   o r   b y   s e t t i n g   t h e   - - k u b e c o n f i g   f l a g .   T h i s   o v e r v i e w   c o v e r s   k u b e c t l   s y n t a x ,   d e s c r i b e s   t h e   c o m m a n d   o p e r a t i o n s ,   a n d   p r o v i d e s   c o m m o n   e x a m p l e s .   F o r   d e t a i l s   a b o u t   e a c h   c o m m a n d ,   i n c l u d i n g   a l l   t h e   s u p p o r t e d   f l a g s   a n d   s u b c o m m a n d s ,   s e e   t h e   k u b e c t l   r e f e r e n c e   d o c u m e n t a t i o n .   F o r   i n s t a l l a t i o n   i n s t r u c t i o n s ,   s e e   I n s t a l l i n g   k u b e c t l ;   f o r   a   q u i c k   g u i d e ,   s e e   t h e   c h e a t   s h e e t .   I f   y o u ' r e   u s e d   t o   u s i n g   t h e   d o c k e r   c o m m a n d - l i n e   t o o l ,   k u b e c t l   f o r   D o c k e r   U s e r s   e x p l a i n s   s o m e   e q u i v a l e n t   c o m m a n d s   f o r   K u b e r n e t e s .


Question: What is Syntax?

Answer: U s e   t h e   f o l l o w i n g   s y n t a x   t o   r u n   k u b e c t l   c o m m a n d s   f r o m   y o u r   t e r m i n a l   w i n d o w :   k u b e c t l   [ c o m m a n d ]   [ T Y P E ]   [ N A M E ]   [ f l a g s ]   w h e r e   c o m m a n d ,   T Y P E ,   N A M E ,   a n d   f l a g s   a r e :   c o m m a n d :   S p e c i f i e s   t h e   o p e r a t i o n   t h a t   y o u   w a n t   t o   p e r f o r m   o n   o n e   o r   m o r e   r e s o u r c e s ,   f o r   e x a m p l e   c r e a t e ,   g e t ,   d e s c r i b e ,   d e l e t e . T Y P E :   S p e c i f i e s   t h e   r e s o u r c e   t y p e .   R e s o u r c e   t y p e s   a r e   c a s e - i n s e n s i t i v e   a n d   y o u   c a n   s p e c i f y   t h e   s i n g u l a r ,   p l u r a l ,   o r   a b b r e v i a t e d   f o r m s .   F o r   e x a m p l e ,   t h e   f o l l o w i n g   c o m m a n d s   p r o d u c e   t h e   s a m e   o u t p u t : k u b e c t l   g e t   p o d   p o d 1   k u b e c t l   g e t   p o d s   p o d 1   k u b e c t l   g e t   p o   p o d 1   N A M E :   S p e c i f i e s   t h e   n a m e   o f   t h e   r e s o u r c e .   N a m e s   a r e   c a s e - s e n s i t i v e .   I f   t h e   n a m e   i s   o m i t t e d ,   d e t a i l s   f o r   a l l   r e s o u r c e s   a r e   d i s p l a y e d ,   f o r   e x a m p l e   k u b e c t l   g e t   p o d s . W h e n   p e r f o r m i n g   a n   o p e r a t i o n   o n   m u l t i p l e   r e s o u r c e s ,   y o u   c a n   s p e c i f y   e a c h   r e s o u r c e   b y   t y p e   a n d   n a m e   o r   s p e c i f y   o n e   o r   m o r e   f i l e s : T o   s p e c i f y   r e s o u r c e s   b y   t y p e   a n d   n a m e : T o   g r o u p   r e s o u r c e s   i f   t h e y   a r e   a l l   t h e   s a m e   t y p e :   T Y P E 1   n a m e 1   n a m e 2   n a m e < # > . E x a m p l e :   k u b e c t l   g e t   p o d   e x a m p l e - p o d 1   e x a m p l e - p o d 2 T o   s


Question: What is Caution:?

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


Question: What is In-cluster authentication and namespace overrides?

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


Question: What is Operations?

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


Question: What is Resource types?

Answer: T h e   f o l l o w i n g   t a b l e   i n c l u d e s   a   l i s t   o f   a l l   t h e   s u p p o r t e d   r e s o u r c e   t y p e s   a n d   t h e i r   a b b r e v i a t e d   a l i a s e s .   ( T h i s   o u t p u t   c a n   b e   r e t r i e v e d   f r o m   k u b e c t l   a p i - r e s o u r c e s ,   a n d   w a s   a c c u r a t e   a s   o f   K u b e r n e t e s   1 . 2 5 . 0 )


Question: What is Output options?

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


Question: What is Formatting output?

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


Question: What is Syntax?

Answer: k u b e c t l   [ c o m m a n d ]   [ T Y P E ]   [ N A M E ]   - o   < o u t p u t _ f o r m a t >   D e p e n d i n g   o n   t h e   k u b e c t l   o p e r a t i o n ,   t h e   f o l l o w i n g   o u t p u t   f o r m a t s   a r e   s u p p o r t e d :


Question: What is Example?

Answer: I n   t h i s   e x a m p l e ,   t h e   f o l l o w i n g   c o m m a n d   o u t p u t s   t h e   d e t a i l s   f o r   a   s i n g l e   p o d   a s   a   Y A M L   f o r m a t t e d   o b j e c t :   k u b e c t l   g e t   p o d   w e b - p o d - 1 3 j e 7   - o   y a m l   R e m e m b e r :   S e e   t h e   k u b e c t l   r e f e r e n c e   d o c u m e n t a t i o n   f o r   d e t a i l s   a b o u t   w h i c h   o u t p u t   f o r m a t   i s   s u p p o r t e d   b y   e a c h   c o m m a n d .


Question: What is Custom columns?

Answer: T o   d e f i n e   c u s t o m   c o l u m n s   a n d   o u t p u t   o n l y   t h e   d e t a i l s   t h a t   y o u   w a n t   i n t o   a   t a b l e ,   y o u   c a n   u s e   t h e   c u s t o m - c o l u m n s   o p t i o n .   Y o u   c a n   c h o o s e   t o   d e f i n e   t h e   c u s t o m   c o l u m n s   i n l i n e   o r   u s e   a   t e m p l a t e   f i l e :   - o   c u s t o m - c o l u m n s = < s p e c >   o r   - o   c u s t o m - c o l u m n s - f i l e = < f i l e n a m e > .


Question: What is Examples?

Answer: I n l i n e :   k u b e c t l   g e t   p o d s   < p o d - n a m e >   - o   c u s t o m - c o l u m n s = N A M E : . m e t a d a t a . n a m e , R S R C : . m e t a d a t a . r e s o u r c e V e r s i o n   T e m p l a t e   f i l e :   k u b e c t l   g e t   p o d s   < p o d - n a m e >   - o   c u s t o m - c o l u m n s - f i l e = t e m p l a t e . t x t   w h e r e   t h e   t e m p l a t e . t x t   f i l e   c o n t a i n s :   N A M E   R S R C   m e t a d a t a . n a m e   m e t a d a t a . r e s o u r c e V e r s i o n   T h e   r e s u l t   o f   r u n n i n g   e i t h e r   c o m m a n d   i s   s i m i l a r   t o :   N A M E   R S R C   s u b m i t - q u e u e   6 1 0 9 9 5


Question: What is Server-side columns?

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


Question: What is Examples?

Answer: T o   p r i n t   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 o d ,   u s e   a   c o m m a n d   l i k e   t h e   f o l l o w i n g :   k u b e c t l   g e t   p o d s   < p o d - n a m e >   - - s e r v e r - p r i n t = f a l s e   T h e   o u t p u t   i s   s i m i l a r   t o :   N A M E   A G E   p o d - n a m e   1 m


Question: What is Sorting list objects?

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


Question: What is Syntax?

Answer: k u b e c t l   [ c o m m a n d ]   [ T Y P E ]   [ N A M E ]   - - s o r t - b y = < j s o n p a t h _ e x p >


Question: What is Example?

Answer: T o   p r i n t   a   l i s t   o f   p o d s   s o r t e d   b y   n a m e ,   y o u   r u n :   k u b e c t l   g e t   p o d s   - - s o r t - b y = . m e t a d a t a . n a m e


Question: What is Examples: Common operations?

Answer: U s e   t h e   f o l l o w i n g   s e t   o f   e x a m p l e s   t o   h e l p   y o u   f a m i l i a r i z e   y o u r s e l f   w i t h   r u n n i n g   t h e   c o m m o n l y   u s e d   k u b e c t l   o p e r a t i o n s :   k u b e c t l   a p p l y   -   A p p l y   o r   U p d a t e   a   r e s o u r c e   f r o m   a   f i l e   o r   s t d i n .   #   C r e a t e   a   s e r v i c e   u s i n g   t h e   d e f i n i t i o n   i n   e x a m p l e - s e r v i c e . y a m l .   k u b e c t l   a p p l y   - f   e x a m p l e - s e r v i c e . y a m l   #   C r e a t e   a   r e p l i c a t i o n   c o n t r o l l e r   u s i n g   t h e   d e f i n i t i o n   i n   e x a m p l e - c o n t r o l l e r . y a m l .   k u b e c t l   a p p l y   - f   e x a m p l e - c o n t r o l l e r . y a m l   #   C r e a t e   t h e   o b j e c t s   t h a t   a r e   d e f i n e d   i n   a n y   . y a m l ,   . y m l ,   o r   . j s o n   f i l e   w i t h i n   t h e   < d i r e c t o r y >   d i r e c t o r y .   k u b e c t l   a p p l y   - f   < d i r e c t o r y >   k u b e c t l   g e t   -   L i s t   o n e   o r   m o r e   r e s o u r c e s .   #   L i s t   a l l   p o d s   i n   p l a i n - t e x t   o u t p u t   f o r m a t .   k u b e c t l   g e t   p o d s   #   L i s t   a l l   p o d s   i n   p l a i n - t e x t   o u t p u t   f o r m a t   a n d   i n c l u d e   a d d i t i o n a l   i n f o r m a t i o n   ( s u c h   a s   n o d e   n a m e ) .   k u b e c t l   g e t   p o d s   - o   w i d e   #   L i s t   t h e   r e p l i c a t i o n   c o n t r o l l e r   w i t h   t h e   s p e c i f i e d   n a m e   i n   p l a i n - t e x t   o u t p u t   f o r m a t .   T i p :   Y o u   c a n   s h o r t e n   a n d   r e p l a c e   t h e   ' r e p l i c a t i o n c o n t r o l l e r '   r e s o u r c e   t y p e   w i t h   t h e   a l i a s   ' r c ' .   k u b e c t l   g e t   r e p l i c a t i o n c o n t r o l l e r   < r c - n a m e >


Question: What is Note:?

Answer: k u b e c t l   d e l e t e   -   D e l e t e   r e s o u r c e s   e i t h e r   f r o m   a   f i l e ,   s t d i n ,   o r   s p e c i f y i n g   l a b e l   s e l e c t o r s ,   n a m e s ,   r e s o u r c e   s e l e c t o r s ,   o r   r e s o u r c e s .   #   D e l e t e   a   p o d   u s i n g   t h e   t y p e   a n d   n a m e   s p e c i f i e d   i n   t h e   p o d . y a m l   f i l e .   k u b e c t l   d e l e t e   - f   p o d . y a m l   #   D e l e t e   a l l   t h e   p o d s   a n d   s e r v i c e s   t h a t   h a v e   t h e   l a b e l   ' < l a b e l - k e y > = < l a b e l - v a l u e > ' .   k u b e c t l   d e l e t e   p o d s , s e r v i c e s   - l   < l a b e l - k e y > = < l a b e l - v a l u e >   #   D e l e t e   a l l   p o d s ,   i n c l u d i n g   u n i n i t i a l i z e d   o n e s .   k u b e c t l   d e l e t e   p o d s   - - a l l   k u b e c t l   e x e c   -   E x e c u t e   a   c o m m a n d   a g a i n s t   a   c o n t a i n e r   i n   a   p o d .   #   G e t   o u t p u t   f r o m   r u n n i n g   ' d a t e '   f r o m   p o d   < p o d - n a m e > .   B y   d e f a u l t ,   o u t p u t   i s   f r o m   t h e   f i r s t   c o n t a i n e r .   k u b e c t l   e x e c   < p o d - n a m e >   - -   d a t e   #   G e t   o u t p u t   f r o m   r u n n i n g   ' d a t e '   i n   c o n t a i n e r   < c o n t a i n e r - n a m e >   o f   p o d   < p o d - n a m e > .   k u b e c t l   e x e c   < p o d - n a m e >   - c   < c o n t a i n e r - n a m e >   - -   d a t e   #   G e t   a n   i n t e r a c t i v e   T T Y   a n d   r u n   / b i n / b a s h   f r o m   p o d   < p o d - n a m e > .   B y   d e f a u l t ,   o u t p u t   i s   f r o m   t h e   f i r s t   c o n t a i n e r .   k u b e c t l   e x e c   - t i   < p o d - n a m e >   - -   / b i n / b a s h   k u b e c t l   l o g s   -   P r i n t   t h e   l o g s   f o r   a   c o n t a i n e r   i n   a   p o d .   #   R e t u r n   a   s


Question: What is Examples: Creating and using plugins?

Answer: U s e   t h e   f o l l o w i n g   s e t   o f   e x a m p l e s   t o   h e l p   y o u   f a m i l i a r i z e   y o u r s e l f   w i t h   w r i t i n g   a n d   u s i n g   k u b e c t l   p l u g i n s :   #   c r e a t e   a   s i m p l e   p l u g i n   i n   a n y   l a n g u a g e   a n d   n a m e   t h e   r e s u l t i n g   e x e c u t a b l e   f i l e   #   s o   t h a t   i t   b e g i n s   w i t h   t h e   p r e f i x   " k u b e c t l - "   c a t   . / k u b e c t l - h e l l o   # ! / b i n / s h   #   t h i s   p l u g i n   p r i n t s   t h e   w o r d s   " h e l l o   w o r l d "   e c h o   " h e l l o   w o r l d "   W i t h   a   p l u g i n   w r i t t e n ,   l e t ' s   m a k e   i t   e x e c u t a b l e :   c h m o d   a + x   . / k u b e c t l - h e l l o   #   a n d   m o v e   i t   t o   a   l o c a t i o n   i n   o u r   P A T H   s u d o   m v   . / k u b e c t l - h e l l o   / u s r / l o c a l / b i n   s u d o   c h o w n   r o o t : r o o t   / u s r / l o c a l / b i n   #   Y o u   h a v e   n o w   c r e a t e d   a n d   " i n s t a l l e d "   a   k u b e c t l   p l u g i n .   #   Y o u   c a n   b e g i n   u s i n g   t h i s   p l u g i n   b y   i n v o k i n g   i t   f r o m   k u b e c t l   a s   i f   i t   w e r e   a   r e g u l a r   c o m m a n d   k u b e c t l   h e l l o   h e l l o   w o r l d   #   Y o u   c a n   " u n i n s t a l l "   a   p l u g i n ,   b y   r e m o v i n g   i t   f r o m   t h e   f o l d e r   i n   y o u r   #   $ P A T H   w h e r e   y o u   p l a c e d   i t   s u d o   r m   / u s r / l o c a l / b i n / k u b e c t l - h e l l o   I n   o r d e r   t o   v i e w   a l l   o f   t h e   p l u g i n s   t h a t   a r e   a v a i l a b l e   t o   k u b e c t l ,   u s e   t h e   k u b e c t l   p l u g i n   l i s t   s u b c o m m a n d :   k u b e c t l   p l u g i n   l i s t   T h e   o u t p u t   i s   s i m i l a r   t o :   T h e   f o l l o w i n g   k u


Question: What is What's next?

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


Question: What is StorageVersionMigration v1alpha1?

Answer: StorageVersionMigration v1alpha1StorageVersionMigration represents a migration of stored data to the latest storage version.apiVersion: storagemigration.k8s.io/v1alpha1import "k8s.io/api/storagemigration/v1alpha1"StorageVersionMigrationStorageVersionMigration represents a migration of stored data to the latest storage version.apiVersion: storagemigration.k8s.io/v1alpha1kind: StorageVersionMigrationmetadata (ObjectMeta)Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataspec (StorageVersionMigrationSpec)Specification of the migration.status (StorageVersionMigrationStatus)Status of the migration.StorageVersionMigrationSpecSpec of the storage version migration.continueToken (string)The token used in the list options to get the next chunk of objects to migrate. When the .status.conditions indicates the migration is "Running", users can use this token to check the progress of the migration.resource (GroupVersionResource), requiredThe resource that is being migrated. The migrator sends requests to the endpoint serving the resource. Immutable.The names of the group, the version, and the resource.resource.group (string)The name of the group.resource.resource (string)The name of the resource.resource.version (string)The name of the version.StorageVersionMigrationStatusStatus of the storage version migration.conditions ([]MigrationCondition)Patch strategy: merge on key typeMap: unique values on key type will be kept during a mergeThe latest available observations of the migration's current state.Describes the state of a migration at a certain point.conditions.status (string), requiredStatus of the condition, one of True, False, Unknown.conditions.type (string), requiredType of the condition.conditions.lastUpdateTime (Time)The last time this condition was updated.Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.conditions.message (string)A human readable message indicating details about the transition.conditions.reason (string)The reason for the condition's last transition.resourceVersion (string)ResourceVersion to compare with the GC cache for performing the migration. This is the current resource version of given group, version and resource when kube-controller-manager first observes this StorageVersionMigration resource.StorageVersionMigrationListStorageVersionMigrationList is a collection of storage version migrations.apiVersion: storagemigration.k8s.io/v1alpha1kind: StorageVersionMigrationListmetadata (ListMeta)Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataitems ([]StorageVersionMigration), requiredPatch strategy: merge on key typeMap: unique values on key type will be kept during a mergeItems is the list of StorageVersionMigrationOperationsget read the specified StorageVersionMi


Question: How does StorageVersionMigration v1alpha1 work?

Answer: StorageVersionMigration v1alpha1StorageVersionMigration represents a migration of stored data to the latest storage version.apiVersion: storagemigration.k8s.io/v1alpha1import "k8s.io/api/storagemigration/v1alpha1"StorageVersionMigrationStorageVersionMigration represents a migration of stored data to the latest storage version.apiVersion: storagemigration.k8s.io/v1alpha1kind: StorageVersionMigrationmetadata (ObjectMeta)Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataspec (StorageVersionMigrationSpec)Specification of the migration.status (StorageVersionMigrationStatus)Status of the migration.StorageVersionMigrationSpecSpec of the storage version migration.continueToken (string)The token used in the list options to get the next chunk of objects to migrate. When the .status.conditions indicates the migration is "Running", users can use this token to check the progress of the migration.resource (GroupVersionResource), requiredThe resource that is being migrated. The migrator sends requests to the endpoint serving the resource. Immutable.The names of the group, the version, and the resource.resource.group (string)The name of the group.resource.resource (string)The name of the resource.resource.version (string)The name of the version.StorageVersionMigrationStatusStatus of the storage version migration.conditions ([]MigrationCondition)Patch strategy: merge on key typeMap: unique values on key type will be kept during a mergeThe latest available observations of the migration's current state.Describes the state of a migration at a certain point.conditions.status (string), requiredStatus of the condition, one of True, False, Unknown.conditions.type (string), requiredType of the condition.conditions.lastUpdateTime (Time)The last time this condition was updated.Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.conditions.message (string)A human readable message indicating details about the transition.conditions.reason (string)The reason for the condition's last transition.resourceVersion (string)ResourceVersion to compare with the GC cache for performing the migration. This is the current resource version of given group, version and resource when kube-controller-manager first observes this StorageVersionMigration resource.StorageVersionMigrationListStorageVersionMigrationList is a collection of storage version migrations.apiVersion: storagemigration.k8s.io/v1alpha1kind: StorageVersionMigrationListmetadata (ListMeta)Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataitems ([]StorageVersionMigration), requiredPatch strategy: merge on key typeMap: unique values on key type will be kept during a mergeItems is the list of StorageVersionMigrationOperationsget read the specified StorageVersionMi


Question: When would you use StorageVersionMigration v1alpha1?

Answer: StorageVersionMigration v1alpha1StorageVersionMigration represents a migration of stored data to the latest storage version.apiVersion: storagemigration.k8s.io/v1alpha1import "k8s.io/api/storagemigration/v1alpha1"StorageVersionMigrationStorageVersionMigration represents a migration of stored data to the latest storage version.apiVersion: storagemigration.k8s.io/v1alpha1kind: StorageVersionMigrationmetadata (ObjectMeta)Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataspec (StorageVersionMigrationSpec)Specification of the migration.status (StorageVersionMigrationStatus)Status of the migration.StorageVersionMigrationSpecSpec of the storage version migration.continueToken (string)The token used in the list options to get the next chunk of objects to migrate. When the .status.conditions indicates the migration is "Running", users can use this token to check the progress of the migration.resource (GroupVersionResource), requiredThe resource that is being migrated. The migrator sends requests to the endpoint serving the resource. Immutable.The names of the group, the version, and the resource.resource.group (string)The name of the group.resource.resource (string)The name of the resource.resource.version (string)The name of the version.StorageVersionMigrationStatusStatus of the storage version migration.conditions ([]MigrationCondition)Patch strategy: merge on key typeMap: unique values on key type will be kept during a mergeThe latest available observations of the migration's current state.Describes the state of a migration at a certain point.conditions.status (string), requiredStatus of the condition, one of True, False, Unknown.conditions.type (string), requiredType of the condition.conditions.lastUpdateTime (Time)The last time this condition was updated.Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.conditions.message (string)A human readable message indicating details about the transition.conditions.reason (string)The reason for the condition's last transition.resourceVersion (string)ResourceVersion to compare with the GC cache for performing the migration. This is the current resource version of given group, version and resource when kube-controller-manager first observes this StorageVersionMigration resource.StorageVersionMigrationListStorageVersionMigrationList is a collection of storage version migrations.apiVersion: storagemigration.k8s.io/v1alpha1kind: StorageVersionMigrationListmetadata (ListMeta)Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataitems ([]StorageVersionMigration), requiredPatch strategy: merge on key typeMap: unique values on key type will be kept during a mergeItems is the list of StorageVersionMigrationOperationsget read the specified StorageVersionMi


Question: What are the benefits of StorageVersionMigration v1alpha1?

Answer: StorageVersionMigration v1alpha1StorageVersionMigration represents a migration of stored data to the latest storage version.apiVersion: storagemigration.k8s.io/v1alpha1import "k8s.io/api/storagemigration/v1alpha1"StorageVersionMigrationStorageVersionMigration represents a migration of stored data to the latest storage version.apiVersion: storagemigration.k8s.io/v1alpha1kind: StorageVersionMigrationmetadata (ObjectMeta)Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataspec (StorageVersionMigrationSpec)Specification of the migration.status (StorageVersionMigrationStatus)Status of the migration.StorageVersionMigrationSpecSpec of the storage version migration.continueToken (string)The token used in the list options to get the next chunk of objects to migrate. When the .status.conditions indicates the migration is "Running", users can use this token to check the progress of the migration.resource (GroupVersionResource), requiredThe resource that is being migrated. The migrator sends requests to the endpoint serving the resource. Immutable.The names of the group, the version, and the resource.resource.group (string)The name of the group.resource.resource (string)The name of the resource.resource.version (string)The name of the version.StorageVersionMigrationStatusStatus of the storage version migration.conditions ([]MigrationCondition)Patch strategy: merge on key typeMap: unique values on key type will be kept during a mergeThe latest available observations of the migration's current state.Describes the state of a migration at a certain point.conditions.status (string), requiredStatus of the condition, one of True, False, Unknown.conditions.type (string), requiredType of the condition.conditions.lastUpdateTime (Time)The last time this condition was updated.Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.conditions.message (string)A human readable message indicating details about the transition.conditions.reason (string)The reason for the condition's last transition.resourceVersion (string)ResourceVersion to compare with the GC cache for performing the migration. This is the current resource version of given group, version and resource when kube-controller-manager first observes this StorageVersionMigration resource.StorageVersionMigrationListStorageVersionMigrationList is a collection of storage version migrations.apiVersion: storagemigration.k8s.io/v1alpha1kind: StorageVersionMigrationListmetadata (ListMeta)Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataitems ([]StorageVersionMigration), requiredPatch strategy: merge on key typeMap: unique values on key type will be kept during a mergeItems is the list of StorageVersionMigrationOperationsget read the specified StorageVersionMi


Question: What is StorageVersionMigration v1alpha1?

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


Question: What is StorageVersionMigration?

Answer: S t o r a g e V e r s i o n M i g r a t i o n   r e p r e s e n t s   a   m i g r a t i o n   o f   s t o r e d   d a t a   t o   t h e   l a t e s t   s t o r a g e   v e r s i o n .   a p i V e r s i o n :   s t o r a g e m i g r a t i o n . k 8 s . i o / v 1 a l p h a 1 k i n d :   S t o r a g e V e r s i o n M i g r a t i o n m e t a d a t a   ( O b j e c t M e t a ) S t a n d a r d   o b j e c t   m e t a d a t a .   M o r e   i n f o :   h t t p s : / / g i t . k 8 s . i o / c o m m u n i t y / c o n t r i b u t o r s / d e v e l / s i g - a r c h i t e c t u r e / a p i - c o n v e n t i o n s . m d # m e t a d a t a s p e c   ( S t o r a g e V e r s i o n M i g r a t i o n S p e c ) S p e c i f i c a t i o n   o f   t h e   m i g r a t i o n . s t a t u s   ( S t o r a g e V e r s i o n M i g r a t i o n S t a t u s ) S t a t u s   o f   t h e   m i g r a t i o n .   a p i V e r s i o n :   s t o r a g e m i g r a t i o n . k 8 s . i o / v 1 a l p h a 1   k i n d :   S t o r a g e V e r s i o n M i g r a t i o n   m e t a d a t a   ( O b j e c t M e t a )   S t a n d a r d   o b j e c t   m e t a d a t a .   M o r e   i n f o :   h t t p s : / / g i t . k 8 s . i o / c o m m u n i t y / c o n t r i b u t o r s / d e v e l / s i g - a r c h i t e c t u r e / a p i - c o n v e n t i o n s . m d # m e t a d a t a   s p e c   ( S t o r a g e V e r s i o n M i g r a t i o n S p e c )   S p e c i f i c a t i o n   o f   t h e   m i g r a t i o n .   s t a t u s   ( S t o r a g e V e r s i o n M i g r a t i o n S t a t u s )   S t a t u s   o f   t h e   m i g r a t i o n .


Question: What is StorageVersionMigrationSpec?

Answer: S p e c   o f   t h e   s t o r a g e   v e r s i o n   m i g r a t i o n .   c o n t i n u e T o k e n   ( s t r i n g ) T h e   t o k e n   u s e d   i n   t h e   l i s t   o p t i o n s   t o   g e t   t h e   n e x t   c h u n k   o f   o b j e c t s   t o   m i g r a t e .   W h e n   t h 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 s   t h e   m i g r a t i o n   i s   " R u n n i n g " ,   u s e r s   c a n   u s e   t h i s   t o k e n   t o   c h e c k   t h e   p r o g r e s s   o f   t h e   m i g r a t i o n . r e s o u r c e   ( G r o u p V e r s i o n R e s o u r c e ) ,   r e q u i r e d T h e   r e s o u r c e   t h a t   i s   b e i n g   m i g r a t e d .   T h e   m i g r a t o r   s e n d s   r e q u e s t s   t o   t h e   e n d p o i n t   s e r v i n g   t h e   r e s o u r c e .   I m m u t a b l e . T h e   n a m e s   o f   t h e   g r o u p ,   t h e   v e r s i o n ,   a n d   t h e   r e s o u r c e . r e s o u r c e . g r o u p   ( s t r i n g ) T h e   n a m e   o f   t h e   g r o u p . r e s o u r c e . r e s o u r c e   ( s t r i n g ) T h e   n a m e   o f   t h e   r e s o u r c e . r e s o u r c e . v e r s i o n   ( s t r i n g ) T h e   n a m e   o f   t h e   v e r s i o n .   c o n t i n u e T o k e n   ( s t r i n g )   T h e   t o k e n   u s e d   i n   t h e   l i s t   o p t i o n s   t o   g e t   t h e   n e x t   c h u n k   o f   o b j e c t s   t o   m i g r a t e .   W h e n   t h 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 s   t h e   m i g r a t i o n   i s   " R u n n i n g " ,   u s e r s   c a n   u s e   t h i s   t o k e n   t o   c h e c k   t h e   p r o g r e s s   o f   t h e   m i g r a t i o n .   r e s o u r c e   ( G r o u p V e r s i o n R e s o u r c e ) ,   r e q u i r e d   T h e   r e s o u r c e   t h a t   i s   b e i n g   m i g r a t e d .   T h e   m i g r a t o r   s e n d s   r e q u e s t s   t o   t h e   e n d p o i n t   s e r v i n g   t h e   r e s o u r