Question: How does kubeadm Configuration (v1beta3) work?

Answer: kubeadm Configuration (v1beta3)OverviewPackage v1beta3 defines the v1beta3 version of the kubeadm configuration file format. This version improves on the v1beta2 format by fixing some minor issues and adding a few new fields.A list of changes since v1beta2:The deprecated "ClusterConfiguration.useHyperKubeImage" field has been removed. Kubeadm no longer supports the hyperkube image.The "ClusterConfiguration.dns.type" field has been removed since CoreDNS is the only supported DNS server type by kubeadm.Include "datapolicy" tags on the fields that hold secrets. This would result in the field values to be omitted when API structures are printed with klog.Add "InitConfiguration.skipPhases", "JoinConfiguration.skipPhases" to allow skipping a list of phases during kubeadm init/join command execution.Add "InitConfiguration.nodeRegistration.imagePullPolicy" and "JoinConfiguration.nodeRegistration.imagePullPolicy" to allow specifying the images pull policy during kubeadm "init" and "join". The value must be one of "Always", "Never" or "IfNotPresent". "IfNotPresent" is the default, which has been the existing behavior prior to this addition.Add "InitConfiguration.patches.directory", "JoinConfiguration.patches.directory" to allow the user to configure a directory from which to take patches for components deployed by kubeadm.Move the BootstrapToken* API and related utilities out of the "kubeadm" API group to a new group "bootstraptoken". The kubeadm API version v1beta3 no longer contains the BootstrapToken* structures.Migration from old kubeadm config versionskubeadm v1.15.x and newer can be used to migrate from v1beta1 to v1beta2.kubeadm v1.22.x and newer no longer support v1beta1 and older APIs, but can be used to migrate v1beta2 to v1beta3.kubeadm v1.27.x and newer no longer support v1beta2 and older APIs,BasicsThe preferred way to configure kubeadm is to pass an YAML configuration file with the --config option. Some of the configuration options defined in the kubeadm config file are also available as command line flags, but only the most common/simple use case are supported with this approach.A kubeadm config file could contain multiple configuration types separated using three dashes (---).kubeadm supports the following configuration types:apiVersion: kubeadm.k8s.io/v1beta3 kind: InitConfiguration apiVersion: kubeadm.k8s.io/v1beta3 kind: ClusterConfiguration apiVersion: kubelet.config.k8s.io/v1beta1 kind: KubeletConfiguration apiVersion: kubeproxy.config.k8s.io/v1alpha1 kind: KubeProxyConfiguration apiVersion: kubeadm.k8s.io/v1beta3 kind: JoinConfiguration To print the defaults for "init" and "join" actions use the following commands:kubeadm config print init-defaults kubeadm config print join-defaults The list of configuration types that must be included in a configuration file depends by the action you are performing (init or join) and by the configuration options you are going to use (defaults or advanced customization).If some configuration types are


Question: When would you use kubeadm Configuration (v1beta3)?

Answer: kubeadm Configuration (v1beta3)OverviewPackage v1beta3 defines the v1beta3 version of the kubeadm configuration file format. This version improves on the v1beta2 format by fixing some minor issues and adding a few new fields.A list of changes since v1beta2:The deprecated "ClusterConfiguration.useHyperKubeImage" field has been removed. Kubeadm no longer supports the hyperkube image.The "ClusterConfiguration.dns.type" field has been removed since CoreDNS is the only supported DNS server type by kubeadm.Include "datapolicy" tags on the fields that hold secrets. This would result in the field values to be omitted when API structures are printed with klog.Add "InitConfiguration.skipPhases", "JoinConfiguration.skipPhases" to allow skipping a list of phases during kubeadm init/join command execution.Add "InitConfiguration.nodeRegistration.imagePullPolicy" and "JoinConfiguration.nodeRegistration.imagePullPolicy" to allow specifying the images pull policy during kubeadm "init" and "join". The value must be one of "Always", "Never" or "IfNotPresent". "IfNotPresent" is the default, which has been the existing behavior prior to this addition.Add "InitConfiguration.patches.directory", "JoinConfiguration.patches.directory" to allow the user to configure a directory from which to take patches for components deployed by kubeadm.Move the BootstrapToken* API and related utilities out of the "kubeadm" API group to a new group "bootstraptoken". The kubeadm API version v1beta3 no longer contains the BootstrapToken* structures.Migration from old kubeadm config versionskubeadm v1.15.x and newer can be used to migrate from v1beta1 to v1beta2.kubeadm v1.22.x and newer no longer support v1beta1 and older APIs, but can be used to migrate v1beta2 to v1beta3.kubeadm v1.27.x and newer no longer support v1beta2 and older APIs,BasicsThe preferred way to configure kubeadm is to pass an YAML configuration file with the --config option. Some of the configuration options defined in the kubeadm config file are also available as command line flags, but only the most common/simple use case are supported with this approach.A kubeadm config file could contain multiple configuration types separated using three dashes (---).kubeadm supports the following configuration types:apiVersion: kubeadm.k8s.io/v1beta3 kind: InitConfiguration apiVersion: kubeadm.k8s.io/v1beta3 kind: ClusterConfiguration apiVersion: kubelet.config.k8s.io/v1beta1 kind: KubeletConfiguration apiVersion: kubeproxy.config.k8s.io/v1alpha1 kind: KubeProxyConfiguration apiVersion: kubeadm.k8s.io/v1beta3 kind: JoinConfiguration To print the defaults for "init" and "join" actions use the following commands:kubeadm config print init-defaults kubeadm config print join-defaults The list of configuration types that must be included in a configuration file depends by the action you are performing (init or join) and by the configuration options you are going to use (defaults or advanced customization).If some configuration types are


Question: What are the benefits of kubeadm Configuration (v1beta3)?

Answer: kubeadm Configuration (v1beta3)OverviewPackage v1beta3 defines the v1beta3 version of the kubeadm configuration file format. This version improves on the v1beta2 format by fixing some minor issues and adding a few new fields.A list of changes since v1beta2:The deprecated "ClusterConfiguration.useHyperKubeImage" field has been removed. Kubeadm no longer supports the hyperkube image.The "ClusterConfiguration.dns.type" field has been removed since CoreDNS is the only supported DNS server type by kubeadm.Include "datapolicy" tags on the fields that hold secrets. This would result in the field values to be omitted when API structures are printed with klog.Add "InitConfiguration.skipPhases", "JoinConfiguration.skipPhases" to allow skipping a list of phases during kubeadm init/join command execution.Add "InitConfiguration.nodeRegistration.imagePullPolicy" and "JoinConfiguration.nodeRegistration.imagePullPolicy" to allow specifying the images pull policy during kubeadm "init" and "join". The value must be one of "Always", "Never" or "IfNotPresent". "IfNotPresent" is the default, which has been the existing behavior prior to this addition.Add "InitConfiguration.patches.directory", "JoinConfiguration.patches.directory" to allow the user to configure a directory from which to take patches for components deployed by kubeadm.Move the BootstrapToken* API and related utilities out of the "kubeadm" API group to a new group "bootstraptoken". The kubeadm API version v1beta3 no longer contains the BootstrapToken* structures.Migration from old kubeadm config versionskubeadm v1.15.x and newer can be used to migrate from v1beta1 to v1beta2.kubeadm v1.22.x and newer no longer support v1beta1 and older APIs, but can be used to migrate v1beta2 to v1beta3.kubeadm v1.27.x and newer no longer support v1beta2 and older APIs,BasicsThe preferred way to configure kubeadm is to pass an YAML configuration file with the --config option. Some of the configuration options defined in the kubeadm config file are also available as command line flags, but only the most common/simple use case are supported with this approach.A kubeadm config file could contain multiple configuration types separated using three dashes (---).kubeadm supports the following configuration types:apiVersion: kubeadm.k8s.io/v1beta3 kind: InitConfiguration apiVersion: kubeadm.k8s.io/v1beta3 kind: ClusterConfiguration apiVersion: kubelet.config.k8s.io/v1beta1 kind: KubeletConfiguration apiVersion: kubeproxy.config.k8s.io/v1alpha1 kind: KubeProxyConfiguration apiVersion: kubeadm.k8s.io/v1beta3 kind: JoinConfiguration To print the defaults for "init" and "join" actions use the following commands:kubeadm config print init-defaults kubeadm config print join-defaults The list of configuration types that must be included in a configuration file depends by the action you are performing (init or join) and by the configuration options you are going to use (defaults or advanced customization).If some configuration types are


Question: What is Overview?

Answer: P a c k a g e   v 1 b e t a 3   d e f i n e s   t h e   v 1 b e t a 3   v e r s i o n   o f   t h e   k u b e a d m   c o n f i g u r a t i o n   f i l e   f o r m a t .   T h i s   v e r s i o n   i m p r o v e s   o n   t h e   v 1 b e t a 2   f o r m a t   b y   f i x i n g   s o m e   m i n o r   i s s u e s   a n d   a d d i n g   a   f e w   n e w   f i e l d s .   A   l i s t   o f   c h a n g e s   s i n c e   v 1 b e t a 2 :   T h e   d e p r e c a t e d   " C l u s t e r C o n f i g u r a t i o n . u s e H y p e r K u b e I m a g e "   f i e l d   h a s   b e e n   r e m o v e d .   K u b e a d m   n o   l o n g e r   s u p p o r t s   t h e   h y p e r k u b e   i m a g e . T h e   " C l u s t e r C o n f i g u r a t i o n . d n s . t y p e "   f i e l d   h a s   b e e n   r e m o v e d   s i n c e   C o r e D N S   i s   t h e   o n l y   s u p p o r t e d   D N S   s e r v e r   t y p e   b y   k u b e a d m . I n c l u d e   " d a t a p o l i c y "   t a g s   o n   t h e   f i e l d s   t h a t   h o l d   s e c r e t s .   T h i s   w o u l d   r e s u l t   i n   t h e   f i e l d   v a l u e s   t o   b e   o m i t t e d   w h e n   A P I   s t r u c t u r e s   a r e   p r i n t e d   w i t h   k l o g . A d d   " I n i t C o n f i g u r a t i o n . s k i p P h a s e s " ,   " J o i n C o n f i g u r a t i o n . s k i p P h a s e s "   t o   a l l o w   s k i p p i n g   a   l i s t   o f   p h a s e s   d u r i n g   k u b e a d m   i n i t / j o i n   c o m m a n d   e x e c u t i o n . A d d   " I n i t C o n f i g u r a t i o n . n o d e R e g i s t r a t i o n . i m a g e P u l l P o l i c y "   a n d   " J o i n C o n f i g u r a t i o n . n o d e R e g i s t r a t i o n . i m a g e P u l l P o l i c y "   t o   a l l o w   s p e c i f y i n g   t h e   i m a g e s   p u l l   p o l i c y   d u r i n g   k u b e a d m   " i n i t "   a n d   " j o i n " .   T h e   v a l u e   m u s t   b e   o n e   o f   " A l w a y s " ,   " N e v e r "


Question: What is Basics?

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


Question: What is Kubeadm init configuration types?

Answer: W h e n   e x e c u t i n g   k u b e a d m   i n i t   w i t h   t h e   - - c o n f i g   o p t i o n ,   t h e   f o l l o w i n g   c o n f i g u r a t i o n   t y p e s   c o u l d   b e   u s e d :   I n i t C o n f i g u r a t i o n ,   C l u s t e r C o n f i g u r a t i o n ,   K u b e P r o x y C o n f i g u r a t i o n ,   K u b e l e t C o n f i g u r a t i o n ,   b u t   o n l y   o n e   b e t w e e n   I n i t C o n f i g u r a t i o n   a n d   C l u s t e r C o n f i g u r a t i o n   i s   m a n d a t o r y .   a p i V e r s i o n :   k u b e a d m . k 8 s . i o / v 1 b e t a 3   k i n d :   I n i t C o n f i g u r a t i o n   b o o t s t r a p T o k e n s :   . . .   n o d e R e g i s t r a t i o n :   . . .   T h e   I n i t C o n f i g u r a t i o n   t y p e   s h o u l d   b e   u s e d   t o   c o n f i g u r e   r u n t i m e   s e t t i n g s ,   t h a t   i n   c a s e   o f   k u b e a d m   i n i t   a r e   t h e   c o n f i g u r a t i o n   o f   t h e   b o o t s t r a p   t o k e n   a n d   a l l   t h e   s e t t i n g   w h i c h   a r e   s p e c i f i c   t o   t h e   n o d e   w h e r e   k u b e a d m   i s   e x e c u t e d ,   i n c l u d i n g :   N o d e R e g i s t r a t i o n ,   t h a t   h o l d s   f i e l d s   t h a t   r e l a t e   t o   r e g i s t e r i n g   t h e   n e w   n o d e   t o   t h e   c l u s t e r ;   u s e   i t   t o   c u s t o m i z e   t h e   n o d e   n a m e ,   t h e   C R I   s o c k e t   t o   u s e   o r   a n y   o t h e r   s e t t i n g s   t h a t   s h o u l d   a p p l y   t o   t h i s   n o d e   o n l y   ( e . g .   t h e   n o d e   i p ) . L o c a l A P I E n d p o i n t ,   t h a t   r e p r e s e n t s   t h e   e n d p o i n t   o f   t h e   i n s t a n c e   o f   t h e   A P I   s e r v e r   t o   b e   d e p l o y e d   o n   t h i s   n o d e ;   u s e   i t   e . g .   t o   c u s t o m i z e   t h e   A P I   s e r v e r   a d v e r t i s e   a d d r e s s .


Question: What is Kubeadm join configuration types?

Answer: W h e n   e x e c u t i n g   k u b e a d m   j o i n   w i t h   t h e   - - c o n f i g   o p t i o n ,   t h e   J o i n C o n f i g u r a t i o n   t y p e   s h o u l d   b e   p r o v i d e d .   a p i V e r s i o n :   k u b e a d m . k 8 s . i o / v 1 b e t a 3   k i n d :   J o i n C o n f i g u r a t i o n   . . .   T h e   J o i n C o n f i g u r a t i o n   t y p e   s h o u l d   b e   u s e d   t o   c o n f i g u r e   r u n t i m e   s e t t i n g s ,   t h a t   i n   c a s e   o f   k u b e a d m   j o i n   a r e   t h e   d i s c o v e r y   m e t h o d   u s e d   f o r   a c c e s s i n g   t h e   c l u s t e r   i n f o   a n d   a l l   t h e   s e t t i n g   w h i c h   a r e   s p e c i f i c   t o   t h e   n o d e   w h e r e   k u b e a d m   i s   e x e c u t e d ,   i n c l u d i n g :   n o d e R e g i s t r a t i o n ,   t h a t   h o l d s   f i e l d s   t h a t   r e l a t e   t o   r e g i s t e r i n g   t h e   n e w   n o d e   t o   t h e   c l u s t e r ;   u s e   i t   t o   c u s t o m i z e   t h e   n o d e   n a m e ,   t h e   C R I   s o c k e t   t o   u s e   o r   a n y   o t h e r   s e t t i n g s   t h a t   s h o u l d   a p p l y   t o   t h i s   n o d e   o n l y   ( e . g .   t h e   n o d e   i p ) . a p i E n d p o i n t ,   t h a t   r e p r e s e n t s   t h e   e n d p o i n t   o f   t h e   i n s t a n c e   o f   t h e   A P I   s e r v e r   t o   b e   e v e n t u a l l y   d e p l o y e d   o n   t h i s   n o d e .   n o d e R e g i s t r a t i o n ,   t h a t   h o l d s   f i e l d s   t h a t   r e l a t e   t o   r e g i s t e r i n g   t h e   n e w   n o d e   t o   t h e   c l u s t e r ;   u s e   i t   t o   c u s t o m i z e   t h e   n o d e   n a m e ,   t h e   C R I   s o c k e t   t o   u s e   o r   a n y   o t h e r   s e t t i n g s   t h a t   s h o u l d   a p p l y   t o   t h i s   n o d e   o n l y   ( e . g .   t h e   n o d e   i p ) .   a p i E n d p o i n t ,   t h


Question: What is Resource Types?

Answer: C l u s t e r C o n f i g u r a t i o n I n i t C o n f i g u r a t i o n J o i n C o n f i g u r a t i o n


Question: What is BootstrapToken?

Answer: A p p e a r s   i n :   I n i t C o n f i g u r a t i o n   B o o t s t r a p T o k e n   d e s c r i b e s   o n e   b o o t s t r a p   t o k e n ,   s t o r e d   a s   a   S e c r e t   i n   t h e   c l u s t e r   t o k e n   i s   u s e d   f o r   e s t a b l i s h i n g   b i d i r e c t i o n a l   t r u s t   b e t w e e n   n o d e s   a n d   c o n t r o l - p l a n e s .   U s e d   f o r   j o i n i n g   n o d e s   i n   t h e   c l u s t e r .   d e s c r i p t i o n   s e t s   a   h u m a n - f r i e n d l y   m e s s a g e   w h y   t h i s   t o k e n   e x i s t s   a n d   w h a t   i t ' s   u s e d   f o r ,   s o   o t h e r   a d m i n i s t r a t o r s   c a n   k n o w   i t s   p u r p o s e .   t t l   d e f i n e s   t h e   t i m e   t o   l i v e   f o r   t h i s   t o k e n .   D e f a u l t s   t o   2 4 h .   e x p i r e s   a n d   t t l   a r e   m u t u a l l y   e x c l u s i v e .   e x p i r e s   s p e c i f i e s   t h e   t i m e s t a m p   w h e n   t h i s   t o k e n   e x p i r e s .   D e f a u l t s   t o   b e i n g   s e t   d y n a m i c a l l y   a t   r u n t i m e   b a s e d   o n   t h e   t t l .   e x p i r e s   a n d   t t l   a r e   m u t u a l l y   e x c l u s i v e .   u s a g e s   d e s c r i b e s   t h e   w a y s   i n   w h i c h   t h i s   t o k e n   c a n   b e   u s e d .   C a n   b y   d e f a u l t   b e   u s e d   f o r   e s t a b l i s h i n g   b i d i r e c t i o n a l   t r u s t ,   b u t   t h a t   c a n   b e   c h a n g e d   h e r e .   g r o u p s   s p e c i f i e s   t h e   e x t r a   g r o u p s   t h a t   t h i s   t o k e n   w i l l   a u t h e n t i c a t e   a s   w h e n / i f   u s e d   f o r   a u t h e n t i c a t i o n


Question: What is BootstrapTokenString?

Answer: A p p e a r s   i n :   B o o t s t r a p T o k e n   B o o t s t r a p T o k e n S t r i n g   i s   a   t o k e n   o f   t h e   f o r m a t   a b c d e f . a b c d e f 0 1 2 3 4 5 6 7 8 9   t h a t   i s   u s e d   f o r   b o t h   v a l i d a t i o n   o f   t h e   p r a c t i c a l l y   o f   t h e   A P I   s e r v e r   f r o m   a   j o i n i n g   n o d e ' s   p o i n t   o f   v i e w   a n d   a s   a n   a u t h e n t i c a t i o n   m e t h o d   f o r   t h e   n o d e   i n   t h e   b o o t s t r a p   p h a s e   o f   " k u b e a d m   j o i n " .   T h i s   t o k e n   i s   a n d   s h o u l d   b e   s h o r t - l i v e d .


Question: What is ClusterConfiguration?

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


Question: What is InitConfiguration?

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


Question: What is JoinConfiguration?

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


Question: What is APIEndpoint?

Answer: A p p e a r s   i n :   I n i t C o n f i g u r a t i o n J o i n C o n t r o l P l a n e   I n i t C o n f i g u r a t i o n   J o i n C o n t r o l P l a n e   A P I E n d p o i n t   s t r u c t   c o n t a i n s   e l e m e n t s   o f   A P I   s e r v e r   i n s t a n c e   d e p l o y e d   o n   a   n o d e .   a d v e r t i s e A d d r e s s   s e t s   t h e   I P   a d d r e s s   f o r   t h e   A P I   s e r v e r   t o   a d v e r t i s e .   b i n d P o r t   s e t s   t h e   s e c u r e   p o r t   f o r   t h e   A P I   S e r v e r   t o   b i n d   t o .   D e f a u l t s   t o   6 4 4 3 .


Question: What is APIServer?

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


Question: What is BootstrapTokenDiscovery?

Answer: A p p e a r s   i n :   D i s c o v e r y   B o o t s t r a p T o k e n D i s c o v e r y   i s   u s e d   t o   s e t   t h e   o p t i o n s   f o r   b o o t s t r a p   t o k e n   b a s e d   d i s c o v e r y .   t o k e n   i s   a   t o k e n   u s e d   t o   v a l i d a t e   c l u s t e r   i n f o r m a t i o n   f e t c h e d   f r o m   t h e   c o n t r o l - p l a n e .   a p i S e r v e r E n d p o i n t   i s   a n   I P   o r   d o m a i n   n a m e   t o   t h e   A P I   s e r v e r   f r o m   w h i c h   i n f o r m a t i o n   w i l l   b e   f e t c h e d .   c a C e r t H a s h e s   s p e c i f i e s   a   s e t   o f   p u b l i c   k e y   p i n s   t o   v e r i f y   w h e n   t o k e n - b a s e d   d i s c o v e r y   i s   u s e d .   T h e   r o o t   C A   f o u n d   d u r i n g   d i s c o v e r y   m u s t   m a t c h   o n e   o f   t h e s e   v a l u e s .   S p e c i f y i n g   a n   e m p t y   s e t   d i s a b l e s   r o o t   C A   p i n n i n g ,   w h i c h   c a n   b e   u n s a f e .   E a c h   h a s h   i s   s p e c i f i e d   a s   < t y p e > : < v a l u e > ,   w h e r e   t h e   o n l y   c u r r e n t l y   s u p p o r t e d   t y p e   i s   " s h a 2 5 6 " .   T h i s   i s   a   h e x - e n c o d e d   S H A - 2 5 6   h a s h   o f   t h e   S u b j e c t   P u b l i c   K e y   I n f o   ( S P K I )   o b j e c t   i n   D E R - e n c o d e d   A S N . 1 .   T h e s e   h a s h e s   c a n   b e   c a l c u l a t e d   u s i n g ,   f o r   e x a m p l e ,   O p e n S S L .   u n s a f e S k i p C A V e r i f i c a t i o n   a l l o w s   t o k e n - b a s e d   d i s c o v e r y   w i t h o u t   C A   v e r i f i c a t i o n   v i a   c a C e r t H a s h e s .   T h i s   c a n   w e a k e n   t h e   s e c u r i t y   o f   k u b e a d m   s i n c e   o t h e r   n o d e s   c a n   i m p e r s o n a t e   t h e   c o n t r o l - p l a n e .


Question: What is ControlPlaneComponent?

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


Question: What is DNS?

Answer: A p p e a r s   i n :   C l u s t e r C o n f i g u r a t i o n   D N S   d e f i n e s   t h e   D N S   a d d o n   t h a t   s h o u l d   b e   u s e d   i n   t h e   c l u s t e r   i m a g e M e t a   a l l o w s   t o   c u s t o m i z e   t h e   i m a g e   u s e d   f o r   t h e   D N S   c o m p o n e n t .


Question: What is Discovery?

Answer: A p p e a r s   i n :   J o i n C o n f i g u r a t i o n   D i s c o v e r y   s p e c i f i e s   t h e   o p t i o n s   f o r   t h e   k u b e l e t   t o   u s e   d u r i n g   t h e   T L S   B o o t s t r a p   p r o c e s s .   b o o t s t r a p T o k e n   i s   u s e d   t o   s e t   t h e   o p t i o n s   f o r   b o o t s t r a p   t o k e n   b a s e d   d i s c o v e r y .   b o o t s t r a p T o k e n   a n d   f i l e   a r e   m u t u a l l y   e x c l u s i v e .   f i l e   i s   u s e d   t o   s p e c i f y   a   f i l e   o r   U R L   t o   a   k u b e c o n f i g   f i l e   f r o m   w h i c h   t o   l o a d   c l u s t e r   i n f o r m a t i o n .   b o o t s t r a p T o k e n   a n d   f i l e   a r e   m u t u a l l y   e x c l u s i v e .   t l s B o o t s t r a p T o k e n   i s   a   t o k e n   u s e d   f o r   T L S   b o o t s t r a p p i n g .   I f   b o o t s t r a p T o k e n   i s   s e t ,   t h i s   f i e l d   i s   d e f a u l t e d   t o   . b o o t s t r a p T o k e n . t o k e n ,   b u t   c a n   b e   o v e r r i d d e n .   I f   f i l e   i s   s e t ,   t h i s   f i e l d   m u s t   b e   s e t   i n   c a s e   t h e   K u b e C o n f i g F i l e   d o e s   n o t   c o n t a i n   a n y   o t h e r   a u t h e n t i c a t i o n   i n f o r m a t i o n   t i m e o u t   m o d i f i e s   t h e   d i s c o v e r y   t i m e o u t .


Question: What is Etcd?

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


Question: What is ExternalEtcd?

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


Question: What is FileDiscovery?

Answer: A p p e a r s   i n :   D i s c o v e r y   F i l e D i s c o v e r y   i s   u s e d   t o   s p e c i f y   a   f i l e   o r   U R L   t o   a   k u b e c o n f i g   f i l e   f r o m   w h i c h   t o   l o a d   c l u s t e r   i n f o r m a t i o n .   k u b e C o n f i g P a t h   i s   u s e d   t o   s p e c i f y   t h e   a c t u a l   f i l e   p a t h   o r   U R L   t o   t h e   k u b e c o n f i g   f i l e   f r o m   w h i c h   t o   l o a d   c l u s t e r   i n f o r m a t i o n .


Question: What is HostPathMount?

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


Question: What is ImageMeta?

Answer: A p p e a r s   i n :   D N S L o c a l E t c d   D N S   L o c a l E t c d   I m a g e M e t a   a l l o w s   t o   c u s t o m i z e   t h e   i m a g e   u s e d   f o r   c o m p o n e n t s   t h a t   a r e   n o t   o r i g i n a t e d   f r o m   t h e   K u b e r n e t e s / K u b e r n e t e s   r e l e a s e   p r o c e s s   i m a g e R e p o s i t o r y   s e t s   t h e   c o n t a i n e r   r e g i s t r y   t o   p u l l   i m a g e s   f r o m .   I f   n o t   s e t ,   t h e   i m a g e R e p o s i t o r y   d e f i n e d   i n   C l u s t e r C o n f i g u r a t i o n   w i l l   b e   u s e d   i n s t e a d .   i m a g e T a g   a l l o w s   t o   s p e c i f y   a   t a g   f o r   t h e   i m a g e .   I n   c a s e   t h i s   v a l u e   i s   s e t ,   k u b e a d m   d o e s   n o t   c h a n g e   a u t o m a t i c a l l y   t h e   v e r s i o n   o f   t h e   a b o v e   c o m p o n e n t s   d u r i n g   u p g r a d e s .


Question: What is JoinControlPlane?

Answer: A p p e a r s   i n :   J o i n C o n f i g u r a t i o n   J o i n C o n t r o l P l a n e   c o n t a i n s   e l e m e n t s   d e s c r i b i n g   a n   a d d i t i o n a l   c o n t r o l   p l a n e   i n s t a n c e   t o   b e   d e p l o y e d   o n   t h e   j o i n i n g   n o d e .   l o c a l A P I E n d p o i n t   r e p r e s e n t s   t h e   e n d p o i n t   o f   t h e   A P I   s e r v e r   i n s t a n c e   t o   b e   d e p l o y e d   o n   t h i s   n o d e .   c e r t i f i c a t e K e y   i s   t h e   k e y   t h a t   i s   u s e d   f o r   d e c r y p t i o n   o f   c e r t i f i c a t e s   a f t e r   t h e y   a r e   d o w n l o a d e d   f r o m   t h e   s e c r e t   u p o n   j o i n i n g   a   n e w   c o n t r o l   p l a n e   n o d e .   T h e   c o r r e s p o n d i n g   e n c r y p t i o n   k e y   i s   i n   t h e   I n i t C o n f i g u r a t i o n .   T h e   c e r t i f i c a t e   k e y   i s   a   h e x   e n c o d e d   s t r i n g   t h a t   i s   a n   A E S   k e y   o f   s i z e   3 2   b y t e s .


Question: What is LocalEtcd?

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


Question: What is Networking?

Answer: A p p e a r s   i n :   C l u s t e r C o n f i g u r a t i o n   N e t w o r k i n g   c o n t a i n s   e l e m e n t s   d e s c r i b i n g   c l u s t e r ' s   n e t w o r k i n g   c o n f i g u r a t i o n .   s e r v i c e S u b n e t   i s   t h e   s u b n e t   u s e d   b y   K u b e r n e t e s   S e r v i c e s .   D e f a u l t s   t o   " 1 0 . 9 6 . 0 . 0 / 1 2 " .   p o d S u b n e t   i s   t h e   s u b n e t   u s e d   b y   P o d s .   d n s D o m a i n   i s   t h e   D N S   d o m a i n   u s e d   b y   K u b e r n e t e s   S e r v i c e s .   D e f a u l t s   t o   " c l u s t e r . l o c a l " .


Question: What is NodeRegistrationOptions?

Answer: A p p e a r s   i n :   I n i t C o n f i g u r a t i o n J o i n C o n f i g u r a t i o n   I n i t C o n f i g u r a t i o n   J o i n C o n f i g u r a t i o n   N o d e R e g i s t r a t i o n O p t i o n s   h o l d s   f i e l d s   t h a t   r e l a t e   t o   r e g i s t e r i n g   a   n e w   c o n t r o l - p l a n e   o r   n o d e   t o   t h e   c l u s t e r ,   e i t h e r   v i a   k u b e a d m   i n i t   o r   k u b e a d m   j o i n .   n a m e   i s   t h e   . m e t a d a t a . n a m e   f i e l d   o f   t h e   N o d e   A P I   o b j e c t   t h a t   w i l l   b e   c r e a t e d   i n   t h i s   k u b e a d m   i n i t   o r   k u b e a d m   j o i n   o p e r a t i o n .   T h i s   f i e l d   i s   a l s o   u s e d   i n   t h e   C o m m o n N a m e   f i e l d   o f   t h e   k u b e l e t ' s   c l i e n t   c e r t i f i c a t e   t o   t h e   A P I   s e r v e r .   D e f a u l t s   t o   t h e   h o s t n a m e   o f   t h e   n o d e   i f   n o t   p r o v i d e d .   c r i S o c k e t   i s   u s e d   t o   r e t r i e v e   c o n t a i n e r   r u n t i m e   i n f o .   T h i s   i n f o r m a t i o n   w i l l   b e   a n n o t a t e d   t o   t h e   N o d e   A P I   o b j e c t ,   f o r   l a t e r   r e - u s e .   t a i n t s   s p e c i f i e s   t h e   t a i n t s   t h e   N o d e   A P I   o b j e c t   s h o u l d   b e   r e g i s t e r e d   w i t h .   I f   t h i s   f i e l d   i s   u n s e t ,   i . e .   n i l ,   i t   w i l l   b e   d e f a u l t e d   w i t h   a   c o n t r o l - p l a n e   t a i n t   f o r   c o n t r o l - p l a n e   n o d e s .   I f   y o u   d o n ' t   w a n t   t o   t a i n t   y o u r   c o n t r o l - p l a n e   n o d e ,   s e t   t h i s   f i e l d   t o   a n   e m p t y   l i s t ,   i . e .   t a i n t s :   [ ]   i n   t h e   Y A M L   f i l e .   T h i s   f i e l d   i s   s o l e l y   u s e d   f o r   N o d e   r e g i s t r a t i o n .   k u b e l


Question: What is Patches?

Answer: A p p e a r s   i n :   I n i t C o n f i g u r a t i o n J o i n C o n f i g u r a t i o n   I n i t C o n f i g u r a t i o n   J o i n C o n f i g u r a t i o n   P a t c h e s   c o n t a i n s   o p t i o n s   r e l a t e d   t o   a p p l y i n g   p a t c h e s   t o   c o m p o n e n t s   d e p l o y e d   b y   k u b e a d m .   d i r e c t o r y   i s   a   p a t h   t o   a   d i r e c t o r y   t h a t   c o n t a i n s   f i l e s   n a m e d   " t a r g e t [ s u f f i x ] [ + p a t c h t y p e ] . e x t e n s i o n " .   F o r   e x a m p l e ,   " k u b e - a p i s e r v e r 0 + m e r g e . y a m l "   o r   j u s t   " e t c d . j s o n " .   " t a r g e t "   c a n   b e   o n e   o f   " k u b e - a p i s e r v e r " ,   " k u b e - c o n t r o l l e r - m a n a g e r " ,   " k u b e - s c h e d u l e r " ,   " e t c d " .   " p a t c h t y p e "   c a n   b e   o n e   o f   " s t r a t e g i c "   " m e r g e "   o r   " j s o n "   a n d   t h e y   m a t c h   t h e   p a t c h   f o r m a t s   s u p p o r t e d   b y   k u b e c t l .   T h e   d e f a u l t   " p a t c h t y p e "   i s   " s t r a t e g i c " .   " e x t e n s i o n "   m u s t   b e   e i t h e r   " j s o n "   o r   " y a m l " .   " s u f f i x "   i s   a n   o p t i o n a l   s t r i n g   t h a t   c a n   b e   u s e d   t o   d e t e r m i n e   w h i c h   p a t c h e s   a r e   a p p l i e d   f i r s t   a l p h a - n u m e r i c a l l y .   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 Apply Pod Security Standards at the Cluster Level?

Answer: Apply Pod Security Standards at the Cluster LevelNoteThis tutorial applies only for new clusters.Pod Security is an admission controller that carries out checks against the Kubernetes Pod Security Standards when new pods are created. It is a feature GA'ed in v1.25. This tutorial shows you how to enforce the baseline Pod Security Standard at the cluster level which applies a standard configuration to all namespaces in a cluster.To apply Pod Security Standards to specific namespaces, refer to Apply Pod Security Standards at the namespace level.If you are running a version of Kubernetes other than v1.34, check the documentation for that version.Before you beginInstall the following on your workstation:kindkubectlThis tutorial demonstrates what you can configure for a Kubernetes cluster that you fully control. If you are learning how to configure Pod Security Admission for a managed cluster where you are not able to configure the control plane, read Apply Pod Security Standards at the namespace level.Choose the right Pod Security Standard to applyPod Security Admission lets you apply built-in Pod Security Standards with the following modes: enforce, audit, and warn.To gather information that helps you to choose the Pod Security Standards that are most appropriate for your configuration, do the following:Create a cluster with no Pod Security Standards applied:kind create cluster --name psa-wo-cluster-pss The output is similar to:Creating cluster "psa-wo-cluster-pss" ... ✓ Ensuring node image (kindest/node:v1.34.0) 🖼 ✓ Preparing nodes 📦 ✓ Writing configuration 📜 ✓ Starting control-plane 🕹 ✓ Installing CNI 🔌 ✓ Installing StorageClass 💾 Set kubectl context to "kind-psa-wo-cluster-pss" You can now use your cluster with: kubectl cluster-info --context kind-psa-wo-cluster-pss Thanks for using kind! 😊 Set the kubectl context to the new cluster:kubectl cluster-info --context kind-psa-wo-cluster-pss The output is similar to this:Kubernetes control plane is running at https://127.0.0.1:61350 CoreDNS is running at https://127.0.0.1:61350/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. Get a list of namespaces in the cluster:kubectl get ns The output is similar to this:NAME STATUS AGE default Active 9m30s kube-node-lease Active 9m32s kube-public Active 9m32s kube-system Active 9m32s local-path-storage Active 9m26s Use --dry-run=server to understand what happens when different Pod Security Standards are applied:Privilegedkubectl label --dry-run=server --overwrite ns --all \ pod-security.kubernetes.io/enforce=privileged The output is similar to:namespace/default labeled namespace/kube-node-lease labeled namespace/kube-public labeled namespace/kube-system labeled namespace/local-path-storage labeled Baselinekubectl label --dry-run=server --overwrite ns --all \ pod-security.kubernetes.io/enforce=baseline The output is similar to:namespace/default labeled namespace/kube-node-le


Question: How does Apply Pod Security Standards at the Cluster Level work?

Answer: Apply Pod Security Standards at the Cluster LevelNoteThis tutorial applies only for new clusters.Pod Security is an admission controller that carries out checks against the Kubernetes Pod Security Standards when new pods are created. It is a feature GA'ed in v1.25. This tutorial shows you how to enforce the baseline Pod Security Standard at the cluster level which applies a standard configuration to all namespaces in a cluster.To apply Pod Security Standards to specific namespaces, refer to Apply Pod Security Standards at the namespace level.If you are running a version of Kubernetes other than v1.34, check the documentation for that version.Before you beginInstall the following on your workstation:kindkubectlThis tutorial demonstrates what you can configure for a Kubernetes cluster that you fully control. If you are learning how to configure Pod Security Admission for a managed cluster where you are not able to configure the control plane, read Apply Pod Security Standards at the namespace level.Choose the right Pod Security Standard to applyPod Security Admission lets you apply built-in Pod Security Standards with the following modes: enforce, audit, and warn.To gather information that helps you to choose the Pod Security Standards that are most appropriate for your configuration, do the following:Create a cluster with no Pod Security Standards applied:kind create cluster --name psa-wo-cluster-pss The output is similar to:Creating cluster "psa-wo-cluster-pss" ... ✓ Ensuring node image (kindest/node:v1.34.0) 🖼 ✓ Preparing nodes 📦 ✓ Writing configuration 📜 ✓ Starting control-plane 🕹 ✓ Installing CNI 🔌 ✓ Installing StorageClass 💾 Set kubectl context to "kind-psa-wo-cluster-pss" You can now use your cluster with: kubectl cluster-info --context kind-psa-wo-cluster-pss Thanks for using kind! 😊 Set the kubectl context to the new cluster:kubectl cluster-info --context kind-psa-wo-cluster-pss The output is similar to this:Kubernetes control plane is running at https://127.0.0.1:61350 CoreDNS is running at https://127.0.0.1:61350/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. Get a list of namespaces in the cluster:kubectl get ns The output is similar to this:NAME STATUS AGE default Active 9m30s kube-node-lease Active 9m32s kube-public Active 9m32s kube-system Active 9m32s local-path-storage Active 9m26s Use --dry-run=server to understand what happens when different Pod Security Standards are applied:Privilegedkubectl label --dry-run=server --overwrite ns --all \ pod-security.kubernetes.io/enforce=privileged The output is similar to:namespace/default labeled namespace/kube-node-lease labeled namespace/kube-public labeled namespace/kube-system labeled namespace/local-path-storage labeled Baselinekubectl label --dry-run=server --overwrite ns --all \ pod-security.kubernetes.io/enforce=baseline The output is similar to:namespace/default labeled namespace/kube-node-le


Question: When would you use Apply Pod Security Standards at the Cluster Level?

Answer: Apply Pod Security Standards at the Cluster LevelNoteThis tutorial applies only for new clusters.Pod Security is an admission controller that carries out checks against the Kubernetes Pod Security Standards when new pods are created. It is a feature GA'ed in v1.25. This tutorial shows you how to enforce the baseline Pod Security Standard at the cluster level which applies a standard configuration to all namespaces in a cluster.To apply Pod Security Standards to specific namespaces, refer to Apply Pod Security Standards at the namespace level.If you are running a version of Kubernetes other than v1.34, check the documentation for that version.Before you beginInstall the following on your workstation:kindkubectlThis tutorial demonstrates what you can configure for a Kubernetes cluster that you fully control. If you are learning how to configure Pod Security Admission for a managed cluster where you are not able to configure the control plane, read Apply Pod Security Standards at the namespace level.Choose the right Pod Security Standard to applyPod Security Admission lets you apply built-in Pod Security Standards with the following modes: enforce, audit, and warn.To gather information that helps you to choose the Pod Security Standards that are most appropriate for your configuration, do the following:Create a cluster with no Pod Security Standards applied:kind create cluster --name psa-wo-cluster-pss The output is similar to:Creating cluster "psa-wo-cluster-pss" ... ✓ Ensuring node image (kindest/node:v1.34.0) 🖼 ✓ Preparing nodes 📦 ✓ Writing configuration 📜 ✓ Starting control-plane 🕹 ✓ Installing CNI 🔌 ✓ Installing StorageClass 💾 Set kubectl context to "kind-psa-wo-cluster-pss" You can now use your cluster with: kubectl cluster-info --context kind-psa-wo-cluster-pss Thanks for using kind! 😊 Set the kubectl context to the new cluster:kubectl cluster-info --context kind-psa-wo-cluster-pss The output is similar to this:Kubernetes control plane is running at https://127.0.0.1:61350 CoreDNS is running at https://127.0.0.1:61350/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. Get a list of namespaces in the cluster:kubectl get ns The output is similar to this:NAME STATUS AGE default Active 9m30s kube-node-lease Active 9m32s kube-public Active 9m32s kube-system Active 9m32s local-path-storage Active 9m26s Use --dry-run=server to understand what happens when different Pod Security Standards are applied:Privilegedkubectl label --dry-run=server --overwrite ns --all \ pod-security.kubernetes.io/enforce=privileged The output is similar to:namespace/default labeled namespace/kube-node-lease labeled namespace/kube-public labeled namespace/kube-system labeled namespace/local-path-storage labeled Baselinekubectl label --dry-run=server --overwrite ns --all \ pod-security.kubernetes.io/enforce=baseline The output is similar to:namespace/default labeled namespace/kube-node-le


Question: What are the benefits of Apply Pod Security Standards at the Cluster Level?

Answer: Apply Pod Security Standards at the Cluster LevelNoteThis tutorial applies only for new clusters.Pod Security is an admission controller that carries out checks against the Kubernetes Pod Security Standards when new pods are created. It is a feature GA'ed in v1.25. This tutorial shows you how to enforce the baseline Pod Security Standard at the cluster level which applies a standard configuration to all namespaces in a cluster.To apply Pod Security Standards to specific namespaces, refer to Apply Pod Security Standards at the namespace level.If you are running a version of Kubernetes other than v1.34, check the documentation for that version.Before you beginInstall the following on your workstation:kindkubectlThis tutorial demonstrates what you can configure for a Kubernetes cluster that you fully control. If you are learning how to configure Pod Security Admission for a managed cluster where you are not able to configure the control plane, read Apply Pod Security Standards at the namespace level.Choose the right Pod Security Standard to applyPod Security Admission lets you apply built-in Pod Security Standards with the following modes: enforce, audit, and warn.To gather information that helps you to choose the Pod Security Standards that are most appropriate for your configuration, do the following:Create a cluster with no Pod Security Standards applied:kind create cluster --name psa-wo-cluster-pss The output is similar to:Creating cluster "psa-wo-cluster-pss" ... ✓ Ensuring node image (kindest/node:v1.34.0) 🖼 ✓ Preparing nodes 📦 ✓ Writing configuration 📜 ✓ Starting control-plane 🕹 ✓ Installing CNI 🔌 ✓ Installing StorageClass 💾 Set kubectl context to "kind-psa-wo-cluster-pss" You can now use your cluster with: kubectl cluster-info --context kind-psa-wo-cluster-pss Thanks for using kind! 😊 Set the kubectl context to the new cluster:kubectl cluster-info --context kind-psa-wo-cluster-pss The output is similar to this:Kubernetes control plane is running at https://127.0.0.1:61350 CoreDNS is running at https://127.0.0.1:61350/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. Get a list of namespaces in the cluster:kubectl get ns The output is similar to this:NAME STATUS AGE default Active 9m30s kube-node-lease Active 9m32s kube-public Active 9m32s kube-system Active 9m32s local-path-storage Active 9m26s Use --dry-run=server to understand what happens when different Pod Security Standards are applied:Privilegedkubectl label --dry-run=server --overwrite ns --all \ pod-security.kubernetes.io/enforce=privileged The output is similar to:namespace/default labeled namespace/kube-node-lease labeled namespace/kube-public labeled namespace/kube-system labeled namespace/local-path-storage labeled Baselinekubectl label --dry-run=server --overwrite ns --all \ pod-security.kubernetes.io/enforce=baseline The output is similar to:namespace/default labeled namespace/kube-node-le


Question: What is Note?

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


Question: What is Before you begin?

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


Question: What is Choose the right Pod Security Standard to apply?

Answer: P o d   S e c u r i t y   A d m i s s i o n   l e t s   y o u   a p p l y   b u i l t - i n   P o d   S e c u r i t y   S t a n d a r d s   w i t h   t h e   f o l l o w i n g   m o d e s :   e n f o r c e ,   a u d i t ,   a n d   w a r n .   T o   g a t h e r   i n f o r m a t i o n   t h a t   h e l p s   y o u   t o   c h o o s e   t h e   P o d   S e c u r i t y   S t a n d a r d s   t h a t   a r e   m o s t   a p p r o p r i a t e   f o r   y o u r   c o n f i g u r a t i o n ,   d o   t h e   f o l l o w i n g :   C r e a t e   a   c l u s t e r   w i t h   n o   P o d   S e c u r i t y   S t a n d a r d s   a p p l i e d : k i n d   c r e a t e   c l u s t e r   - - n a m e   p s a - w o - c l u s t e r - p s s   T h e   o u t p u t   i s   s i m i l a r   t o : C r e a t i n g   c l u s t e r   " p s a - w o - c l u s t e r - p s s "   . . .   ✓   E n s u r i n g   n o d e   i m a g e   ( k i n d e s t / n o d e : v 1 . 3 4 . 0 )   🖼   ✓   P r e p a r i n g   n o d e s   📦   ✓   W r i t i n g   c o n f i g u r a t i o n   📜   ✓   S t a r t i n g   c o n t r o l - p l a n e   🕹    ✓   I n s t a l l i n g   C N I   🔌   ✓   I n s t a l l i n g   S t o r a g e C l a s s   💾   S e t   k u b e c t l   c o n t e x t   t o   " k i n d - p s a - w o - c l u s t e r - p s s "   Y o u   c a n   n o w   u s e   y o u r   c l u s t e r   w i t h :   k u b e c t l   c l u s t e r - i n f o   - - c o n t e x t   k i n d - p s a - w o - c l u s t e r - p s s   T h a n k s   f o r   u s i n g   k i n d !   😊   S e t   t h e   k u b e c t l   c o n t e x t   t o   t h e   n e w   c l u s t e r : k u b e c t l   c l u s t e r - i n f o   - - c o n t e x t   k i n d - p s a - w o - c l u s t e r - p s s   T h e   o u t p u t   i s   s i m i l a r   t o   t h i s : K u b e r n e t e s   c o n t r o l   p l a n e   i s   r u n n i n g   a t   h t t p s : / / 1 2 7 . 0 . 0 . 1 : 6 1 3 5 0   C o r e D N S   i s   r u n n i n g   a t   h t t p s : / / 1 2 7 . 0 . 0 . 1 : 6 1 3 5


Question: What is Set modes, versions and standards?

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


Question: What is Note:?

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


Question: What is Note:?

Answer: C r e a t e   a   c l u s t e r   t h a t   u s e s   P o d   S e c u r i t y   A d m i s s i o n   t o   a p p l y   t h e s e   P o d   S e c u r i t y   S t a n d a r d s :   k i n d   c r e a t e   c l u s t e r   - - n a m e   p s a - w i t h - c l u s t e r - p s s   - - c o n f i g   / t m p / p s s / c l u s t e r - c o n f i g . y a m l   T h e   o u t p u t   i s   s i m i l a r   t o   t h i s :   C r e a t i n g   c l u s t e r   " p s a - w i t h - c l u s t e r - p s s "   . . .   ✓   E n s u r i n g   n o d e   i m a g e   ( k i n d e s t / n o d e : v 1 . 3 4 . 0 )   🖼   ✓   P r e p a r i n g   n o d e s   📦   ✓   W r i t i n g   c o n f i g u r a t i o n   📜   ✓   S t a r t i n g   c o n t r o l - p l a n e   🕹    ✓   I n s t a l l i n g   C N I   🔌   ✓   I n s t a l l i n g   S t o r a g e C l a s s   💾   S e t   k u b e c t l   c o n t e x t   t o   " k i n d - p s a - w i t h - c l u s t e r - p s s "   Y o u   c a n   n o w   u s e   y o u r   c l u s t e r   w i t h :   k u b e c t l   c l u s t e r - i n f o   - - c o n t e x t   k i n d - p s a - w i t h - c l u s t e r - p s s   H a v e   a   q u e s t i o n ,   b u g ,   o r   f e a t u r e   r e q u e s t ?   L e t   u s   k n o w !   h t t p s : / / k i n d . s i g s . k 8 s . i o / # c o m m u n i t y   🙂   P o i n t   k u b e c t l   t o   t h e   c l u s t e r :   k u b e c t l   c l u s t e r - i n f o   - - c o n t e x t   k i n d - p s a - w i t h - c l u s t e r - p s s   T h e   o u t p u t   i s   s i m i l a r   t o   t h i s :   K u b e r n e t e s   c o n t r o l   p l a n e   i s   r u n n i n g   a t   h t t p s : / / 1 2 7 . 0 . 0 . 1 : 6 3 8 5 5   C o r e D N S   i s   r u n n i n g   a t   h t t p s : / / 1 2 7 . 0 . 0 . 1 : 6 3 8 5 5 / a p i / v 1 / n a m e s p a c e s / k u b e - s y s t e m / s e r v i c e s / k u b e - d n s : d n s / p r o x y   T o   f u r t h e r   d e b u g   a n d   d i a g n o s e   c l u s t e r   p r o b l e m s ,   u s e   ' k u b e c t l


Question: What is Clean up?

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


Question: What is What's next?

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


Question: What is Migrating from dockershim?

Answer: Migrating from dockershimThis section presents information you need to know when migrating from dockershim to other container runtimes.Since the announcement of dockershim deprecation in Kubernetes 1.20, there were questions on how this will affect various workloads and Kubernetes installations. Our Dockershim Removal FAQ is there to help you to understand the problem better.Dockershim was removed from Kubernetes with the release of v1.24. If you use Docker Engine via dockershim as your container runtime and wish to upgrade to v1.24, it is recommended that you either migrate to another runtime or find an alternative means to obtain Docker Engine support. Check out the container runtimes section to know your options.The version of Kubernetes with dockershim (1.23) is out of support and the v1.24 will run out of support soon. Make sure to report issues you encountered with the migration so the issues can be fixed in a timely manner and your cluster would be ready for dockershim removal. After v1.24 running out of support, you will need to contact your Kubernetes provider for support or upgrade multiple versions at a time if there are critical issues affecting your cluster.Your cluster might have more than one kind of node, although this is not a common configuration.These tasks will help you to migrate:Check whether Dockershim removal affects youMigrating telemetry and security agents from dockershimWhat's nextCheck out container runtimes to understand your options for an alternative.If you find a defect or other technical concern relating to migrating away from dockershim, you can report an issue to the Kubernetes project.


Question: How does Migrating from dockershim work?

Answer: Migrating from dockershimThis section presents information you need to know when migrating from dockershim to other container runtimes.Since the announcement of dockershim deprecation in Kubernetes 1.20, there were questions on how this will affect various workloads and Kubernetes installations. Our Dockershim Removal FAQ is there to help you to understand the problem better.Dockershim was removed from Kubernetes with the release of v1.24. If you use Docker Engine via dockershim as your container runtime and wish to upgrade to v1.24, it is recommended that you either migrate to another runtime or find an alternative means to obtain Docker Engine support. Check out the container runtimes section to know your options.The version of Kubernetes with dockershim (1.23) is out of support and the v1.24 will run out of support soon. Make sure to report issues you encountered with the migration so the issues can be fixed in a timely manner and your cluster would be ready for dockershim removal. After v1.24 running out of support, you will need to contact your Kubernetes provider for support or upgrade multiple versions at a time if there are critical issues affecting your cluster.Your cluster might have more than one kind of node, although this is not a common configuration.These tasks will help you to migrate:Check whether Dockershim removal affects youMigrating telemetry and security agents from dockershimWhat's nextCheck out container runtimes to understand your options for an alternative.If you find a defect or other technical concern relating to migrating away from dockershim, you can report an issue to the Kubernetes project.


Question: When would you use Migrating from dockershim?

Answer: Migrating from dockershimThis section presents information you need to know when migrating from dockershim to other container runtimes.Since the announcement of dockershim deprecation in Kubernetes 1.20, there were questions on how this will affect various workloads and Kubernetes installations. Our Dockershim Removal FAQ is there to help you to understand the problem better.Dockershim was removed from Kubernetes with the release of v1.24. If you use Docker Engine via dockershim as your container runtime and wish to upgrade to v1.24, it is recommended that you either migrate to another runtime or find an alternative means to obtain Docker Engine support. Check out the container runtimes section to know your options.The version of Kubernetes with dockershim (1.23) is out of support and the v1.24 will run out of support soon. Make sure to report issues you encountered with the migration so the issues can be fixed in a timely manner and your cluster would be ready for dockershim removal. After v1.24 running out of support, you will need to contact your Kubernetes provider for support or upgrade multiple versions at a time if there are critical issues affecting your cluster.Your cluster might have more than one kind of node, although this is not a common configuration.These tasks will help you to migrate:Check whether Dockershim removal affects youMigrating telemetry and security agents from dockershimWhat's nextCheck out container runtimes to understand your options for an alternative.If you find a defect or other technical concern relating to migrating away from dockershim, you can report an issue to the Kubernetes project.


Question: What are the benefits of Migrating from dockershim?

Answer: Migrating from dockershimThis section presents information you need to know when migrating from dockershim to other container runtimes.Since the announcement of dockershim deprecation in Kubernetes 1.20, there were questions on how this will affect various workloads and Kubernetes installations. Our Dockershim Removal FAQ is there to help you to understand the problem better.Dockershim was removed from Kubernetes with the release of v1.24. If you use Docker Engine via dockershim as your container runtime and wish to upgrade to v1.24, it is recommended that you either migrate to another runtime or find an alternative means to obtain Docker Engine support. Check out the container runtimes section to know your options.The version of Kubernetes with dockershim (1.23) is out of support and the v1.24 will run out of support soon. Make sure to report issues you encountered with the migration so the issues can be fixed in a timely manner and your cluster would be ready for dockershim removal. After v1.24 running out of support, you will need to contact your Kubernetes provider for support or upgrade multiple versions at a time if there are critical issues affecting your cluster.Your cluster might have more than one kind of node, although this is not a common configuration.These tasks will help you to migrate:Check whether Dockershim removal affects youMigrating telemetry and security agents from dockershimWhat's nextCheck out container runtimes to understand your options for an alternative.If you find a defect or other technical concern relating to migrating away from dockershim, you can report an issue to the Kubernetes project.


Question: What is Migrating from dockershim?

Answer: T h i s   s e c t i o n   p r e s e n t s   i n f o r m a t i o n   y o u   n e e d   t o   k n o w   w h e n   m i g r a t i n g   f r o m   d o c k e r s h i m   t o   o t h e r   c o n t a i n e r   r u n t i m e s .   S i n c e   t h e   a n n o u n c e m e n t   o f   d o c k e r s h i m   d e p r e c a t i o n   i n   K u b e r n e t e s   1 . 2 0 ,   t h e r e   w e r e   q u e s t i o n s   o n   h o w   t h i s   w i l l   a f f e c t   v a r i o u s   w o r k l o a d s   a n d   K u b e r n e t e s   i n s t a l l a t i o n s .   O u r   D o c k e r s h i m   R e m o v a l   F A Q   i s   t h e r e   t o   h e l p   y o u   t o   u n d e r s t a n d   t h e   p r o b l e m   b e t t e r .   D o c k e r s h i m   w a s   r e m o v e d   f r o m   K u b e r n e t e s   w i t h   t h e   r e l e a s e   o f   v 1 . 2 4 .   I f   y o u   u s e   D o c k e r   E n g i n e   v i a   d o c k e r s h i m   a s   y o u r   c o n t a i n e r   r u n t i m e   a n d   w i s h   t o   u p g r a d e   t o   v 1 . 2 4 ,   i t   i s   r e c o m m e n d e d   t h a t   y o u   e i t h e r   m i g r a t e   t o   a n o t h e r   r u n t i m e   o r   f i n d   a n   a l t e r n a t i v e   m e a n s   t o   o b t a i n   D o c k e r   E n g i n e   s u p p o r t .   C h e c k   o u t   t h e   c o n t a i n e r   r u n t i m e s   s e c t i o n   t o   k n o w   y o u r   o p t i o n s .   T h e   v e r s i o n   o f   K u b e r n e t e s   w i t h   d o c k e r s h i m   ( 1 . 2 3 )   i s   o u t   o f   s u p p o r t   a n d   t h e   v 1 . 2 4   w i l l   r u n   o u t   o f   s u p p o r t   s o o n .   M a k e   s u r e   t o   r e p o r t   i s s u e s   y o u   e n c o u n t e r e d   w i t h   t h e   m i g r a t i o n   s o   t h e   i s s u e s   c a n   b e   f i x e d   i n   a   t i m e l y   m a n n e r   a n d   y o u r   c l u s t e r   w o u l d   b e   r e a d y   f o r   d o c k e r s h i m   r e m o v a l .   A f t e r   v 1 . 2 4   r u n n i n g   o u


Question: What is What's next?

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


Question: What is ControllerRevision?

Answer: ControllerRevisionControllerRevision implements an immutable snapshot of state data.apiVersion: apps/v1import "k8s.io/api/apps/v1"ControllerRevisionControllerRevision implements an immutable snapshot of state data. Clients are responsible for serializing and deserializing the objects that contain their internal state. Once a ControllerRevision has been successfully created, it can not be updated. The API Server will fail validation of all requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However, it may be subject to name and representation changes in future releases, and clients should not depend on its stability. It is primarily for internal use by controllers.apiVersion: apps/v1kind: ControllerRevisionmetadata (ObjectMeta)Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadatarevision (int64), requiredRevision indicates the revision of the state represented by Data.data (RawExtension)Data is the serialized representation of the state.*RawExtension is used to hold extensions in external versions.To use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.// Internal package:type MyAPIObject struct { runtime.TypeMeta json:",inline" MyPlugin runtime.Object json:"myPlugin" }type PluginA struct { AOption string json:"aOption" }// External package:type MyAPIObject struct { runtime.TypeMeta json:",inline" MyPlugin runtime.RawExtension json:"myPlugin" }type PluginA struct { AOption string json:"aOption" }// On the wire, the JSON will look something like this:{ "kind":"MyAPIObject", "apiVersion":"v1", "myPlugin": { "kind":"PluginA", "aOption":"foo", }, }So what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)*ControllerRevisionListControllerRevisionList is a resource containing a list of ControllerRevision objects.apiVersion: apps/v1kind: ControllerRevisionListmetadata (ListMeta)More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataitems ([]ControllerRevision), requiredItems is the list of ControllerRevisionsOperationsget read the specified ControllerRevisionHTTP RequestGET /apis/apps/v1/namespaces/{namespace}/controllerrevisions/{name}Parametersname (in path):


Question: How does ControllerRevision work?

Answer: ControllerRevisionControllerRevision implements an immutable snapshot of state data.apiVersion: apps/v1import "k8s.io/api/apps/v1"ControllerRevisionControllerRevision implements an immutable snapshot of state data. Clients are responsible for serializing and deserializing the objects that contain their internal state. Once a ControllerRevision has been successfully created, it can not be updated. The API Server will fail validation of all requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However, it may be subject to name and representation changes in future releases, and clients should not depend on its stability. It is primarily for internal use by controllers.apiVersion: apps/v1kind: ControllerRevisionmetadata (ObjectMeta)Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadatarevision (int64), requiredRevision indicates the revision of the state represented by Data.data (RawExtension)Data is the serialized representation of the state.*RawExtension is used to hold extensions in external versions.To use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.// Internal package:type MyAPIObject struct { runtime.TypeMeta json:",inline" MyPlugin runtime.Object json:"myPlugin" }type PluginA struct { AOption string json:"aOption" }// External package:type MyAPIObject struct { runtime.TypeMeta json:",inline" MyPlugin runtime.RawExtension json:"myPlugin" }type PluginA struct { AOption string json:"aOption" }// On the wire, the JSON will look something like this:{ "kind":"MyAPIObject", "apiVersion":"v1", "myPlugin": { "kind":"PluginA", "aOption":"foo", }, }So what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)*ControllerRevisionListControllerRevisionList is a resource containing a list of ControllerRevision objects.apiVersion: apps/v1kind: ControllerRevisionListmetadata (ListMeta)More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataitems ([]ControllerRevision), requiredItems is the list of ControllerRevisionsOperationsget read the specified ControllerRevisionHTTP RequestGET /apis/apps/v1/namespaces/{namespace}/controllerrevisions/{name}Parametersname (in path):


Question: When would you use ControllerRevision?

Answer: ControllerRevisionControllerRevision implements an immutable snapshot of state data.apiVersion: apps/v1import "k8s.io/api/apps/v1"ControllerRevisionControllerRevision implements an immutable snapshot of state data. Clients are responsible for serializing and deserializing the objects that contain their internal state. Once a ControllerRevision has been successfully created, it can not be updated. The API Server will fail validation of all requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However, it may be subject to name and representation changes in future releases, and clients should not depend on its stability. It is primarily for internal use by controllers.apiVersion: apps/v1kind: ControllerRevisionmetadata (ObjectMeta)Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadatarevision (int64), requiredRevision indicates the revision of the state represented by Data.data (RawExtension)Data is the serialized representation of the state.*RawExtension is used to hold extensions in external versions.To use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.// Internal package:type MyAPIObject struct { runtime.TypeMeta json:",inline" MyPlugin runtime.Object json:"myPlugin" }type PluginA struct { AOption string json:"aOption" }// External package:type MyAPIObject struct { runtime.TypeMeta json:",inline" MyPlugin runtime.RawExtension json:"myPlugin" }type PluginA struct { AOption string json:"aOption" }// On the wire, the JSON will look something like this:{ "kind":"MyAPIObject", "apiVersion":"v1", "myPlugin": { "kind":"PluginA", "aOption":"foo", }, }So what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)*ControllerRevisionListControllerRevisionList is a resource containing a list of ControllerRevision objects.apiVersion: apps/v1kind: ControllerRevisionListmetadata (ListMeta)More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataitems ([]ControllerRevision), requiredItems is the list of ControllerRevisionsOperationsget read the specified ControllerRevisionHTTP RequestGET /apis/apps/v1/namespaces/{namespace}/controllerrevisions/{name}Parametersname (in path):


Question: What are the benefits of ControllerRevision?

Answer: ControllerRevisionControllerRevision implements an immutable snapshot of state data.apiVersion: apps/v1import "k8s.io/api/apps/v1"ControllerRevisionControllerRevision implements an immutable snapshot of state data. Clients are responsible for serializing and deserializing the objects that contain their internal state. Once a ControllerRevision has been successfully created, it can not be updated. The API Server will fail validation of all requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However, it may be subject to name and representation changes in future releases, and clients should not depend on its stability. It is primarily for internal use by controllers.apiVersion: apps/v1kind: ControllerRevisionmetadata (ObjectMeta)Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadatarevision (int64), requiredRevision indicates the revision of the state represented by Data.data (RawExtension)Data is the serialized representation of the state.*RawExtension is used to hold extensions in external versions.To use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.// Internal package:type MyAPIObject struct { runtime.TypeMeta json:",inline" MyPlugin runtime.Object json:"myPlugin" }type PluginA struct { AOption string json:"aOption" }// External package:type MyAPIObject struct { runtime.TypeMeta json:",inline" MyPlugin runtime.RawExtension json:"myPlugin" }type PluginA struct { AOption string json:"aOption" }// On the wire, the JSON will look something like this:{ "kind":"MyAPIObject", "apiVersion":"v1", "myPlugin": { "kind":"PluginA", "aOption":"foo", }, }So what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)*ControllerRevisionListControllerRevisionList is a resource containing a list of ControllerRevision objects.apiVersion: apps/v1kind: ControllerRevisionListmetadata (ListMeta)More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadataitems ([]ControllerRevision), requiredItems is the list of ControllerRevisionsOperationsget read the specified ControllerRevisionHTTP RequestGET /apis/apps/v1/namespaces/{namespace}/controllerrevisions/{name}Parametersname (in path):


Question: What is ControllerRevision?

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 ControllerRevision?

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


Question: What is ControllerRevisionList?

Answer: C o n t r o l l e r R e v i s i o n L i s t   i s   a   r e s o u r c e   c o n t a i n i n g   a   l i s t   o f   C o n t r o l l e r R e v i s i o n   o b j e c t s .   a p i V e r s i o n :   a p p s / v 1 k i n d :   C o n t r o l l e r R e v i s i o n L i s t m e t a d a t a   ( L i s t M e 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   ( [ ] C o n t r o l l e r R e v i s i o n ) ,   r e q u i r e d I t e m s   i s   t h e   l i s t   o f   C o n t r o l l e r R e v i s i o n s   a p i V e r s i o n :   a p p s / v 1   k i n d :   C o n t r o l l e r R e v i s i o n L i s t   m e t a d a t a   ( L i s t M e 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   ( [ ] C o n t r o l l e r R e v i s i o n ) ,   r e q u i r e d   I t e m s   i s   t h e   l i s t   o f   C o n t r o l l e r R e v i s i o n 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 } / c o n t r o l l e r r e v i s i o n s / { n a m e }


Question: What is Parameters?

Answer: n a m e   ( i n   p a t h ) :   s t r i n g ,   r e q u i r e d n a m e   o f   t h e   C o n t r o l l e r R e v i s i o n 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   C o n t r o l l e r R e v i s i o n   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   ( C o n t r o l l e r R e v i s i o n ) :   O K   4 0 1 :   U n a u t h o r i z e d


Question: What is HTTP Request?

Answer: G E T   / a p i s / 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 } / c o n t r o l l e r r e v i s i o n 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   ( C o n t r o l l e r R e v i s i o n L i s t ) :   O K   4 0 1 :   U n a u t h o r i z e d


Question: What is HTTP Request?

Answer: G E T   / a p i s / a p p s / v 1 / c o n t r o l l e r r e v i s i o n s


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: P O S T   / a p i s / 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 } / c o n t r o l l e r r e v i s i o n 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 :   C o n t r o l l e r R e v i s i o n ,   r e q u i r e d d r y R u n   ( i n   q u e r y ) :   s t r i n g d r y R u n f i e l d M a n a g e r   ( i n   q u e r y ) :   s t r i n g f i e l d M a n a g e r f i e l d V a l i d a t i o n   ( i n   q u e r y ) :   s t r i n g f i e l d V a l i d a t i o n p r e t t y   ( i n   q u e r y ) :   s t r i n g p r e t t y   n a m e 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 :   C o n t r o l l e r R e v i s i o n ,   r e q u i r e d   d r y R u n   ( i n   q u e r y ) :   s t r i n g   d r y R u n   f i e l d M a n a g e r   ( i n   q u e r y ) :   s t r i n g   f i e l d M a n a g e r   f i e l d V a l i d a t i o n   ( i n   q u e r y ) :   s t r i n g   f i e l d V a l i d a t i o n   p r e t t y   ( i n   q u e r y ) :   s t r i n g   p r e t t y


Question: What is Response?

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


Question: What is HTTP Request?

Answer: P U T   / a p i s / 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 } / c o n t r o l l e r r e v i s i o n s / { n a m e }