Question: What is Hardening Guide - Authentication Mechanisms?

Answer: Hardening Guide - Authentication MechanismsInformation on authentication options in Kubernetes and their security properties.Selecting the appropriate authentication mechanism(s) is a crucial aspect of securing your cluster. Kubernetes provides several built-in mechanisms, each with its own strengths and weaknesses that should be carefully considered when choosing the best authentication mechanism for your cluster.In general, it is recommended to enable as few authentication mechanisms as possible to simplify user management and prevent cases where users retain access to a cluster that is no longer required.It is important to note that Kubernetes does not have an in-built user database within the cluster. Instead, it takes user information from the configured authentication system and uses that to make authorization decisions. Therefore, to audit user access, you need to review credentials from every configured authentication source.For production clusters with multiple users directly accessing the Kubernetes API, it is recommended to use external authentication sources such as OIDC. The internal authentication mechanisms, such as client certificates and service account tokens, described below, are not suitable for this use case.X.509 client certificate authenticationKubernetes leverages X.509 client certificate authentication for system components, such as when the kubelet authenticates to the API Server. While this mechanism can also be used for user authentication, it might not be suitable for production use due to several restrictions:Client certificates cannot be individually revoked. Once compromised, a certificate can be used by an attacker until it expires. To mitigate this risk, it is recommended to configure short lifetimes for user authentication credentials created using client certificates.If a certificate needs to be invalidated, the certificate authority must be re-keyed, which can introduce availability risks to the cluster.There is no permanent record of client certificates created in the cluster. Therefore, all issued certificates must be recorded if you need to keep track of them.Private keys used for client certificate authentication cannot be password-protected. Anyone who can read the file containing the key will be able to make use of it.Using client certificate authentication requires a direct connection from the client to the API server without any intervening TLS termination points, which can complicate network architectures.Group data is embedded in the O value of the client certificate, which means the user's group memberships cannot be changed for the lifetime of the certificate.Static token fileAlthough Kubernetes allows you to load credentials from a static token file located on the control plane node disks, this approach is not recommended for production servers due to several reasons:Credentials are stored in clear text on control plane node disks, which can be a security risk.Changing any credential requires a re


Question: How does Hardening Guide - Authentication Mechanisms work?

Answer: Hardening Guide - Authentication MechanismsInformation on authentication options in Kubernetes and their security properties.Selecting the appropriate authentication mechanism(s) is a crucial aspect of securing your cluster. Kubernetes provides several built-in mechanisms, each with its own strengths and weaknesses that should be carefully considered when choosing the best authentication mechanism for your cluster.In general, it is recommended to enable as few authentication mechanisms as possible to simplify user management and prevent cases where users retain access to a cluster that is no longer required.It is important to note that Kubernetes does not have an in-built user database within the cluster. Instead, it takes user information from the configured authentication system and uses that to make authorization decisions. Therefore, to audit user access, you need to review credentials from every configured authentication source.For production clusters with multiple users directly accessing the Kubernetes API, it is recommended to use external authentication sources such as OIDC. The internal authentication mechanisms, such as client certificates and service account tokens, described below, are not suitable for this use case.X.509 client certificate authenticationKubernetes leverages X.509 client certificate authentication for system components, such as when the kubelet authenticates to the API Server. While this mechanism can also be used for user authentication, it might not be suitable for production use due to several restrictions:Client certificates cannot be individually revoked. Once compromised, a certificate can be used by an attacker until it expires. To mitigate this risk, it is recommended to configure short lifetimes for user authentication credentials created using client certificates.If a certificate needs to be invalidated, the certificate authority must be re-keyed, which can introduce availability risks to the cluster.There is no permanent record of client certificates created in the cluster. Therefore, all issued certificates must be recorded if you need to keep track of them.Private keys used for client certificate authentication cannot be password-protected. Anyone who can read the file containing the key will be able to make use of it.Using client certificate authentication requires a direct connection from the client to the API server without any intervening TLS termination points, which can complicate network architectures.Group data is embedded in the O value of the client certificate, which means the user's group memberships cannot be changed for the lifetime of the certificate.Static token fileAlthough Kubernetes allows you to load credentials from a static token file located on the control plane node disks, this approach is not recommended for production servers due to several reasons:Credentials are stored in clear text on control plane node disks, which can be a security risk.Changing any credential requires a re


Question: When would you use Hardening Guide - Authentication Mechanisms?

Answer: Hardening Guide - Authentication MechanismsInformation on authentication options in Kubernetes and their security properties.Selecting the appropriate authentication mechanism(s) is a crucial aspect of securing your cluster. Kubernetes provides several built-in mechanisms, each with its own strengths and weaknesses that should be carefully considered when choosing the best authentication mechanism for your cluster.In general, it is recommended to enable as few authentication mechanisms as possible to simplify user management and prevent cases where users retain access to a cluster that is no longer required.It is important to note that Kubernetes does not have an in-built user database within the cluster. Instead, it takes user information from the configured authentication system and uses that to make authorization decisions. Therefore, to audit user access, you need to review credentials from every configured authentication source.For production clusters with multiple users directly accessing the Kubernetes API, it is recommended to use external authentication sources such as OIDC. The internal authentication mechanisms, such as client certificates and service account tokens, described below, are not suitable for this use case.X.509 client certificate authenticationKubernetes leverages X.509 client certificate authentication for system components, such as when the kubelet authenticates to the API Server. While this mechanism can also be used for user authentication, it might not be suitable for production use due to several restrictions:Client certificates cannot be individually revoked. Once compromised, a certificate can be used by an attacker until it expires. To mitigate this risk, it is recommended to configure short lifetimes for user authentication credentials created using client certificates.If a certificate needs to be invalidated, the certificate authority must be re-keyed, which can introduce availability risks to the cluster.There is no permanent record of client certificates created in the cluster. Therefore, all issued certificates must be recorded if you need to keep track of them.Private keys used for client certificate authentication cannot be password-protected. Anyone who can read the file containing the key will be able to make use of it.Using client certificate authentication requires a direct connection from the client to the API server without any intervening TLS termination points, which can complicate network architectures.Group data is embedded in the O value of the client certificate, which means the user's group memberships cannot be changed for the lifetime of the certificate.Static token fileAlthough Kubernetes allows you to load credentials from a static token file located on the control plane node disks, this approach is not recommended for production servers due to several reasons:Credentials are stored in clear text on control plane node disks, which can be a security risk.Changing any credential requires a re


Question: What are the benefits of Hardening Guide - Authentication Mechanisms?

Answer: Hardening Guide - Authentication MechanismsInformation on authentication options in Kubernetes and their security properties.Selecting the appropriate authentication mechanism(s) is a crucial aspect of securing your cluster. Kubernetes provides several built-in mechanisms, each with its own strengths and weaknesses that should be carefully considered when choosing the best authentication mechanism for your cluster.In general, it is recommended to enable as few authentication mechanisms as possible to simplify user management and prevent cases where users retain access to a cluster that is no longer required.It is important to note that Kubernetes does not have an in-built user database within the cluster. Instead, it takes user information from the configured authentication system and uses that to make authorization decisions. Therefore, to audit user access, you need to review credentials from every configured authentication source.For production clusters with multiple users directly accessing the Kubernetes API, it is recommended to use external authentication sources such as OIDC. The internal authentication mechanisms, such as client certificates and service account tokens, described below, are not suitable for this use case.X.509 client certificate authenticationKubernetes leverages X.509 client certificate authentication for system components, such as when the kubelet authenticates to the API Server. While this mechanism can also be used for user authentication, it might not be suitable for production use due to several restrictions:Client certificates cannot be individually revoked. Once compromised, a certificate can be used by an attacker until it expires. To mitigate this risk, it is recommended to configure short lifetimes for user authentication credentials created using client certificates.If a certificate needs to be invalidated, the certificate authority must be re-keyed, which can introduce availability risks to the cluster.There is no permanent record of client certificates created in the cluster. Therefore, all issued certificates must be recorded if you need to keep track of them.Private keys used for client certificate authentication cannot be password-protected. Anyone who can read the file containing the key will be able to make use of it.Using client certificate authentication requires a direct connection from the client to the API server without any intervening TLS termination points, which can complicate network architectures.Group data is embedded in the O value of the client certificate, which means the user's group memberships cannot be changed for the lifetime of the certificate.Static token fileAlthough Kubernetes allows you to load credentials from a static token file located on the control plane node disks, this approach is not recommended for production servers due to several reasons:Credentials are stored in clear text on control plane node disks, which can be a security risk.Changing any credential requires a re


Question: What is Hardening Guide - Authentication Mechanisms?

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


Question: What is X.509 client certificate authentication?

Answer: K u b e r n e t e s   l e v e r a g e s   X . 5 0 9   c l i e n t   c e r t i f i c a t e   a u t h e n t i c a t i o n   f o r   s y s t e m   c o m p o n e n t s ,   s u c h   a s   w h e n   t h e   k u b e l e t   a u t h e n t i c a t e s   t o   t h e   A P I   S e r v e r .   W h i l e   t h i s   m e c h a n i s m   c a n   a l s o   b e   u s e d   f o r   u s e r   a u t h e n t i c a t i o n ,   i t   m i g h t   n o t   b e   s u i t a b l e   f o r   p r o d u c t i o n   u s e   d u e   t o   s e v e r a l   r e s t r i c t i o n s :   C l i e n t   c e r t i f i c a t e s   c a n n o t   b e   i n d i v i d u a l l y   r e v o k e d .   O n c e   c o m p r o m i s e d ,   a   c e r t i f i c a t e   c a n   b e   u s e d   b y   a n   a t t a c k e r   u n t i l   i t   e x p i r e s .   T o   m i t i g a t e   t h i s   r i s k ,   i t   i s   r e c o m m e n d e d   t o   c o n f i g u r e   s h o r t   l i f e t i m e s   f o r   u s e r   a u t h e n t i c a t i o n   c r e d e n t i a l s   c r e a t e d   u s i n g   c l i e n t   c e r t i f i c a t e s . I f   a   c e r t i f i c a t e   n e e d s   t o   b e   i n v a l i d a t e d ,   t h e   c e r t i f i c a t e   a u t h o r i t y   m u s t   b e   r e - k e y e d ,   w h i c h   c a n   i n t r o d u c e   a v a i l a b i l i t y   r i s k s   t o   t h e   c l u s t e r . T h e r e   i s   n o   p e r m a n e n t   r e c o r d   o f   c l i e n t   c e r t i f i c a t e s   c r e a t e d   i n   t h e   c l u s t e r .   T h e r e f o r e ,   a l l   i s s u e d   c e r t i f i c a t e s   m u s t   b e   r e c o r d e d   i f   y o u   n e e d   t o   k e e p   t r a c k   o f   t h e m . P r i v a t e   k e y s   u s e d   f o r   c l i e n t   c e r t i f i c a t e   a u t h e n t i c a t i o n   c a n n o t   b e   p a s s w o r d - p r o t e c t e d .   A n y o n e   w h o   c a n   r e a d   t h e   f i l e   c o n t a i n i n g   t h e   k e y   w i l l   b e   a b l e   t o   m


Question: What is Static token file?

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


Question: What is Bootstrap tokens?

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


Question: What is ServiceAccount secret tokens?

Answer: S e r v i c e   a c c o u n t   s e c r e t s   a r e   a v a i l a b l e   a s   a n   o p t i o n   t o   a l l o w   w o r k l o a d s   r u n n i n g   i n   t h e   c l u s t e r   t o   a u t h e n t i c a t e   t o   t h e   A P I   s e r v e r .   I n   K u b e r n e t e s   <   1 . 2 3 ,   t h e s e   w e r e   t h e   d e f a u l t   o p t i o n ,   h o w e v e r ,   t h e y   a r e   b e i n g   r e p l a c e d   w i t h   T o k e n R e q u e s t   A P I   t o k e n s .   W h i l e   t h e s e   s e c r e t s   c o u l d   b e   u s e d   f o r   u s e r   a u t h e n t i c a t i o n ,   t h e y   a r e   g e n e r a l l y   u n s u i t a b l e   f o r   a   n u m b e r   o f   r e a s o n s :   T h e y   c a n n o t   b e   s e t   w i t h   a n   e x p i r y   a n d   w i l l   r e m a i n   v a l i d   u n t i l   t h e   a s s o c i a t e d   s e r v i c e   a c c o u n t   i s   d e l e t e d . T h e   a u t h e n t i c a t i o n   t o k e n s   a r e   v i s i b l e   t o   a n y   c l u s t e r   u s e r   w h o   c a n   r e a d   s e c r e t s   i n   t h e   n a m e s p a c e   t h a t   t h e y   a r e   d e f i n e d   i n . S e r v i c e   a c c o u n t s   c a n n o t   b e   a d d e d   t o   a r b i t r a r y   g r o u p s   c o m p l i c a t i n g   R B A C   m a n a g e m e n t   w h e r e   t h e y   a r e   u s e d .


Question: What is TokenRequest API tokens?

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


Question: What is OpenID Connect token authentication?

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


Question: What is Webhook token authentication?

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


Question: What is Authenticating proxy?

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


Question: What is What's next?

Answer: U s e r   A u t h e n t i c a t i o n A u t h e n t i c a t i n g   w i t h   B o o t s t r a p   T o k e n s k u b e l e t   A u t h e n t i c a t i o n A u t h e n t i c a t i n g   w i t h   S e r v i c e   A c c o u n t   T o k e n s


Question: What is Use a Service to Access an Application in a Cluster?

Answer: Use a Service to Access an Application in a ClusterThis page shows how to create a Kubernetes Service object that external clients can use to access an application running in a cluster. The Service provides load balancing for an application that has two running instances.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:iximiuz LabsKillercodaKodeKloudPlay with KubernetesObjectivesRun two instances of a Hello World application.Create a Service object that exposes a node port.Use the Service object to access the running application.Creating a service for an application running in two podsHere is the configuration file for the application Deployment:service/access/hello-application.yaml apiVersion: apps/v1 kind: Deployment metadata: name: hello-world spec: selector: matchLabels: run: load-balancer-example replicas: 2 template: metadata: labels: run: load-balancer-example spec: containers: - name: hello-world image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:2.0 ports: - containerPort: 8080 protocol: TCP Run a Hello World application in your cluster: Create the application Deployment using the file above:kubectl apply -f https://k8s.io/examples/service/access/hello-application.yaml The preceding command creates a Deployment and an associated ReplicaSet. The ReplicaSet has two Pods each of which runs the Hello World application.Display information about the Deployment:kubectl get deployments hello-world kubectl describe deployments hello-world Display information about your ReplicaSet objects:kubectl get replicasets kubectl describe replicasets Create a Service object that exposes the deployment:kubectl expose deployment hello-world --type=NodePort --name=example-service Display information about the Service:kubectl describe services example-service The output is similar to this:Name: example-service Namespace: default Labels: run=load-balancer-example Annotations: <none> Selector: run=load-balancer-example Type: NodePort IP: 10.32.0.16 Port: <unset> 8080/TCP TargetPort: 8080/TCP NodePort: <unset> 31496/TCP Endpoints: 10.200.1.4:8080,10.200.2.5:8080 Session Affinity: None Events: <none> Make a note of the NodePort value for the Service. For example, in the preceding output, the NodePort value is 31496.List the pods that are running the Hello World application:kubectl get pods --selector="run=load-balancer-example" --output=wide The output is similar to this:NAME READY STATUS ... IP NODE hello-world-2895499144-bsbk5 1/1 Running ... 10.200.1.4 worker1 hello-world-2895499144-m1pwt 1/1 Running ... 10.200.2.5 worker2 Get the public IP address of one of your nodes that is running a Hello World pod. How you get


Question: How does Use a Service to Access an Application in a Cluster work?

Answer: Use a Service to Access an Application in a ClusterThis page shows how to create a Kubernetes Service object that external clients can use to access an application running in a cluster. The Service provides load balancing for an application that has two running instances.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:iximiuz LabsKillercodaKodeKloudPlay with KubernetesObjectivesRun two instances of a Hello World application.Create a Service object that exposes a node port.Use the Service object to access the running application.Creating a service for an application running in two podsHere is the configuration file for the application Deployment:service/access/hello-application.yaml apiVersion: apps/v1 kind: Deployment metadata: name: hello-world spec: selector: matchLabels: run: load-balancer-example replicas: 2 template: metadata: labels: run: load-balancer-example spec: containers: - name: hello-world image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:2.0 ports: - containerPort: 8080 protocol: TCP Run a Hello World application in your cluster: Create the application Deployment using the file above:kubectl apply -f https://k8s.io/examples/service/access/hello-application.yaml The preceding command creates a Deployment and an associated ReplicaSet. The ReplicaSet has two Pods each of which runs the Hello World application.Display information about the Deployment:kubectl get deployments hello-world kubectl describe deployments hello-world Display information about your ReplicaSet objects:kubectl get replicasets kubectl describe replicasets Create a Service object that exposes the deployment:kubectl expose deployment hello-world --type=NodePort --name=example-service Display information about the Service:kubectl describe services example-service The output is similar to this:Name: example-service Namespace: default Labels: run=load-balancer-example Annotations: <none> Selector: run=load-balancer-example Type: NodePort IP: 10.32.0.16 Port: <unset> 8080/TCP TargetPort: 8080/TCP NodePort: <unset> 31496/TCP Endpoints: 10.200.1.4:8080,10.200.2.5:8080 Session Affinity: None Events: <none> Make a note of the NodePort value for the Service. For example, in the preceding output, the NodePort value is 31496.List the pods that are running the Hello World application:kubectl get pods --selector="run=load-balancer-example" --output=wide The output is similar to this:NAME READY STATUS ... IP NODE hello-world-2895499144-bsbk5 1/1 Running ... 10.200.1.4 worker1 hello-world-2895499144-m1pwt 1/1 Running ... 10.200.2.5 worker2 Get the public IP address of one of your nodes that is running a Hello World pod. How you get


Question: When would you use Use a Service to Access an Application in a Cluster?

Answer: Use a Service to Access an Application in a ClusterThis page shows how to create a Kubernetes Service object that external clients can use to access an application running in a cluster. The Service provides load balancing for an application that has two running instances.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:iximiuz LabsKillercodaKodeKloudPlay with KubernetesObjectivesRun two instances of a Hello World application.Create a Service object that exposes a node port.Use the Service object to access the running application.Creating a service for an application running in two podsHere is the configuration file for the application Deployment:service/access/hello-application.yaml apiVersion: apps/v1 kind: Deployment metadata: name: hello-world spec: selector: matchLabels: run: load-balancer-example replicas: 2 template: metadata: labels: run: load-balancer-example spec: containers: - name: hello-world image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:2.0 ports: - containerPort: 8080 protocol: TCP Run a Hello World application in your cluster: Create the application Deployment using the file above:kubectl apply -f https://k8s.io/examples/service/access/hello-application.yaml The preceding command creates a Deployment and an associated ReplicaSet. The ReplicaSet has two Pods each of which runs the Hello World application.Display information about the Deployment:kubectl get deployments hello-world kubectl describe deployments hello-world Display information about your ReplicaSet objects:kubectl get replicasets kubectl describe replicasets Create a Service object that exposes the deployment:kubectl expose deployment hello-world --type=NodePort --name=example-service Display information about the Service:kubectl describe services example-service The output is similar to this:Name: example-service Namespace: default Labels: run=load-balancer-example Annotations: <none> Selector: run=load-balancer-example Type: NodePort IP: 10.32.0.16 Port: <unset> 8080/TCP TargetPort: 8080/TCP NodePort: <unset> 31496/TCP Endpoints: 10.200.1.4:8080,10.200.2.5:8080 Session Affinity: None Events: <none> Make a note of the NodePort value for the Service. For example, in the preceding output, the NodePort value is 31496.List the pods that are running the Hello World application:kubectl get pods --selector="run=load-balancer-example" --output=wide The output is similar to this:NAME READY STATUS ... IP NODE hello-world-2895499144-bsbk5 1/1 Running ... 10.200.1.4 worker1 hello-world-2895499144-m1pwt 1/1 Running ... 10.200.2.5 worker2 Get the public IP address of one of your nodes that is running a Hello World pod. How you get


Question: What are the benefits of Use a Service to Access an Application in a Cluster?

Answer: Use a Service to Access an Application in a ClusterThis page shows how to create a Kubernetes Service object that external clients can use to access an application running in a cluster. The Service provides load balancing for an application that has two running instances.Before you beginYou need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. It is recommended to run this tutorial on a cluster with at least two nodes that are not acting as control plane hosts. If you do not already have a cluster, you can create one by using minikube or you can use one of these Kubernetes playgrounds:iximiuz LabsKillercodaKodeKloudPlay with KubernetesObjectivesRun two instances of a Hello World application.Create a Service object that exposes a node port.Use the Service object to access the running application.Creating a service for an application running in two podsHere is the configuration file for the application Deployment:service/access/hello-application.yaml apiVersion: apps/v1 kind: Deployment metadata: name: hello-world spec: selector: matchLabels: run: load-balancer-example replicas: 2 template: metadata: labels: run: load-balancer-example spec: containers: - name: hello-world image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:2.0 ports: - containerPort: 8080 protocol: TCP Run a Hello World application in your cluster: Create the application Deployment using the file above:kubectl apply -f https://k8s.io/examples/service/access/hello-application.yaml The preceding command creates a Deployment and an associated ReplicaSet. The ReplicaSet has two Pods each of which runs the Hello World application.Display information about the Deployment:kubectl get deployments hello-world kubectl describe deployments hello-world Display information about your ReplicaSet objects:kubectl get replicasets kubectl describe replicasets Create a Service object that exposes the deployment:kubectl expose deployment hello-world --type=NodePort --name=example-service Display information about the Service:kubectl describe services example-service The output is similar to this:Name: example-service Namespace: default Labels: run=load-balancer-example Annotations: <none> Selector: run=load-balancer-example Type: NodePort IP: 10.32.0.16 Port: <unset> 8080/TCP TargetPort: 8080/TCP NodePort: <unset> 31496/TCP Endpoints: 10.200.1.4:8080,10.200.2.5:8080 Session Affinity: None Events: <none> Make a note of the NodePort value for the Service. For example, in the preceding output, the NodePort value is 31496.List the pods that are running the Hello World application:kubectl get pods --selector="run=load-balancer-example" --output=wide The output is similar to this:NAME READY STATUS ... IP NODE hello-world-2895499144-bsbk5 1/1 Running ... 10.200.1.4 worker1 hello-world-2895499144-m1pwt 1/1 Running ... 10.200.2.5 worker2 Get the public IP address of one of your nodes that is running a Hello World pod. How you get


Question: What is Use a Service to Access an Application in a Cluster?

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


Question: What is Before you begin?

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


Question: What is Objectives?

Answer: R u n   t w o   i n s t a n c e s   o f   a   H e l l o   W o r l d   a p p l i c a t i o n . C r e a t e   a   S e r v i c e   o b j e c t   t h a t   e x p o s e s   a   n o d e   p o r t . U s e   t h e   S e r v i c e   o b j e c t   t o   a c c e s s   t h e   r u n n i n g   a p p l i c a t i o n .


Question: What is Creating a service for an application running in two pods?

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


Question: What is Using a service configuration file?

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


Question: What is Cleaning up?

Answer: T o   d e l e t e   t h e   S e r v i c e ,   e n t e r   t h i s   c o m m a n d :   k u b e c t l   d e l e t e   s e r v i c e s   e x a m p l e - s e r v i c e   T o   d e l e t e   t h e   D e p l o y m e n t ,   t h e   R e p l i c a S e t ,   a n d   t h e   P o d s   t h a t   a r e   r u n n i n g   t h e   H e l l o   W o r l d   a p p l i c a t i o n ,   e n t e r   t h i s   c o m m a n d :   k u b e c t l   d e l e t e   d e p l o y m e n t   h e l l o - w o r l d


Question: What is What's next?

Answer: F o l l o w   t h e   C o n n e c t i n g   A p p l i c a t i o n s   w i t h   S e r v i c e s   t u t o r i a l .


Question: What is Custom Hugo Shortcodes?

Answer: Custom Hugo ShortcodesThis page explains the custom Hugo shortcodes that can be used in Kubernetes Markdown documentation.Read more about shortcodes in the Hugo documentation.Feature stateIn a Markdown page (.md file) on this site, you can add a shortcode to display version and state of the documented feature.Feature state demoBelow is a demo of the feature state snippet, which displays the feature as stable in the latest Kubernetes version.{{< feature-state state="stable" >}} Renders to:FEATURE STATE: Kubernetes v1.34 [stable]The valid values for state are:alphabetadeprecatedstableFeature state codeThe displayed Kubernetes version defaults to that of the page or the site. You can change the feature state version by passing the for_k8s_version shortcode parameter. For example:{{< feature-state for_k8s_version="v1.10" state="beta" >}} Renders to:FEATURE STATE: Kubernetes v1.10 [beta]Feature state retrieval from description fileTo dynamically determine the state of the feature, make use of the feature_gate_name shortcode parameter. The feature state details will be extracted from the corresponding feature gate description file located in content/en/docs/reference/command-line-tools-reference/feature-gates/. For example:{{< feature-state feature_gate_name="NodeSwap" >}} Renders to:FEATURE STATE: Kubernetes v1.30 [beta] (enabled by default: true)Feature gate descriptionIn a Markdown page (.md file) on this site, you can add a shortcode to display the description for a shortcode.Feature gate description demoBelow is a demo of the feature state snippet, which displays the feature as stable in the latest Kubernetes version.{{< feature-gate-description name="DryRun" >}} Renders to:DryRun: Enable server-side dry run requests so that validation, merging, and mutation can be tested without committing.GlossaryThere are two glossary shortcodes: glossary_tooltip and glossary_definition.You can reference glossary terms with an inclusion that automatically updates and replaces content with the relevant links from our glossary. When the glossary term is moused-over, the glossary entry displays a tooltip. The glossary term also displays as a link.As well as inclusions with tooltips, you can reuse the definitions from the glossary in page content.The raw data for glossary terms is stored at the glossary directory, with a content file for each glossary term.Glossary demoFor example, the following include within the Markdown renders to cluster with a tooltip:{{< glossary_tooltip text="cluster" term_id="cluster" >}} Here's a short glossary definition:{{< glossary_definition prepend="A cluster is" term_id="cluster" length="short" >}} which renders as:A cluster is a set of worker machines, called nodes, that run containerized applications. Every cluster has at least one worker node.You can also include a full definition:{{< glossary_definition term_id="cluster" length="all" >}} which renders as:A set of worker machines, called nodes, that run containerized applications.


Question: How does Custom Hugo Shortcodes work?

Answer: Custom Hugo ShortcodesThis page explains the custom Hugo shortcodes that can be used in Kubernetes Markdown documentation.Read more about shortcodes in the Hugo documentation.Feature stateIn a Markdown page (.md file) on this site, you can add a shortcode to display version and state of the documented feature.Feature state demoBelow is a demo of the feature state snippet, which displays the feature as stable in the latest Kubernetes version.{{< feature-state state="stable" >}} Renders to:FEATURE STATE: Kubernetes v1.34 [stable]The valid values for state are:alphabetadeprecatedstableFeature state codeThe displayed Kubernetes version defaults to that of the page or the site. You can change the feature state version by passing the for_k8s_version shortcode parameter. For example:{{< feature-state for_k8s_version="v1.10" state="beta" >}} Renders to:FEATURE STATE: Kubernetes v1.10 [beta]Feature state retrieval from description fileTo dynamically determine the state of the feature, make use of the feature_gate_name shortcode parameter. The feature state details will be extracted from the corresponding feature gate description file located in content/en/docs/reference/command-line-tools-reference/feature-gates/. For example:{{< feature-state feature_gate_name="NodeSwap" >}} Renders to:FEATURE STATE: Kubernetes v1.30 [beta] (enabled by default: true)Feature gate descriptionIn a Markdown page (.md file) on this site, you can add a shortcode to display the description for a shortcode.Feature gate description demoBelow is a demo of the feature state snippet, which displays the feature as stable in the latest Kubernetes version.{{< feature-gate-description name="DryRun" >}} Renders to:DryRun: Enable server-side dry run requests so that validation, merging, and mutation can be tested without committing.GlossaryThere are two glossary shortcodes: glossary_tooltip and glossary_definition.You can reference glossary terms with an inclusion that automatically updates and replaces content with the relevant links from our glossary. When the glossary term is moused-over, the glossary entry displays a tooltip. The glossary term also displays as a link.As well as inclusions with tooltips, you can reuse the definitions from the glossary in page content.The raw data for glossary terms is stored at the glossary directory, with a content file for each glossary term.Glossary demoFor example, the following include within the Markdown renders to cluster with a tooltip:{{< glossary_tooltip text="cluster" term_id="cluster" >}} Here's a short glossary definition:{{< glossary_definition prepend="A cluster is" term_id="cluster" length="short" >}} which renders as:A cluster is a set of worker machines, called nodes, that run containerized applications. Every cluster has at least one worker node.You can also include a full definition:{{< glossary_definition term_id="cluster" length="all" >}} which renders as:A set of worker machines, called nodes, that run containerized applications.


Question: When would you use Custom Hugo Shortcodes?

Answer: Custom Hugo ShortcodesThis page explains the custom Hugo shortcodes that can be used in Kubernetes Markdown documentation.Read more about shortcodes in the Hugo documentation.Feature stateIn a Markdown page (.md file) on this site, you can add a shortcode to display version and state of the documented feature.Feature state demoBelow is a demo of the feature state snippet, which displays the feature as stable in the latest Kubernetes version.{{< feature-state state="stable" >}} Renders to:FEATURE STATE: Kubernetes v1.34 [stable]The valid values for state are:alphabetadeprecatedstableFeature state codeThe displayed Kubernetes version defaults to that of the page or the site. You can change the feature state version by passing the for_k8s_version shortcode parameter. For example:{{< feature-state for_k8s_version="v1.10" state="beta" >}} Renders to:FEATURE STATE: Kubernetes v1.10 [beta]Feature state retrieval from description fileTo dynamically determine the state of the feature, make use of the feature_gate_name shortcode parameter. The feature state details will be extracted from the corresponding feature gate description file located in content/en/docs/reference/command-line-tools-reference/feature-gates/. For example:{{< feature-state feature_gate_name="NodeSwap" >}} Renders to:FEATURE STATE: Kubernetes v1.30 [beta] (enabled by default: true)Feature gate descriptionIn a Markdown page (.md file) on this site, you can add a shortcode to display the description for a shortcode.Feature gate description demoBelow is a demo of the feature state snippet, which displays the feature as stable in the latest Kubernetes version.{{< feature-gate-description name="DryRun" >}} Renders to:DryRun: Enable server-side dry run requests so that validation, merging, and mutation can be tested without committing.GlossaryThere are two glossary shortcodes: glossary_tooltip and glossary_definition.You can reference glossary terms with an inclusion that automatically updates and replaces content with the relevant links from our glossary. When the glossary term is moused-over, the glossary entry displays a tooltip. The glossary term also displays as a link.As well as inclusions with tooltips, you can reuse the definitions from the glossary in page content.The raw data for glossary terms is stored at the glossary directory, with a content file for each glossary term.Glossary demoFor example, the following include within the Markdown renders to cluster with a tooltip:{{< glossary_tooltip text="cluster" term_id="cluster" >}} Here's a short glossary definition:{{< glossary_definition prepend="A cluster is" term_id="cluster" length="short" >}} which renders as:A cluster is a set of worker machines, called nodes, that run containerized applications. Every cluster has at least one worker node.You can also include a full definition:{{< glossary_definition term_id="cluster" length="all" >}} which renders as:A set of worker machines, called nodes, that run containerized applications.


Question: What are the benefits of Custom Hugo Shortcodes?

Answer: Custom Hugo ShortcodesThis page explains the custom Hugo shortcodes that can be used in Kubernetes Markdown documentation.Read more about shortcodes in the Hugo documentation.Feature stateIn a Markdown page (.md file) on this site, you can add a shortcode to display version and state of the documented feature.Feature state demoBelow is a demo of the feature state snippet, which displays the feature as stable in the latest Kubernetes version.{{< feature-state state="stable" >}} Renders to:FEATURE STATE: Kubernetes v1.34 [stable]The valid values for state are:alphabetadeprecatedstableFeature state codeThe displayed Kubernetes version defaults to that of the page or the site. You can change the feature state version by passing the for_k8s_version shortcode parameter. For example:{{< feature-state for_k8s_version="v1.10" state="beta" >}} Renders to:FEATURE STATE: Kubernetes v1.10 [beta]Feature state retrieval from description fileTo dynamically determine the state of the feature, make use of the feature_gate_name shortcode parameter. The feature state details will be extracted from the corresponding feature gate description file located in content/en/docs/reference/command-line-tools-reference/feature-gates/. For example:{{< feature-state feature_gate_name="NodeSwap" >}} Renders to:FEATURE STATE: Kubernetes v1.30 [beta] (enabled by default: true)Feature gate descriptionIn a Markdown page (.md file) on this site, you can add a shortcode to display the description for a shortcode.Feature gate description demoBelow is a demo of the feature state snippet, which displays the feature as stable in the latest Kubernetes version.{{< feature-gate-description name="DryRun" >}} Renders to:DryRun: Enable server-side dry run requests so that validation, merging, and mutation can be tested without committing.GlossaryThere are two glossary shortcodes: glossary_tooltip and glossary_definition.You can reference glossary terms with an inclusion that automatically updates and replaces content with the relevant links from our glossary. When the glossary term is moused-over, the glossary entry displays a tooltip. The glossary term also displays as a link.As well as inclusions with tooltips, you can reuse the definitions from the glossary in page content.The raw data for glossary terms is stored at the glossary directory, with a content file for each glossary term.Glossary demoFor example, the following include within the Markdown renders to cluster with a tooltip:{{< glossary_tooltip text="cluster" term_id="cluster" >}} Here's a short glossary definition:{{< glossary_definition prepend="A cluster is" term_id="cluster" length="short" >}} which renders as:A cluster is a set of worker machines, called nodes, that run containerized applications. Every cluster has at least one worker node.You can also include a full definition:{{< glossary_definition term_id="cluster" length="all" >}} which renders as:A set of worker machines, called nodes, that run containerized applications.


Question: What is Custom Hugo Shortcodes?

Answer: T h i s   p a g e   e x p l a i n s   t h e   c u s t o m   H u g o   s h o r t c o d e s   t h a t   c a n   b e   u s e d   i n   K u b e r n e t e s   M a r k d o w n   d o c u m e n t a t i o n .   R e a d   m o r e   a b o u t   s h o r t c o d e s   i n   t h e   H u g o   d o c u m e n t a t i o n .


Question: What is Feature state?

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


Question: What is Feature state demo?

Answer: B e l o w   i s   a   d e m o   o f   t h e   f e a t u r e   s t a t e   s n i p p e t ,   w h i c h   d i s p l a y s   t h e   f e a t u r e   a s   s t a b l e   i n   t h e   l a t e s t   K u b e r n e t e s   v e r s i o n .   { { <   f e a t u r e - s t a t e   s t a t e = " s t a b l e "   > } }   R e n d e r s   t o :   T h e   v a l i d   v a l u e s   f o r   s t a t e   a r e :   a l p h a b e t a d e p r e c a t e d s t a b l e


Question: What is Feature state code?

Answer: T h e   d i s p l a y e d   K u b e r n e t e s   v e r s i o n   d e f a u l t s   t o   t h a t   o f   t h e   p a g e   o r   t h e   s i t e .   Y o u   c a n   c h a n g e   t h e   f e a t u r e   s t a t e   v e r s i o n   b y   p a s s i n g   t h e   f o r _ k 8 s _ v e r s i o n   s h o r t c o d e   p a r a m e t e r .   F o r   e x a m p l e :   { { <   f e a t u r e - s t a t e   f o r _ k 8 s _ v e r s i o n = " v 1 . 1 0 "   s t a t e = " b e t a "   > } }   R e n d e r s   t o :


Question: What is Feature state retrieval from description file?

Answer: T o   d y n a m i c a l l y   d e t e r m i n e   t h e   s t a t e   o f   t h e   f e a t u r e ,   m a k e   u s e   o f   t h e   f e a t u r e _ g a t e _ n a m e   s h o r t c o d e   p a r a m e t e r .   T h e   f e a t u r e   s t a t e   d e t a i l s   w i l l   b e   e x t r a c t e d   f r o m   t h e   c o r r e s p o n d i n g   f e a t u r e   g a t e   d e s c r i p t i o n   f i l e   l o c a t e d   i n   c o n t e n t / e n / d o c s / r e f e r e n c e / c o m m a n d - l i n e - t o o l s - r e f e r e n c e / f e a t u r e - g a t e s / .   F o r   e x a m p l e :   { { <   f e a t u r e - s t a t e   f e a t u r e _ g a t e _ n a m e = " N o d e S w a p "   > } }   R e n d e r s   t o :


Question: What is Feature gate description?

Answer: I n   a   M a r k d o w n   p a g e   ( . m d   f i l e )   o n   t h i s   s i t e ,   y o u   c a n   a d d   a   s h o r t c o d e   t o   d i s p l a y   t h e   d e s c r i p t i o n   f o r   a   s h o r t c o d e .


Question: What is Feature gate description demo?

Answer: B e l o w   i s   a   d e m o   o f   t h e   f e a t u r e   s t a t e   s n i p p e t ,   w h i c h   d i s p l a y s   t h e   f e a t u r e   a s   s t a b l e   i n   t h e   l a t e s t   K u b e r n e t e s   v e r s i o n .   { { <   f e a t u r e - g a t e - d e s c r i p t i o n   n a m e = " D r y R u n "   > } }   R e n d e r s   t o :   D r y R u n :   E n a b l e   s e r v e r - s i d e   d r y   r u n   r e q u e s t s   s o   t h a t   v a l i d a t i o n ,   m e r g i n g ,   a n d   m u t a t i o n   c a n   b e   t e s t e d   w i t h o u t   c o m m i t t i n g .


Question: What is Glossary?

Answer: T h e r e   a r e   t w o   g l o s s a r y   s h o r t c o d e s :   g l o s s a r y _ t o o l t i p   a n d   g l o s s a r y _ d e f i n i t i o n .   Y o u   c a n   r e f e r e n c e   g l o s s a r y   t e r m s   w i t h   a n   i n c l u s i o n   t h a t   a u t o m a t i c a l l y   u p d a t e s   a n d   r e p l a c e s   c o n t e n t   w i t h   t h e   r e l e v a n t   l i n k s   f r o m   o u r   g l o s s a r y .   W h e n   t h e   g l o s s a r y   t e r m   i s   m o u s e d - o v e r ,   t h e   g l o s s a r y   e n t r y   d i s p l a y s   a   t o o l t i p .   T h e   g l o s s a r y   t e r m   a l s o   d i s p l a y s   a s   a   l i n k .   A s   w e l l   a s   i n c l u s i o n s   w i t h   t o o l t i p s ,   y o u   c a n   r e u s e   t h e   d e f i n i t i o n s   f r o m   t h e   g l o s s a r y   i n   p a g e   c o n t e n t .   T h e   r a w   d a t a   f o r   g l o s s a r y   t e r m s   i s   s t o r e d   a t   t h e   g l o s s a r y   d i r e c t o r y ,   w i t h   a   c o n t e n t   f i l e   f o r   e a c h   g l o s s a r y   t e r m .


Question: What is Glossary demo?

Answer: F o r   e x a m p l e ,   t h e   f o l l o w i n g   i n c l u d e   w i t h i n   t h e   M a r k d o w n   r e n d e r s   t o   c l u s t e r   w i t h   a   t o o l t i p :   { { <   g l o s s a r y _ t o o l t i p   t e x t = " c l u s t e r "   t e r m _ i d = " c l u s t e r "   > } }   H e r e ' s   a   s h o r t   g l o s s a r y   d e f i n i t i o n :   { { <   g l o s s a r y _ d e f i n i t i o n   p r e p e n d = " A   c l u s t e r   i s "   t e r m _ i d = " c l u s t e r "   l e n g t h = " s h o r t "   > } }   w h i c h   r e n d e r s   a s : A   c l u s t e r   i s   a   s e t   o f   w o r k e r   m a c h i n e s ,   c a l l e d   n o d e s ,   t h a t   r u n   c o n t a i n e r i z e d   a p p l i c a t i o n s .   E v e r y   c l u s t e r   h a s   a t   l e a s t   o n e   w o r k e r   n o d e .   A   c l u s t e r   i s   a   s e t   o f   w o r k e r   m a c h i n e s ,   c a l l e d   n o d e s ,   t h a t   r u n   c o n t a i n e r i z e d   a p p l i c a t i o n s .   E v e r y   c l u s t e r   h a s   a t   l e a s t   o n e   w o r k e r   n o d e .   Y o u   c a n   a l s o   i n c l u d e   a   f u l l   d e f i n i t i o n :   { { <   g l o s s a r y _ d e f i n i t i o n   t e r m _ i d = " c l u s t e r "   l e n g t h = " a l l "   > } }   w h i c h   r e n d e r s   a s : A   s e t   o f   w o r k e r   m a c h i n e s ,   c a l l e d   n o d e s ,   t h a t   r u n   c o n t a i n e r i z e d   a p p l i c a t i o n s .   E v e r y   c l u s t e r   h a s   a t   l e a s t   o n e   w o r k e r   n o d e . T h e   w o r k e r   n o d e ( s )   h o s t   t h e   P o d s   t h a t   a r e   t h e   c o m p o n e n t s   o f   t h e   a p p l i c a t i o n   w o r k l o a d .   T h e   c o n t r o l   p l a n e   m a n a g e s   t h e   w o r k e r   n o d e s   a n d   t h e   P o d s   i n   t h e   c l u s t e r .   I n   p r o d u c t i o n   e n v i r o n m e n t s ,   t h e   c o n t r o l   p l a n e   u s u a l l y


Question: What is Links to API Reference?

Answer: Y o u   c a n   l i n k   t o   a   p a g e   o f   t h e   K u b e r n e t e s   A P I   r e f e r e n c e   u s i n g   t h e   a p i - r e f e r e n c e   s h o r t c o d e ,   f o r   e x a m p l e   t o   t h e   P o d   r e f e r e n c e :   { { <   a p i - r e f e r e n c e   p a g e = " w o r k l o a d - r e s o u r c e s / p o d - v 1 "   > } }   T h e   c o n t e n t   o f   t h e   p a g e   p a r a m e t e r   i s   t h e   s u f f i x   o f   t h e   U R L   o f   t h e   A P I   r e f e r e n c e   p a g e .   Y o u   c a n   l i n k   t o   a   s p e c i f i c   p l a c e   i n t o   a   p a g e   b y   s p e c i f y i n g   a n   a n c h o r   p a r a m e t e r ,   f o r   e x a m p l e   t o   t h e   P o d S p e c   r e f e r e n c e   o r   t h e   e n v i r o n m e n t - v a r i a b l e s   s e c t i o n   o f   t h e   p a g e :   { { <   a p i - r e f e r e n c e   p a g e = " w o r k l o a d - r e s o u r c e s / p o d - v 1 "   a n c h o r = " P o d S p e c "   > } }   { { <   a p i - r e f e r e n c e   p a g e = " w o r k l o a d - r e s o u r c e s / p o d - v 1 "   a n c h o r = " e n v i r o n m e n t - v a r i a b l e s "   > } }   Y o u   c a n   c h a n g e   t h e   t e x t   o f   t h e   l i n k   b y   s p e c i f y i n g   a   t e x t   p a r a m e t e r ,   f o r   e x a m p l e   b y   l i n k i n g   t o   t h e   E n v i r o n m e n t   V a r i a b l e s   s e c t i o n   o f   t h e   p a g e :   { { <   a p i - r e f e r e n c e   p a g e = " w o r k l o a d - r e s o u r c e s / p o d - v 1 "   a n c h o r = " e n v i r o n m e n t - v a r i a b l e s "   t e x t = " E n v i r o n m e n t   V a r i a b l e "   > } }


Question: What is Table captions?

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


Question: What is Note:?

Answer: H e r e ' s   a n   e x a m p l e :   { { <   t a b l e   c a p t i o n = " C o n f i g u r a t i o n   p a r a m e t e r s "   > } }   P a r a m e t e r   |   D e s c r i p t i o n   |   D e f a u l t   : - - - - - - - - - | : - - - - - - - - - - - - | : - - - - - - -   ` t i m e o u t `   |   T h e   t i m e o u t   f o r   r e q u e s t s   |   ` 3 0 s `   ` l o g L e v e l `   |   T h e   l o g   l e v e l   f o r   l o g   o u t p u t   |   ` I N F O `   { { <   / t a b l e   > } }   T h e   r e n d e r e d   t a b l e   l o o k s   l i k e   t h i s :   I f   y o u   i n s p e c t   t h e   H T M L   f o r   t h e   t a b l e ,   y o u   s h o u l d   s e e   t h i s   e l e m e n t   i m m e d i a t e l y   a f t e r   t h e   o p e n i n g   < t a b l e >   e l e m e n t :   < c a p t i o n   s t y l e = " d i s p l a y :   n o n e ; " > C o n f i g u r a t i o n   p a r a m e t e r s < / c a p t i o n >


Question: What is Tabs?

Answer: I n   a   m a r k d o w n   p a g e   ( . m d   f i l e )   o n   t h i s   s i t e ,   y o u   c a n   a d d   a   t a b   s e t   t o   d i s p l a y   m u l t i p l e   f l a v o r s   o f   a   g i v e n   s o l u t i o n .   T h e   t a b s   s h o r t c o d e   t a k e s   t h e s e   p a r a m e t e r s :   n a m e :   T h e   n a m e   a s   s h o w n   o n   t h e   t a b . c o d e l a n g :   I f   y o u   p r o v i d e   i n n e r   c o n t e n t   t o   t h e   t a b   s h o r t c o d e ,   y o u   c a n   t e l l   H u g o   w h a t   c o d e   l a n g u a g e   t o   u s e   f o r   h i g h l i g h t i n g . i n c l u d e :   T h e   f i l e   t o   i n c l u d e   i n   t h e   t a b .   I f   t h e   t a b   l i v e s   i n   a   H u g o   l e a f   b u n d l e ,   t h e   f i l e   - -   w h i c h   c a n   b e   a n y   M I M E   t y p e   s u p p o r t e d   b y   H u g o   - -   i s   l o o k e d   u p   i n   t h e   b u n d l e   i t s e l f .   I f   n o t ,   t h e   c o n t e n t   p a g e   t h a t   n e e d s   t o   b e   i n c l u d e d   i s   l o o k e d   u p   r e l a t i v e   t o   t h e   c u r r e n t   p a g e .   N o t e   t h a t   w i t h   t h e   i n c l u d e ,   y o u   d o   n o t   h a v e   a n y   s h o r t c o d e   i n n e r   c o n t e n t   a n d   m u s t   u s e   t h e   s e l f - c l o s i n g   s y n t a x .   F o r   e x a m p l e ,   { { <   t a b   n a m e = " C o n t e n t   F i l e   # 1 "   i n c l u d e = " e x a m p l e 1 "   / > } } .   T h e   l a n g u a g e   n e e d s   t o   b e   s p e c i f i e d   u n d e r   c o d e l a n g   o r   t h e   l a n g u a g e   i s   t a k e n   b a s e d   o n   t h e   f i l e   n a m e .   N o n - c o n t e n t   f i l e s   a r e   c o d e - h i g h l i g h t e d   b y   d e f a u l t . I f   y o u r   i n n e r   c o n t e n t   i s   m a r k d o w n ,   y o u   m u s t   u s e   t h e   % - d e l i m i t e r   t o   s u r r o u n d   t h e   t a b .   F o


Question: What is Tabs demo: Code highlighting?

Answer: { { <   t a b s   n a m e = " t a b _ w i t h _ c o d e "   > } }   { { <   t a b   n a m e = " T a b   1 "   c o d e l a n g = " b a s h "   > } }   e c h o   " T h i s   i s   t a b   1 . "   { { <   / t a b   > } }   { { <   t a b   n a m e = " T a b   2 "   c o d e l a n g = " g o "   > } }   p r i n t l n   " T h i s   i s   t a b   2 . "   { { <   / t a b   > } }   { { <   / t a b s   > } }   R e n d e r s   t o :   e c h o   " T h i s   i s   t a b   1 . "   e c h o   " T h i s   i s   t a b   1 . "   p r i n t l n   " T h i s   i s   t a b   2 . "   p r i n t l n   " T h i s   i s   t a b   2 . "


Question: What is Tabs demo: Inline Markdown and HTML?

Answer: { { <   t a b s   n a m e = " t a b _ w i t h _ m d "   > } }   { { %   t a b   n a m e = " M a r k d o w n "   % } }   T h i s   i s   * * s o m e   m a r k d o w n . * *   { { <   n o t e   > } }   I t   c a n   e v e n   c o n t a i n   s h o r t c o d e s .   { { <   / n o t e   > } }   { { %   / t a b   % } }   { { <   t a b   n a m e = " H T M L "   > } }   < d i v >   < h 3 > P l a i n   H T M L < / h 3 >   < p > T h i s   i s   s o m e   < i > p l a i n < / i >   H T M L . < / p >   < / d i v >   { { <   / t a b   > } }   { { <   / t a b s   > } }   R e n d e r s   t o :   T h i s   i s   s o m e   m a r k d o w n . N o t e : I t   c a n   e v e n   c o n t a i n   s h o r t c o d e s .   T h i s   i s   s o m e   m a r k d o w n .


Question: What is Note:?

Answer: P l a i n   H T M L T h i s   i s   s o m e   p l a i n   H T M L .


Question: What is Plain HTML?

Answer: T h i s   i s   s o m e   p l a i n   H T M L .


Question: What is Tabs demo: File include?

Answer: { { <   t a b s   n a m e = " t a b _ w i t h _ f i l e _ i n c l u d e "   > } }   { { <   t a b   n a m e = " C o n t e n t   F i l e   # 1 "   i n c l u d e = " e x a m p l e 1 "   / > } }   { { <   t a b   n a m e = " C o n t e n t   F i l e   # 2 "   i n c l u d e = " e x a m p l e 2 "   / > } }   { { <   t a b   n a m e = " J S O N   F i l e "   i n c l u d e = " p o d t e m p l a t e "   / > } }   { { <   / t a b s   > } }   R e n d e r s   t o :   T h i s   i s   a n   e x a m p l e   c o n t e n t   f i l e   i n s i d e   t h e   i n c l u d e s   l e a f   b u n d l e . N o t e : I n c l u d e d   c o n t e n t   f i l e s   c a n   a l s o   c o n t a i n   s h o r t c o d e s .   T h i s   i s   a n   e x a m p l e   c o n t e n t   f i l e   i n s i d e   t h e   i n c l u d e s   l e a f   b u n d l e .


Question: What is Note:?

Answer: T h i s   i s   a n o t h e r   e x a m p l e   c o n t e n t   f i l e   i n s i d e   t h e   i n c l u d e s   l e a f   b u n d l e .   T h i s   i s   a n o t h e r   e x a m p l e   c o n t e n t   f i l e   i n s i d e   t h e   i n c l u d e s   l e a f   b u n d l e .   {   " a p i V e r s i o n " :   " v 1 " ,   " k i n d " :   " P o d T e m p l a t e " ,   " m e t a d a t a " :   {   " n a m e " :   " n g i n x "   } ,   " t e m p l a t e " :   {   " m e t a d a t a " :   {   " l a b e l s " :   {   " n a m e " :   " n g i n x "   } ,   " g e n e r a t e N a m e " :   " n g i n x - "   } ,   " s p e c " :   {   " c o n t a i n e r s " :   [ {   " n a m e " :   " n g i n x " ,   " i m a g e " :   " d o c k e r f i l e / n g i n x " ,   " p o r t s " :   [ { " c o n t a i n e r P o r t " :   8 0 } ]   } ]   }   }   }   {   " a p i V e r s i o n " :   " v 1 " ,   " k i n d " :   " P o d T e m p l a t e " ,   " m e t a d a t a " :   {   " n a m e " :   " n g i n x "   } ,   " t e m p l a t e " :   {   " m e t a d a t a " :   {   " l a b e l s " :   {   " n a m e " :   " n g i n x "   } ,   " g e n e r a t e N a m e " :   " n g i n x - "   } ,   " s p e c " :   {   " c o n t a i n e r s " :   [ {   " n a m e " :   " n g i n x " ,   " i m a g e " :   " d o c k e r f i l e / n g i n x " ,   " p o r t s " :   [ { " c o n t a i n e r P o r t " :   8 0 } ]   } ]   }   }   }


Question: What is Source code files?

Answer: Y o u   c a n   u s e   t h e   { { %   c o d e _ s a m p l e   % } }   s h o r t c o d e   t o   e m b e d   t h e   c o n t e n t s   o f   f i l e   i n   a   c o d e   b l o c k   t o   a l l o w   u s e r s   t o   d o w n l o a d   o r   c o p y   i t s   c o n t e n t   t o   t h e i r   c l i p b o a r d .   T h i s   s h o r t c o d e   i s   u s e d   w h e n   t h e   c o n t e n t s   o f   t h e   s a m p l e   f i l e   i s   g e n e r i c   a n d   r e u s a b l e ,   a n d   y o u   w a n t   t h e   u s e r s   t o   t r y   i t   o u t   t h e m s e l v e s .   T h i s   s h o r t c o d e   t a k e s   i n   t w o   n a m e d   p a r a m e t e r s :   l a n g u a g e   a n d   f i l e .   T h e   m a n d a t o r y   p a r a m e t e r   f i l e   i s   u s e d   t o   s p e c i f y   t h e   p a t h   t o   t h e   f i l e   b e i n g   d i s p l a y e d .   T h e   o p t i o n a l   p a r a m e t e r   l a n g u a g e   i s   u s e d   t o   s p e c i f y   t h e   p r o g r a m m i n g   l a n g u a g e   o f   t h e   f i l e .   I f   t h e   l a n g u a g e   p a r a m e t e r   i s   n o t   p r o v i d e d ,   t h e   s h o r t c o d e   w i l l   a t t e m p t   t o   g u e s s   t h e   l a n g u a g e   b a s e d   o n   t h e   f i l e   e x t e n s i o n .   F o r   e x a m p l e :   { { %   c o d e _ s a m p l e   l a n g u a g e = " y a m l "   f i l e = " a p p l i c a t i o n / d e p l o y m e n t - s c a l e . y a m l "   % } }   T h e   o u t p u t   i s :   a p i V e r s i o n :   a p p s / v 1   k i n d :   D e p l o y m e n t   m e t a d a t a :   n a m e :   n g i n x - d e p l o y m e n t   s p e c :   s e l e c t o r :   m a t c h L a b e l s :   a p p :   n g i n x   r e p l i c a s :   4   #   U p d a t e   t h e   r e p l i c a s   f r o m   2   t o   4   t e m p l a t e :   m e t a d a t a :   l a b e l s :   a p p :   n g i n x   s p e c :   c o n t a i n e r s :   -   n a m e :   n g i n x   i m a g e :   n g i n x : 1


Question: What is Third party content marker?

Answer: R u n n i n g   K u b e r n e t e s   r e q u i r e s   t h i r d - p a r t y   s o f t w a r e .   F o r   e x a m p l e :   y o u   u s u a l l y   n e e d   t o   a d d   a   D N S   s e r v e r   t o   y o u r   c l u s t e r   s o   t h a t   n a m e   r e s o l u t i o n   w o r k s .   W h e n   w e   l i n k   t o   t h i r d - p a r t y   s o f t w a r e ,   o r   o t h e r w i s e   m e n t i o n   i t ,   w e   f o l l o w   t h e   c o n t e n t   g u i d e   a n d   w e   a l s o   m a r k   t h o s e   t h i r d   p a r t y   i t e m s .   U s i n g   t h e s e   s h o r t c o d e s   a d d s   a   d i s c l a i m e r   t o   a n y   d o c u m e n t a t i o n   p a g e   t h a t   u s e s   t h e m .


Question: What is Lists?

Answer: F o r   a   l i s t   o f   s e v e r a l   t h i r d - p a r t y   i t e m s ,   a d d :   { { %   t h i r d p a r t y - c o n t e n t   % } }   j u s t   b e l o w   t h e   h e a d i n g   f o r   t h e   s e c t i o n   t h a t   i n c l u d e s   a l l   i t e m s .


Question: What is Items?

Answer: I f   y o u   h a v e   a   l i s t   w h e r e   m o s t   o f   t h e   i t e m s   r e f e r   t o   i n - p r o j e c t   s o f t w a r e   ( f o r   e x a m p l e :   K u b e r n e t e s   i t s e l f ,   a n d   t h e   s e p a r a t e   D e s c h e d u l e r   c o m p o n e n t ) ,   t h e n   t h e r e   i s   a   d i f f e r e n t   f o r m   t o   u s e .   A d d   t h e   s h o r t c o d e :   { { %   t h i r d p a r t y - c o n t e n t   s i n g l e = " t r u e "   % } }   b e f o r e   t h e   i t e m ,   o r   j u s t   b e l o w   t h e   h e a d i n g   f o r   t h e   s p e c i f i c   i t e m .


Question: What is Details?

Answer: Y o u   c a n   r e n d e r   a   < d e t a i l s >   H T M L   e l e m e n t   u s i n g   a   s h o r t c o d e :   { { <   d e t a i l s   s u m m a r y = " M o r e   a b o u t   w i d g e t s "   > } }   T h e   f r o b n i c a t o r   e x t e n s i o n   A P I   i m p l e m e n t s   _ w i d g e t s _   u s i n g   e x a m p l e   r u n n i n g   t e x t .   N e q u e   p o r r o   q u i s q u a m   e s t ,   q u i   d o l o r e m   i p s u m   q u i a   d o l o r   s i t   a m e t ,   c o n s e c t e t u r ,   a d i p i s c i   v e l i t ,   s e d   q u i a   n o n   n u m q u a m   e i u s   m o d i   t e m p o r a   i n c i d u n t   u t   l a b o r e   e t   d o l o r e   m a g n a m   a l i q u a m   q u a e r a t   v o l u p t a t e m .   { { <   / d e t a i l s   > } }   T h i s   r e n d e r s   a s : M o r e   a b o u t   w i d g e t s T h e   f r o b n i c a t o r   e x t e n s i o n   A P I   i m p l e m e n t s   w i d g e t s   u s i n g   e x a m p l e   r u n n i n g   t e x t . N e q u e   p o r r o   q u i s q u a m   e s t ,   q u i   d o l o r e m   i p s u m   q u i a   d o l o r   s i t   a m e t ,   c o n s e c t e t u r ,   a d i p i s c i   v e l i t ,   s e d   q u i a   n o n   n u m q u a m   e i u s   m o d i   t e m p o r a   i n c i d u n t   u t   l a b o r e   e t   d o l o r e   m a g n a m   a l i q u a m   q u a e r a t   v o l u p t a t e m .   T h e   f r o b n i c a t o r   e x t e n s i o n   A P I   i m p l e m e n t s   w i d g e t s   u s i n g   e x a m p l e   r u n n i n g   t e x t .   N e q u e   p o r r o   q u i s q u a m   e s t ,   q u i   d o l o r e m   i p s u m   q u i a   d o l o r   s i t   a m e t ,   c o n s e c t e t u r ,   a d i p i s c i   v e l i t ,   s e d   q u i a   n o n   n u m q u a m   e i u s   m o d i   t e m p o r a   i n c i d u n t   u t   l a b o r e   e t   d o l o r e   m a g n a m   a l i q u a m   q u a e r a t   v o l u p t a t e m .


Question: What is Version strings?

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


Question: What is {{< param "version" >}}?

Answer: T h e   { { <   p a r a m   " v e r s i o n "   > } }   s h o r t c o d e   g e n e r a t e s   t h e   v a l u e   o f   t h e   c u r r e n t   v e r s i o n   o f   t h e   K u b e r n e t e s   d o c u m e n t a t i o n   f r o m   t h e   v e r s i o n   s i t e   p a r a m e t e r .   T h e   p a r a m   s h o r t c o d e   a c c e p t s   t h e   n a m e   o f   o n e   s i t e   p a r a m e t e r ,   i n   t h i s   c a s e :   v e r s i o n .


Question: What is Note:?

Answer: R e n d e r s   t o :


Question: What is {{< latest-version >}}?

Answer: T h e   { { <   l a t e s t - v e r s i o n   > } }   s h o r t c o d e   r e t u r n s   t h e   v a l u e   o f   t h e   l a t e s t   s i t e   p a r a m e t e r .   T h e   l a t e s t   s i t e   p a r a m e t e r   i s   u p d a t e d   w h e n   a   n e w   v e r s i o n   o f   t h e   d o c u m e n t a t i o n   i s   r e l e a s e d .   T h i s   p a r a m e t e r   d o e s   n o t   a l w a y s   m a t c h   t h e   v a l u e   o f   v e r s i o n   i n   a   d o c u m e n t a t i o n   s e t .   R e n d e r s   t o :


Question: What is {{< latest-semver >}}?

Answer: T h e   { { <   l a t e s t - s e m v e r   > } }   s h o r t c o d e   g e n e r a t e s   t h e   v a l u e   o f   l a t e s t   w i t h o u t   t h e   " v "   p r e f i x .   R e n d e r s   t o :


Question: What is {{< version-check >}}?

Answer: T h e   { { <   v e r s i o n - c h e c k   > } }   s h o r t c o d e   c h e c k s   i f   t h e   m i n - k u b e r n e t e s - s e r v e r - v e r s i o n   p a g e   p a r a m e t e r   i s   p r e s e n t   a n d   t h e n   u s e s   t h i s   v a l u e   t o   c o m p a r e   t o   v e r s i o n .   R e n d e r s   t o :   T o   c h e c k   t h e   v e r s i o n ,   e n t e r   k u b e c t l   v e r s i o n .


Question: What is {{< latest-release-notes >}}?

Answer: T h e   { { <   l a t e s t - r e l e a s e - n o t e s   > } }   s h o r t c o d e   g e n e r a t e s   a   v e r s i o n   s t r i n g   f r o m   l a t e s t   a n d   r e m o v e s   t h e   " v "   p r e f i x .   T h e   s h o r t c o d e   p r i n t s   a   n e w   U R L   f o r   t h e   r e l e a s e   n o t e   C H A N G E L O G   p a g e   w i t h   t h e   m o d i f i e d   v e r s i o n   s t r i n g .   R e n d e r s   t o :


Question: What is What's next?

Answer: L e a r n   a b o u t   H u g o . L e a r n   a b o u t   w r i t i n g   a   n e w   t o p i c . L e a r n   a b o u t   p a g e   c o n t e n t   t y p e s . L e a r n   a b o u t   o p e n i n g   a   p u l l   r e q u e s t . L e a r n   a b o u t   a d v a n c e d   c o n t r i b u t i n g .


Question: What is kubectl set serviceaccount?

Answer: kubectl set serviceaccountSynopsisUpdate the service account of pod template resources.Possible resources (case insensitive) can be:replicationcontroller (rc), deployment (deploy), daemonset (ds), job, replicaset (rs), statefulsetkubectl set serviceaccount (-f FILENAME | TYPE NAME) SERVICE_ACCOUNT Examples # Set deployment nginx-deployment's service account to serviceaccount1 kubectl set serviceaccount deployment nginx-deployment serviceaccount1 # Print the result (in YAML format) of updated nginx deployment with the service account from local file, without hitting the API server kubectl set sa -f nginx-deployment.yaml serviceaccount1 --local --dry-run=client -o yaml Options--allSelect all resources, in the namespace of the specified resource types--allow-missing-template-keys Default: trueIf true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.--dry-run string[="unchanged"] Default: "none"Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.--field-manager string Default: "kubectl-set"Name of the manager used to track field ownership.-f, --filename stringsFilename, directory, or URL to files identifying the resource to get from a server.-h, --helphelp for serviceaccount-k, --kustomize stringProcess the kustomization directory. This flag can't be used together with -f or -R.--localIf true, set serviceaccount will NOT contact api-server but run locally.-o, --output stringOutput format. One of: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).-R, --recursiveProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.--show-managed-fieldsIf true, keep the managedFields when printing objects in JSON or YAML format.--template stringTemplate string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].Parent Options Inherited--as stringUsername to impersonate for the operation. User could be a regular user or a service account in a namespace.--as-group stringsGroup to impersonate for the operation, this flag can be repeated to specify multiple groups.--as-uid stringUID to impersonate for the operation.--cache-dir string Default: "$HOME/.kube/cache"Default cache directory--certificate-authority stringPath to a cert file for the certificate authority--client-certificate stringPath to a client certificate file for TLS--client-key stringPath to a client key file for TLS--cluster stringThe name of the kubeconfig cluster to use--context stringThe name of the kubeconfig context to use--disable-compressionIf true, opt-out of response compression for all requests to the ser


Question: How does kubectl set serviceaccount work?

Answer: kubectl set serviceaccountSynopsisUpdate the service account of pod template resources.Possible resources (case insensitive) can be:replicationcontroller (rc), deployment (deploy), daemonset (ds), job, replicaset (rs), statefulsetkubectl set serviceaccount (-f FILENAME | TYPE NAME) SERVICE_ACCOUNT Examples # Set deployment nginx-deployment's service account to serviceaccount1 kubectl set serviceaccount deployment nginx-deployment serviceaccount1 # Print the result (in YAML format) of updated nginx deployment with the service account from local file, without hitting the API server kubectl set sa -f nginx-deployment.yaml serviceaccount1 --local --dry-run=client -o yaml Options--allSelect all resources, in the namespace of the specified resource types--allow-missing-template-keys Default: trueIf true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.--dry-run string[="unchanged"] Default: "none"Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.--field-manager string Default: "kubectl-set"Name of the manager used to track field ownership.-f, --filename stringsFilename, directory, or URL to files identifying the resource to get from a server.-h, --helphelp for serviceaccount-k, --kustomize stringProcess the kustomization directory. This flag can't be used together with -f or -R.--localIf true, set serviceaccount will NOT contact api-server but run locally.-o, --output stringOutput format. One of: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).-R, --recursiveProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.--show-managed-fieldsIf true, keep the managedFields when printing objects in JSON or YAML format.--template stringTemplate string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].Parent Options Inherited--as stringUsername to impersonate for the operation. User could be a regular user or a service account in a namespace.--as-group stringsGroup to impersonate for the operation, this flag can be repeated to specify multiple groups.--as-uid stringUID to impersonate for the operation.--cache-dir string Default: "$HOME/.kube/cache"Default cache directory--certificate-authority stringPath to a cert file for the certificate authority--client-certificate stringPath to a client certificate file for TLS--client-key stringPath to a client key file for TLS--cluster stringThe name of the kubeconfig cluster to use--context stringThe name of the kubeconfig context to use--disable-compressionIf true, opt-out of response compression for all requests to the ser


Question: When would you use kubectl set serviceaccount?

Answer: kubectl set serviceaccountSynopsisUpdate the service account of pod template resources.Possible resources (case insensitive) can be:replicationcontroller (rc), deployment (deploy), daemonset (ds), job, replicaset (rs), statefulsetkubectl set serviceaccount (-f FILENAME | TYPE NAME) SERVICE_ACCOUNT Examples # Set deployment nginx-deployment's service account to serviceaccount1 kubectl set serviceaccount deployment nginx-deployment serviceaccount1 # Print the result (in YAML format) of updated nginx deployment with the service account from local file, without hitting the API server kubectl set sa -f nginx-deployment.yaml serviceaccount1 --local --dry-run=client -o yaml Options--allSelect all resources, in the namespace of the specified resource types--allow-missing-template-keys Default: trueIf true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.--dry-run string[="unchanged"] Default: "none"Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.--field-manager string Default: "kubectl-set"Name of the manager used to track field ownership.-f, --filename stringsFilename, directory, or URL to files identifying the resource to get from a server.-h, --helphelp for serviceaccount-k, --kustomize stringProcess the kustomization directory. This flag can't be used together with -f or -R.--localIf true, set serviceaccount will NOT contact api-server but run locally.-o, --output stringOutput format. One of: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).-R, --recursiveProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.--show-managed-fieldsIf true, keep the managedFields when printing objects in JSON or YAML format.--template stringTemplate string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].Parent Options Inherited--as stringUsername to impersonate for the operation. User could be a regular user or a service account in a namespace.--as-group stringsGroup to impersonate for the operation, this flag can be repeated to specify multiple groups.--as-uid stringUID to impersonate for the operation.--cache-dir string Default: "$HOME/.kube/cache"Default cache directory--certificate-authority stringPath to a cert file for the certificate authority--client-certificate stringPath to a client certificate file for TLS--client-key stringPath to a client key file for TLS--cluster stringThe name of the kubeconfig cluster to use--context stringThe name of the kubeconfig context to use--disable-compressionIf true, opt-out of response compression for all requests to the ser


Question: What are the benefits of kubectl set serviceaccount?

Answer: kubectl set serviceaccountSynopsisUpdate the service account of pod template resources.Possible resources (case insensitive) can be:replicationcontroller (rc), deployment (deploy), daemonset (ds), job, replicaset (rs), statefulsetkubectl set serviceaccount (-f FILENAME | TYPE NAME) SERVICE_ACCOUNT Examples # Set deployment nginx-deployment's service account to serviceaccount1 kubectl set serviceaccount deployment nginx-deployment serviceaccount1 # Print the result (in YAML format) of updated nginx deployment with the service account from local file, without hitting the API server kubectl set sa -f nginx-deployment.yaml serviceaccount1 --local --dry-run=client -o yaml Options--allSelect all resources, in the namespace of the specified resource types--allow-missing-template-keys Default: trueIf true, ignore any errors in templates when a field or map key is missing in the template. Only applies to golang and jsonpath output formats.--dry-run string[="unchanged"] Default: "none"Must be "none", "server", or "client". If client strategy, only print the object that would be sent, without sending it. If server strategy, submit server-side request without persisting the resource.--field-manager string Default: "kubectl-set"Name of the manager used to track field ownership.-f, --filename stringsFilename, directory, or URL to files identifying the resource to get from a server.-h, --helphelp for serviceaccount-k, --kustomize stringProcess the kustomization directory. This flag can't be used together with -f or -R.--localIf true, set serviceaccount will NOT contact api-server but run locally.-o, --output stringOutput format. One of: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).-R, --recursiveProcess the directory used in -f, --filename recursively. Useful when you want to manage related manifests organized within the same directory.--show-managed-fieldsIf true, keep the managedFields when printing objects in JSON or YAML format.--template stringTemplate string or path to template file to use when -o=go-template, -o=go-template-file. The template format is golang templates [http://golang.org/pkg/text/template/#pkg-overview].Parent Options Inherited--as stringUsername to impersonate for the operation. User could be a regular user or a service account in a namespace.--as-group stringsGroup to impersonate for the operation, this flag can be repeated to specify multiple groups.--as-uid stringUID to impersonate for the operation.--cache-dir string Default: "$HOME/.kube/cache"Default cache directory--certificate-authority stringPath to a cert file for the certificate authority--client-certificate stringPath to a client certificate file for TLS--client-key stringPath to a client key file for TLS--cluster stringThe name of the kubeconfig cluster to use--context stringThe name of the kubeconfig context to use--disable-compressionIf true, opt-out of response compression for all requests to the ser


Question: What is Synopsis?

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


Question: What is Examples?

Answer: #   S e t   d e p l o y m e n t   n g i n x - d e p l o y m e n t ' s   s e r v i c e   a c c o u n t   t o   s e r v i c e a c c o u n t 1   k u b e c t l   s e t   s e r v i c e a c c o u n t   d e p l o y m e n t   n g i n x - d e p l o y m e n t   s e r v i c e a c c o u n t 1   #   P r i n t   t h e   r e s u l t   ( i n   Y A M L   f o r m a t )   o f   u p d a t e d   n g i n x   d e p l o y m e n t   w i t h   t h e   s e r v i c e   a c c o u n t   f r o m   l o c a l   f i l e ,   w i t h o u t   h i t t i n g   t h e   A P I   s e r v e r   k u b e c t l   s e t   s a   - f   n g i n x - d e p l o y m e n t . y a m l   s e r v i c e a c c o u n t 1   - - l o c a l   - - d r y - r u n = c l i e n t   - o   y a m l


Question: What is Options?

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


Question: What is Parent Options Inherited?

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


Question: What is See Also?

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