Question: What is DaemonSet?

Answer: D a e m o n S e t   r e p r e s e n t s   t h e   c o n f i g u r a t i o n   o f   a   d a e m o n   s e t .


Question: What is Job?

Answer: J o b   r e p r e s e n t s   t h e   c o n f i g u r a t i o n   o f   a   s i n g l e   j o b .


Question: What is CronJob?

Answer: C r o n J o b   r e p r e s e n t s   t h e   c o n f i g u r a t i o n   o f   a   s i n g l e   c r o n   j o b .


Question: What is HorizontalPodAutoscaler?

Answer: c o n f i g u r a t i o n   o f   a   h o r i z o n t a l   p o d   a u t o s c a l e r .


Question: What is HorizontalPodAutoscaler?

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


Question: What is PriorityClass?

Answer: P r i o r i t y C l a s s   d e f i n e s   m a p p i n g   f r o m   a   p r i o r i t y   c l a s s   n a m e   t o   t h e   p r i o r i t y   i n t e g e r   v a l u e .


Question: What is DeviceTaintRule v1alpha3?

Answer: D e v i c e T a i n t R u l e   a d d s   o n e   t a i n t   t o   a l l   d e v i c e s   w h i c h   m a t c h   t h e   s e l e c t o r .


Question: What is ResourceClaim?

Answer: R e s o u r c e C l a i m   d e s c r i b e s   a   r e q u e s t   f o r   a c c e s s   t o   r e s o u r c e s   i n   t h e   c l u s t e r ,   f o r   u s e   b y   w o r k l o a d s .


Question: What is ResourceClaimTemplate?

Answer: R e s o u r c e C l a i m T e m p l a t e   i s   u s e d   t o   p r o d u c e   R e s o u r c e C l a i m   o b j e c t s .


Question: What is ResourceSlice?

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


Question: What is RoleBinding?

Answer: RoleBindingRoleBinding references a role, but does not contain it.apiVersion: rbac.authorization.k8s.io/v1import "k8s.io/api/rbac/v1"RoleBindingRoleBinding references a role, but does not contain it. It can reference a Role in the same namespace or a ClusterRole in the global namespace. It adds who information via Subjects and namespace information by which namespace it exists in. RoleBindings in a given namespace only have effect in that namespace.apiVersion: rbac.authorization.k8s.io/v1kind: RoleBindingmetadata (ObjectMeta)Standard object's metadata.roleRef (RoleRef), requiredRoleRef can reference a Role in the current namespace or a ClusterRole in the global namespace. If the RoleRef cannot be resolved, the Authorizer must return an error. This field is immutable.RoleRef contains information that points to the role being usedroleRef.apiGroup (string), requiredAPIGroup is the group for the resource being referencedroleRef.kind (string), requiredKind is the type of resource being referencedroleRef.name (string), requiredName is the name of resource being referencedsubjects ([]Subject)Atomic: will be replaced during a mergeSubjects holds references to the objects the role applies to.Subject contains a reference to the object or user identities a role binding applies to. This can either hold a direct API object reference, or a value for non-objects such as user and group names.subjects.kind (string), requiredKind of object being referenced. Values defined by this API group are "User", "Group", and "ServiceAccount". If the Authorizer does not recognized the kind value, the Authorizer should report an error.subjects.name (string), requiredName of the object being referenced.subjects.apiGroup (string)APIGroup holds the API group of the referenced subject. Defaults to "" for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io" for User and Group subjects.subjects.namespace (string)Namespace of the referenced object. If the object kind is non-namespace, such as "User" or "Group", and this value is not empty the Authorizer should report an error.RoleBindingListRoleBindingList is a collection of RoleBindingsapiVersion: rbac.authorization.k8s.io/v1kind: RoleBindingListmetadata (ListMeta)Standard object's metadata.items ([]RoleBinding), requiredItems is a list of RoleBindingsOperationsget read the specified RoleBindingHTTP RequestGET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name}Parametersname (in path): string, requiredname of the RoleBindingnamespace (in path): string, requirednamespacepretty (in query): stringprettyResponse200 (RoleBinding): OK401: Unauthorizedlist list or watch objects of kind RoleBindingHTTP RequestGET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindingsParametersnamespace (in path): string, requirednamespaceallowWatchBookmarks (in query): booleanallowWatchBookmarkscontinue (in query): stringcontinuefieldSelector (in query): stringfieldSelectorlabelSelector (in query): strin


Question: How does RoleBinding work?

Answer: RoleBindingRoleBinding references a role, but does not contain it.apiVersion: rbac.authorization.k8s.io/v1import "k8s.io/api/rbac/v1"RoleBindingRoleBinding references a role, but does not contain it. It can reference a Role in the same namespace or a ClusterRole in the global namespace. It adds who information via Subjects and namespace information by which namespace it exists in. RoleBindings in a given namespace only have effect in that namespace.apiVersion: rbac.authorization.k8s.io/v1kind: RoleBindingmetadata (ObjectMeta)Standard object's metadata.roleRef (RoleRef), requiredRoleRef can reference a Role in the current namespace or a ClusterRole in the global namespace. If the RoleRef cannot be resolved, the Authorizer must return an error. This field is immutable.RoleRef contains information that points to the role being usedroleRef.apiGroup (string), requiredAPIGroup is the group for the resource being referencedroleRef.kind (string), requiredKind is the type of resource being referencedroleRef.name (string), requiredName is the name of resource being referencedsubjects ([]Subject)Atomic: will be replaced during a mergeSubjects holds references to the objects the role applies to.Subject contains a reference to the object or user identities a role binding applies to. This can either hold a direct API object reference, or a value for non-objects such as user and group names.subjects.kind (string), requiredKind of object being referenced. Values defined by this API group are "User", "Group", and "ServiceAccount". If the Authorizer does not recognized the kind value, the Authorizer should report an error.subjects.name (string), requiredName of the object being referenced.subjects.apiGroup (string)APIGroup holds the API group of the referenced subject. Defaults to "" for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io" for User and Group subjects.subjects.namespace (string)Namespace of the referenced object. If the object kind is non-namespace, such as "User" or "Group", and this value is not empty the Authorizer should report an error.RoleBindingListRoleBindingList is a collection of RoleBindingsapiVersion: rbac.authorization.k8s.io/v1kind: RoleBindingListmetadata (ListMeta)Standard object's metadata.items ([]RoleBinding), requiredItems is a list of RoleBindingsOperationsget read the specified RoleBindingHTTP RequestGET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name}Parametersname (in path): string, requiredname of the RoleBindingnamespace (in path): string, requirednamespacepretty (in query): stringprettyResponse200 (RoleBinding): OK401: Unauthorizedlist list or watch objects of kind RoleBindingHTTP RequestGET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindingsParametersnamespace (in path): string, requirednamespaceallowWatchBookmarks (in query): booleanallowWatchBookmarkscontinue (in query): stringcontinuefieldSelector (in query): stringfieldSelectorlabelSelector (in query): strin


Question: When would you use RoleBinding?

Answer: RoleBindingRoleBinding references a role, but does not contain it.apiVersion: rbac.authorization.k8s.io/v1import "k8s.io/api/rbac/v1"RoleBindingRoleBinding references a role, but does not contain it. It can reference a Role in the same namespace or a ClusterRole in the global namespace. It adds who information via Subjects and namespace information by which namespace it exists in. RoleBindings in a given namespace only have effect in that namespace.apiVersion: rbac.authorization.k8s.io/v1kind: RoleBindingmetadata (ObjectMeta)Standard object's metadata.roleRef (RoleRef), requiredRoleRef can reference a Role in the current namespace or a ClusterRole in the global namespace. If the RoleRef cannot be resolved, the Authorizer must return an error. This field is immutable.RoleRef contains information that points to the role being usedroleRef.apiGroup (string), requiredAPIGroup is the group for the resource being referencedroleRef.kind (string), requiredKind is the type of resource being referencedroleRef.name (string), requiredName is the name of resource being referencedsubjects ([]Subject)Atomic: will be replaced during a mergeSubjects holds references to the objects the role applies to.Subject contains a reference to the object or user identities a role binding applies to. This can either hold a direct API object reference, or a value for non-objects such as user and group names.subjects.kind (string), requiredKind of object being referenced. Values defined by this API group are "User", "Group", and "ServiceAccount". If the Authorizer does not recognized the kind value, the Authorizer should report an error.subjects.name (string), requiredName of the object being referenced.subjects.apiGroup (string)APIGroup holds the API group of the referenced subject. Defaults to "" for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io" for User and Group subjects.subjects.namespace (string)Namespace of the referenced object. If the object kind is non-namespace, such as "User" or "Group", and this value is not empty the Authorizer should report an error.RoleBindingListRoleBindingList is a collection of RoleBindingsapiVersion: rbac.authorization.k8s.io/v1kind: RoleBindingListmetadata (ListMeta)Standard object's metadata.items ([]RoleBinding), requiredItems is a list of RoleBindingsOperationsget read the specified RoleBindingHTTP RequestGET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name}Parametersname (in path): string, requiredname of the RoleBindingnamespace (in path): string, requirednamespacepretty (in query): stringprettyResponse200 (RoleBinding): OK401: Unauthorizedlist list or watch objects of kind RoleBindingHTTP RequestGET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindingsParametersnamespace (in path): string, requirednamespaceallowWatchBookmarks (in query): booleanallowWatchBookmarkscontinue (in query): stringcontinuefieldSelector (in query): stringfieldSelectorlabelSelector (in query): strin


Question: What are the benefits of RoleBinding?

Answer: RoleBindingRoleBinding references a role, but does not contain it.apiVersion: rbac.authorization.k8s.io/v1import "k8s.io/api/rbac/v1"RoleBindingRoleBinding references a role, but does not contain it. It can reference a Role in the same namespace or a ClusterRole in the global namespace. It adds who information via Subjects and namespace information by which namespace it exists in. RoleBindings in a given namespace only have effect in that namespace.apiVersion: rbac.authorization.k8s.io/v1kind: RoleBindingmetadata (ObjectMeta)Standard object's metadata.roleRef (RoleRef), requiredRoleRef can reference a Role in the current namespace or a ClusterRole in the global namespace. If the RoleRef cannot be resolved, the Authorizer must return an error. This field is immutable.RoleRef contains information that points to the role being usedroleRef.apiGroup (string), requiredAPIGroup is the group for the resource being referencedroleRef.kind (string), requiredKind is the type of resource being referencedroleRef.name (string), requiredName is the name of resource being referencedsubjects ([]Subject)Atomic: will be replaced during a mergeSubjects holds references to the objects the role applies to.Subject contains a reference to the object or user identities a role binding applies to. This can either hold a direct API object reference, or a value for non-objects such as user and group names.subjects.kind (string), requiredKind of object being referenced. Values defined by this API group are "User", "Group", and "ServiceAccount". If the Authorizer does not recognized the kind value, the Authorizer should report an error.subjects.name (string), requiredName of the object being referenced.subjects.apiGroup (string)APIGroup holds the API group of the referenced subject. Defaults to "" for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io" for User and Group subjects.subjects.namespace (string)Namespace of the referenced object. If the object kind is non-namespace, such as "User" or "Group", and this value is not empty the Authorizer should report an error.RoleBindingListRoleBindingList is a collection of RoleBindingsapiVersion: rbac.authorization.k8s.io/v1kind: RoleBindingListmetadata (ListMeta)Standard object's metadata.items ([]RoleBinding), requiredItems is a list of RoleBindingsOperationsget read the specified RoleBindingHTTP RequestGET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name}Parametersname (in path): string, requiredname of the RoleBindingnamespace (in path): string, requirednamespacepretty (in query): stringprettyResponse200 (RoleBinding): OK401: Unauthorizedlist list or watch objects of kind RoleBindingHTTP RequestGET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindingsParametersnamespace (in path): string, requirednamespaceallowWatchBookmarks (in query): booleanallowWatchBookmarkscontinue (in query): stringcontinuefieldSelector (in query): stringfieldSelectorlabelSelector (in query): strin


Question: What is RoleBinding?

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


Question: What is RoleBinding?

Answer: R o l e B i n d i n g   r e f e r e n c e s   a   r o l e ,   b u t   d o e s   n o t   c o n t a i n   i t .   I t   c a n   r e f e r e n c e   a   R o l e   i n   t h e   s a m e   n a m e s p a c e   o r   a   C l u s t e r R o l e   i n   t h e   g l o b a l   n a m e s p a c e .   I t   a d d s   w h o   i n f o r m a t i o n   v i a   S u b j e c t s   a n d   n a m e s p a c e   i n f o r m a t i o n   b y   w h i c h   n a m e s p a c e   i t   e x i s t s   i n .   R o l e B i n d i n g s   i n   a   g i v e n   n a m e s p a c e   o n l y   h a v e   e f f e c t   i n   t h a t   n a m e s p a c e .   a p i V e r s i o n :   r b a c . a u t h o r i z a t i o n . k 8 s . i o / v 1 k i n d :   R o l e B i n d i n g m e t a d a t a   ( O b j e c t M e t a ) S t a n d a r d   o b j e c t ' s   m e t a d a t a . r o l e R e f   ( R o l e R e f ) ,   r e q u i r e d R o l e R e f   c a n   r e f e r e n c e   a   R o l e   i n   t h e   c u r r e n t   n a m e s p a c e   o r   a   C l u s t e r R o l e   i n   t h e   g l o b a l   n a m e s p a c e .   I f   t h e   R o l e R e f   c a n n o t   b e   r e s o l v e d ,   t h e   A u t h o r i z e r   m u s t   r e t u r n   a n   e r r o r .   T h i s   f i e l d   i s   i m m u t a b l e . R o l e R e f   c o n t a i n s   i n f o r m a t i o n   t h a t   p o i n t s   t o   t h e   r o l e   b e i n g   u s e d r o l e R e f . a p i G r o u p   ( s t r i n g ) ,   r e q u i r e d A P I G r o u p   i s   t h e   g r o u p   f o r   t h e   r e s o u r c e   b e i n g   r e f e r e n c e d r o l e R e f . k i n d   ( s t r i n g ) ,   r e q u i r e d K i n d   i s   t h e   t y p e   o f   r e s o u r c e   b e i n g   r e f e r e n c e d r o l e R e f . n a m e   ( s t r i n g ) ,   r e q u i r e d N a m e   i s   t h e   n a m e   o f   r e s o u r c e   b e i n g   r e f e r e n c e d s u b j e c t s   ( [ ] S u b j e c t ) A t o m i c :   w i l l   b e   r e p l a c e d   d u r i n g   a   m e r g e S u


Question: What is RoleBindingList?

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


Question: What is HTTP Request?

Answer: G E T   / a p i s / r b a c . a u t h o r i z a t i o n . k 8 s . i o / v 1 / n a m e s p a c e s / { n a m e s p a c e } / r o l e b i n d i n g s / { n a m e }


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: G E T   / a p i s / r b a c . a u t h o r i z a t i o n . k 8 s . i o / v 1 / n a m e s p a c e s / { n a m e s p a c e } / r o l e b i n d i n g s


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: G E T   / a p i s / r b a c . a u t h o r i z a t i o n . k 8 s . i o / v 1 / r o l e b i n d i n g s


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: P O S T   / a p i s / r b a c . a u t h o r i z a t i o n . k 8 s . i o / v 1 / n a m e s p a c e s / { n a m e s p a c e } / r o l e b i n d i n g s


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: P U T   / a p i s / r b a c . a u t h o r i z a t i o n . k 8 s . i o / v 1 / n a m e s p a c e s / { n a m e s p a c e } / r o l e b i n d i n g s / { n a m e }


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: P A T C H   / a p i s / r b a c . a u t h o r i z a t i o n . k 8 s . i o / v 1 / n a m e s p a c e s / { n a m e s p a c e } / r o l e b i n d i n g s / { n a m e }


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: D E L E T E   / a p i s / r b a c . a u t h o r i z a t i o n . k 8 s . i o / v 1 / n a m e s p a c e s / { n a m e s p a c e } / r o l e b i n d i n g s / { n a m e }


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is HTTP Request?

Answer: D E L E T E   / a p i s / r b a c . a u t h o r i z a t i o n . k 8 s . i o / v 1 / n a m e s p a c e s / { n a m e s p a c e } / r o l e b i n d i n g s


Question: What is Parameters?

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


Question: What is Response?

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


Question: What is Set Up DRA in a Cluster?

Answer: Set Up DRA in a ClusterFEATURE STATE: Kubernetes v1.34 [stable] (enabled by default: true)This page shows you how to configure dynamic resource allocation (DRA) in a Kubernetes cluster by enabling API groups and configuring classes of devices. These instructions are for cluster administrators.About DRAA Kubernetes feature that lets you request and share resources among Pods. These resources are often attached devices like hardware accelerators.With DRA, device drivers and cluster admins define device classes that are available to claim in workloads. Kubernetes allocates matching devices to specific claims and places the corresponding Pods on nodes that can access the allocated devices.Ensure that you're familiar with how DRA works and with DRA terminology like DeviceClasses, ResourceClaims, and ResourceClaimTemplates. For details, see Dynamic Resource Allocation (DRA).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 KubernetesYour Kubernetes server must be version v1.34.To check the version, enter kubectl version.Directly or indirectly attach devices to your cluster. To avoid potential issues with drivers, wait until you set up the DRA feature for your cluster before you install drivers.Optional: enable legacy DRA API groupsDRA graduated to stable in Kubernetes 1.34 and is enabled by default. Some older DRA drivers or workloads might still need the v1beta1 API from Kubernetes 1.30 or v1beta2 from Kubernetes 1.32. If and only if support for those is desired, then enable the following API groups:* `resource.k8s.io/v1beta1` * `resource.k8s.io/v1beta2` For more information, see Enabling or disabling API groups.Verify that DRA is enabledTo verify that the cluster is configured correctly, try to list DeviceClasses:kubectl get deviceclasses If the component configuration was correct, the output is similar to the following:No resources found If DRA isn't correctly configured, the output of the preceding command is similar to the following:error: the server doesn't have a resource type "deviceclasses" Try the following troubleshooting steps:Reconfigure and restart the kube-apiserver component.If the complete .spec.resourceClaims field gets removed from Pods, or if Pods get scheduled without considering the ResourceClaims, then verify that the DynamicResourceAllocation feature gate is not turned off for kube-apiserver, kube-controller-manager, kube-scheduler or the kubelet.Install device driversAfter you enable DRA for your cluster, you can install the drivers for your attached devices. For instructions, check the documentation of your device owner or the project that maintains the d


Question: How does Set Up DRA in a Cluster work?

Answer: Set Up DRA in a ClusterFEATURE STATE: Kubernetes v1.34 [stable] (enabled by default: true)This page shows you how to configure dynamic resource allocation (DRA) in a Kubernetes cluster by enabling API groups and configuring classes of devices. These instructions are for cluster administrators.About DRAA Kubernetes feature that lets you request and share resources among Pods. These resources are often attached devices like hardware accelerators.With DRA, device drivers and cluster admins define device classes that are available to claim in workloads. Kubernetes allocates matching devices to specific claims and places the corresponding Pods on nodes that can access the allocated devices.Ensure that you're familiar with how DRA works and with DRA terminology like DeviceClasses, ResourceClaims, and ResourceClaimTemplates. For details, see Dynamic Resource Allocation (DRA).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 KubernetesYour Kubernetes server must be version v1.34.To check the version, enter kubectl version.Directly or indirectly attach devices to your cluster. To avoid potential issues with drivers, wait until you set up the DRA feature for your cluster before you install drivers.Optional: enable legacy DRA API groupsDRA graduated to stable in Kubernetes 1.34 and is enabled by default. Some older DRA drivers or workloads might still need the v1beta1 API from Kubernetes 1.30 or v1beta2 from Kubernetes 1.32. If and only if support for those is desired, then enable the following API groups:* `resource.k8s.io/v1beta1` * `resource.k8s.io/v1beta2` For more information, see Enabling or disabling API groups.Verify that DRA is enabledTo verify that the cluster is configured correctly, try to list DeviceClasses:kubectl get deviceclasses If the component configuration was correct, the output is similar to the following:No resources found If DRA isn't correctly configured, the output of the preceding command is similar to the following:error: the server doesn't have a resource type "deviceclasses" Try the following troubleshooting steps:Reconfigure and restart the kube-apiserver component.If the complete .spec.resourceClaims field gets removed from Pods, or if Pods get scheduled without considering the ResourceClaims, then verify that the DynamicResourceAllocation feature gate is not turned off for kube-apiserver, kube-controller-manager, kube-scheduler or the kubelet.Install device driversAfter you enable DRA for your cluster, you can install the drivers for your attached devices. For instructions, check the documentation of your device owner or the project that maintains the d


Question: When would you use Set Up DRA in a Cluster?

Answer: Set Up DRA in a ClusterFEATURE STATE: Kubernetes v1.34 [stable] (enabled by default: true)This page shows you how to configure dynamic resource allocation (DRA) in a Kubernetes cluster by enabling API groups and configuring classes of devices. These instructions are for cluster administrators.About DRAA Kubernetes feature that lets you request and share resources among Pods. These resources are often attached devices like hardware accelerators.With DRA, device drivers and cluster admins define device classes that are available to claim in workloads. Kubernetes allocates matching devices to specific claims and places the corresponding Pods on nodes that can access the allocated devices.Ensure that you're familiar with how DRA works and with DRA terminology like DeviceClasses, ResourceClaims, and ResourceClaimTemplates. For details, see Dynamic Resource Allocation (DRA).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 KubernetesYour Kubernetes server must be version v1.34.To check the version, enter kubectl version.Directly or indirectly attach devices to your cluster. To avoid potential issues with drivers, wait until you set up the DRA feature for your cluster before you install drivers.Optional: enable legacy DRA API groupsDRA graduated to stable in Kubernetes 1.34 and is enabled by default. Some older DRA drivers or workloads might still need the v1beta1 API from Kubernetes 1.30 or v1beta2 from Kubernetes 1.32. If and only if support for those is desired, then enable the following API groups:* `resource.k8s.io/v1beta1` * `resource.k8s.io/v1beta2` For more information, see Enabling or disabling API groups.Verify that DRA is enabledTo verify that the cluster is configured correctly, try to list DeviceClasses:kubectl get deviceclasses If the component configuration was correct, the output is similar to the following:No resources found If DRA isn't correctly configured, the output of the preceding command is similar to the following:error: the server doesn't have a resource type "deviceclasses" Try the following troubleshooting steps:Reconfigure and restart the kube-apiserver component.If the complete .spec.resourceClaims field gets removed from Pods, or if Pods get scheduled without considering the ResourceClaims, then verify that the DynamicResourceAllocation feature gate is not turned off for kube-apiserver, kube-controller-manager, kube-scheduler or the kubelet.Install device driversAfter you enable DRA for your cluster, you can install the drivers for your attached devices. For instructions, check the documentation of your device owner or the project that maintains the d


Question: What are the benefits of Set Up DRA in a Cluster?

Answer: Set Up DRA in a ClusterFEATURE STATE: Kubernetes v1.34 [stable] (enabled by default: true)This page shows you how to configure dynamic resource allocation (DRA) in a Kubernetes cluster by enabling API groups and configuring classes of devices. These instructions are for cluster administrators.About DRAA Kubernetes feature that lets you request and share resources among Pods. These resources are often attached devices like hardware accelerators.With DRA, device drivers and cluster admins define device classes that are available to claim in workloads. Kubernetes allocates matching devices to specific claims and places the corresponding Pods on nodes that can access the allocated devices.Ensure that you're familiar with how DRA works and with DRA terminology like DeviceClasses, ResourceClaims, and ResourceClaimTemplates. For details, see Dynamic Resource Allocation (DRA).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 KubernetesYour Kubernetes server must be version v1.34.To check the version, enter kubectl version.Directly or indirectly attach devices to your cluster. To avoid potential issues with drivers, wait until you set up the DRA feature for your cluster before you install drivers.Optional: enable legacy DRA API groupsDRA graduated to stable in Kubernetes 1.34 and is enabled by default. Some older DRA drivers or workloads might still need the v1beta1 API from Kubernetes 1.30 or v1beta2 from Kubernetes 1.32. If and only if support for those is desired, then enable the following API groups:* `resource.k8s.io/v1beta1` * `resource.k8s.io/v1beta2` For more information, see Enabling or disabling API groups.Verify that DRA is enabledTo verify that the cluster is configured correctly, try to list DeviceClasses:kubectl get deviceclasses If the component configuration was correct, the output is similar to the following:No resources found If DRA isn't correctly configured, the output of the preceding command is similar to the following:error: the server doesn't have a resource type "deviceclasses" Try the following troubleshooting steps:Reconfigure and restart the kube-apiserver component.If the complete .spec.resourceClaims field gets removed from Pods, or if Pods get scheduled without considering the ResourceClaims, then verify that the DynamicResourceAllocation feature gate is not turned off for kube-apiserver, kube-controller-manager, kube-scheduler or the kubelet.Install device driversAfter you enable DRA for your cluster, you can install the drivers for your attached devices. For instructions, check the documentation of your device owner or the project that maintains the d


Question: What is Set Up DRA in a Cluster?

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


Question: What is About DRA?

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


Question: What is Before you begin?

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


Question: What is Optional: enable legacy DRA API groups?

Answer: D R A   g r a d u a t e d   t o   s t a b l e   i n   K u b e r n e t e s   1 . 3 4   a n d   i s   e n a b l e d   b y   d e f a u l t .   S o m e   o l d e r   D R A   d r i v e r s   o r   w o r k l o a d s   m i g h t   s t i l l   n e e d   t h e   v 1 b e t a 1   A P I   f r o m   K u b e r n e t e s   1 . 3 0   o r   v 1 b e t a 2   f r o m   K u b e r n e t e s   1 . 3 2 .   I f   a n d   o n l y   i f   s u p p o r t   f o r   t h o s e   i s   d e s i r e d ,   t h e n   e n a b l e   t h e   f o l l o w i n g   A P I   g r o u p s :   *   ` r e s o u r c e . k 8 s . i o / v 1 b e t a 1 `   *   ` r e s o u r c e . k 8 s . i o / v 1 b e t a 2 `   F o r   m o r e   i n f o r m a t i o n ,   s e e   E n a b l i n g   o r   d i s a b l i n g   A P I   g r o u p s .


Question: What is Verify that DRA is enabled?

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


Question: What is Install device drivers?

Answer: A f t e r   y o u   e n a b l e   D R A   f o r   y o u r   c l u s t e r ,   y o u   c a n   i n s t a l l   t h e   d r i v e r s   f o r   y o u r   a t t a c h e d   d e v i c e s .   F o r   i n s t r u c t i o n s ,   c h e c k   t h e   d o c u m e n t a t i o n   o f   y o u r   d e v i c e   o w n e r   o r   t h e   p r o j e c t   t h a t   m a i n t a i n s   t h e   d e v i c e   d r i v e r s .   T h e   d r i v e r s   t h a t   y o u   i n s t a l l   m u s t   b e   c o m p a t i b l e   w i t h   D R A .   T o   v e r i f y   t h a t   y o u r   i n s t a l l e d   d r i v e r s   a r e   w o r k i n g   a s   e x p e c t e d ,   l i s t   R e s o u r c e S l i c e s   i n   y o u r   c l u s t e r :   k u b e c t l   g e t   r e s o u r c e s l i c e s   T h e   o u t p u t   i s   s i m i l a r   t o   t h e   f o l l o w i n g :   N A M E   N O D E   D R I V E R   P O O L   A G E   c l u s t e r - 1 - d e v i c e - p o o l - 1 - d r i v e r . e x a m p l e . c o m - l q x 8 x   c l u s t e r - 1 - n o d e - 1   d r i v e r . e x a m p l e . c o m   c l u s t e r - 1 - d e v i c e - p o o l - 1 - r 1 g c   7 s   c l u s t e r - 1 - d e v i c e - p o o l - 2 - d r i v e r . e x a m p l e . c o m - 2 9 t 7 b   c l u s t e r - 1 - n o d e - 2   d r i v e r . e x a m p l e . c o m   c l u s t e r - 1 - d e v i c e - p o o l - 2 - 4 4 6 z   8 s   T r y   t h e   f o l l o w i n g   t r o u b l e s h o o t i n g   s t e p s :   C h e c k   t h e   h e a l t h   o f   t h e   D R A   d r i v e r   a n d   l o o k   f o r   e r r o r   m e s s a g e s   a b o u t   p u b l i s h i n g   R e s o u r c e S l i c e s   i n   i t s   l o g   o u t p u t .   T h e   v e n d o r   o f   t h e   d r i v e r   m a y   h a v e   f u r t h e r   i n s t r u c t i o n s   a b o u t   i n s t a l l a t i o n   a n d   t r o u b l e s h o o t i n g .


Question: What is Create DeviceClasses?

Answer: Y o u   c a n   d e f i n e   c a t e g o r i e s   o f   d e v i c e s   t h a t   y o u r   a p p l i c a t i o n   o p e r a t o r s   c a n   c l a i m   i n   w o r k l o a d s   b y   c r e a t i n g   D e v i c e C l a s s e s .   S o m e   d e v i c e   d r i v e r   p r o v i d e r s   m i g h t   a l s o   i n s t r u c t   y o u   t o   c r e a t e   D e v i c e C l a s s e s   d u r i n g   d r i v e r   i n s t a l l a t i o n .   T h e   R e s o u r c e S l i c e s   t h a t   y o u r   d r i v e r   p u b l i s h e s   c o n t a i n   i n f o r m a t i o n   a b o u t   t h e   d e v i c e s   t h a t   t h e   d r i v e r   m a n a g e s ,   s u c h   a s   c a p a c i t y ,   m e t a d a t a ,   a n d   a t t r i b u t e s .   Y o u   c a n   u s e   C o m m o n   E x p r e s s i o n   L a n g u a g e   t o   f i l t e r   f o r   p r o p e r t i e s   i n   y o u r   D e v i c e C l a s s e s ,   w h i c h   c a n   m a k e   f i n d i n g   d e v i c e s   e a s i e r   f o r   y o u r   w o r k l o a d   o p e r a t o r s .   T o   f i n d   t h e   d e v i c e   p r o p e r t i e s   t h a t   y o u   c a n   s e l e c t   i n   D e v i c e C l a s s e s   b y   u s i n g   C E L   e x p r e s s i o n s ,   g e t   t h e   s p e c i f i c a t i o n   o f   a   R e s o u r c e S l i c e : k u b e c t l   g e t   r e s o u r c e s l i c e   < r e s o u r c e s l i c e - n a m e >   - o   y a m l   T h e   o u t p u t   i s   s i m i l a r   t o   t h e   f o l l o w i n g : a p i V e r s i o n :   r e s o u r c e . k 8 s . i o / v 1   k i n d :   R e s o u r c e S l i c e   #   l i n e s   o m i t t e d   f o r   c l a r i t y   s p e c :   d e v i c e s :   -   a t t r i b u t e s :   t y p e :   s t r i n g :   g p u   c a p a c i t y :   m e m o r y :   v a l u e :   6 4 G i   n a m e :   g p u - 0   -   a t t r i b u t e s :   t y p e :   s t r i n g :   g p u   c a p a c i t y :   m e m o r y :   v a l u e :   6 4 G i   n a m e :   g p u - 1


Question: What is Clean up?

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


Question: What is What's next?

Answer: L e a r n   m o r e   a b o u t   D R A A l l o c a t e   D e v i c e s   t o   W o r k l o a d s   w i t h   D R A


Question: What is CSI Volume Cloning?

Answer: CSI Volume CloningThis document describes the concept of cloning existing CSI Volumes in Kubernetes. Familiarity with Volumes is suggested.IntroductionThe CSI Volume Cloning feature adds support for specifying existing PVCs in the dataSource field to indicate a user would like to clone a Volume.A Clone is defined as a duplicate of an existing Kubernetes Volume that can be consumed as any standard Volume would be. The only difference is that upon provisioning, rather than creating a "new" empty Volume, the back end device creates an exact duplicate of the specified Volume.The implementation of cloning, from the perspective of the Kubernetes API, adds the ability to specify an existing PVC as a dataSource during new PVC creation. The source PVC must be bound and available (not in use).Users need to be aware of the following when using this feature:Cloning support (VolumePVCDataSource) is only available for CSI drivers.Cloning support is only available for dynamic provisioners.CSI drivers may or may not have implemented the volume cloning functionality.You can only clone a PVC when it exists in the same namespace as the destination PVC (source and destination must be in the same namespace).Cloning is supported with a different Storage Class.Destination volume can be the same or a different storage class as the source.Default storage class can be used and storageClassName omitted in the spec.Cloning can only be performed between two volumes that use the same VolumeMode setting (if you request a block mode volume, the source MUST also be block mode)ProvisioningClones are provisioned like any other PVC with the exception of adding a dataSource that references an existing PVC in the same namespace.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: clone-of-pvc-1 namespace: myns spec: accessModes: - ReadWriteOnce storageClassName: cloning resources: requests: storage: 5Gi dataSource: kind: PersistentVolumeClaim name: pvc-1 Note:You must specify a capacity value for spec.resources.requests.storage, and the value you specify must be the same or larger than the capacity of the source volume.The result is a new PVC with the name clone-of-pvc-1 that has the exact same content as the specified source pvc-1.UsageUpon availability of the new PVC, the cloned PVC is consumed the same as other PVC. It's also expected at this point that the newly created PVC is an independent object. It can be consumed, cloned, snapshotted, or deleted independently and without consideration for it's original dataSource PVC. This also implies that the source is not linked in any way to the newly created clone, it may also be modified or deleted without affecting the newly created clone.


Question: How does CSI Volume Cloning work?

Answer: CSI Volume CloningThis document describes the concept of cloning existing CSI Volumes in Kubernetes. Familiarity with Volumes is suggested.IntroductionThe CSI Volume Cloning feature adds support for specifying existing PVCs in the dataSource field to indicate a user would like to clone a Volume.A Clone is defined as a duplicate of an existing Kubernetes Volume that can be consumed as any standard Volume would be. The only difference is that upon provisioning, rather than creating a "new" empty Volume, the back end device creates an exact duplicate of the specified Volume.The implementation of cloning, from the perspective of the Kubernetes API, adds the ability to specify an existing PVC as a dataSource during new PVC creation. The source PVC must be bound and available (not in use).Users need to be aware of the following when using this feature:Cloning support (VolumePVCDataSource) is only available for CSI drivers.Cloning support is only available for dynamic provisioners.CSI drivers may or may not have implemented the volume cloning functionality.You can only clone a PVC when it exists in the same namespace as the destination PVC (source and destination must be in the same namespace).Cloning is supported with a different Storage Class.Destination volume can be the same or a different storage class as the source.Default storage class can be used and storageClassName omitted in the spec.Cloning can only be performed between two volumes that use the same VolumeMode setting (if you request a block mode volume, the source MUST also be block mode)ProvisioningClones are provisioned like any other PVC with the exception of adding a dataSource that references an existing PVC in the same namespace.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: clone-of-pvc-1 namespace: myns spec: accessModes: - ReadWriteOnce storageClassName: cloning resources: requests: storage: 5Gi dataSource: kind: PersistentVolumeClaim name: pvc-1 Note:You must specify a capacity value for spec.resources.requests.storage, and the value you specify must be the same or larger than the capacity of the source volume.The result is a new PVC with the name clone-of-pvc-1 that has the exact same content as the specified source pvc-1.UsageUpon availability of the new PVC, the cloned PVC is consumed the same as other PVC. It's also expected at this point that the newly created PVC is an independent object. It can be consumed, cloned, snapshotted, or deleted independently and without consideration for it's original dataSource PVC. This also implies that the source is not linked in any way to the newly created clone, it may also be modified or deleted without affecting the newly created clone.


Question: When would you use CSI Volume Cloning?

Answer: CSI Volume CloningThis document describes the concept of cloning existing CSI Volumes in Kubernetes. Familiarity with Volumes is suggested.IntroductionThe CSI Volume Cloning feature adds support for specifying existing PVCs in the dataSource field to indicate a user would like to clone a Volume.A Clone is defined as a duplicate of an existing Kubernetes Volume that can be consumed as any standard Volume would be. The only difference is that upon provisioning, rather than creating a "new" empty Volume, the back end device creates an exact duplicate of the specified Volume.The implementation of cloning, from the perspective of the Kubernetes API, adds the ability to specify an existing PVC as a dataSource during new PVC creation. The source PVC must be bound and available (not in use).Users need to be aware of the following when using this feature:Cloning support (VolumePVCDataSource) is only available for CSI drivers.Cloning support is only available for dynamic provisioners.CSI drivers may or may not have implemented the volume cloning functionality.You can only clone a PVC when it exists in the same namespace as the destination PVC (source and destination must be in the same namespace).Cloning is supported with a different Storage Class.Destination volume can be the same or a different storage class as the source.Default storage class can be used and storageClassName omitted in the spec.Cloning can only be performed between two volumes that use the same VolumeMode setting (if you request a block mode volume, the source MUST also be block mode)ProvisioningClones are provisioned like any other PVC with the exception of adding a dataSource that references an existing PVC in the same namespace.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: clone-of-pvc-1 namespace: myns spec: accessModes: - ReadWriteOnce storageClassName: cloning resources: requests: storage: 5Gi dataSource: kind: PersistentVolumeClaim name: pvc-1 Note:You must specify a capacity value for spec.resources.requests.storage, and the value you specify must be the same or larger than the capacity of the source volume.The result is a new PVC with the name clone-of-pvc-1 that has the exact same content as the specified source pvc-1.UsageUpon availability of the new PVC, the cloned PVC is consumed the same as other PVC. It's also expected at this point that the newly created PVC is an independent object. It can be consumed, cloned, snapshotted, or deleted independently and without consideration for it's original dataSource PVC. This also implies that the source is not linked in any way to the newly created clone, it may also be modified or deleted without affecting the newly created clone.


Question: What are the benefits of CSI Volume Cloning?

Answer: CSI Volume CloningThis document describes the concept of cloning existing CSI Volumes in Kubernetes. Familiarity with Volumes is suggested.IntroductionThe CSI Volume Cloning feature adds support for specifying existing PVCs in the dataSource field to indicate a user would like to clone a Volume.A Clone is defined as a duplicate of an existing Kubernetes Volume that can be consumed as any standard Volume would be. The only difference is that upon provisioning, rather than creating a "new" empty Volume, the back end device creates an exact duplicate of the specified Volume.The implementation of cloning, from the perspective of the Kubernetes API, adds the ability to specify an existing PVC as a dataSource during new PVC creation. The source PVC must be bound and available (not in use).Users need to be aware of the following when using this feature:Cloning support (VolumePVCDataSource) is only available for CSI drivers.Cloning support is only available for dynamic provisioners.CSI drivers may or may not have implemented the volume cloning functionality.You can only clone a PVC when it exists in the same namespace as the destination PVC (source and destination must be in the same namespace).Cloning is supported with a different Storage Class.Destination volume can be the same or a different storage class as the source.Default storage class can be used and storageClassName omitted in the spec.Cloning can only be performed between two volumes that use the same VolumeMode setting (if you request a block mode volume, the source MUST also be block mode)ProvisioningClones are provisioned like any other PVC with the exception of adding a dataSource that references an existing PVC in the same namespace.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: clone-of-pvc-1 namespace: myns spec: accessModes: - ReadWriteOnce storageClassName: cloning resources: requests: storage: 5Gi dataSource: kind: PersistentVolumeClaim name: pvc-1 Note:You must specify a capacity value for spec.resources.requests.storage, and the value you specify must be the same or larger than the capacity of the source volume.The result is a new PVC with the name clone-of-pvc-1 that has the exact same content as the specified source pvc-1.UsageUpon availability of the new PVC, the cloned PVC is consumed the same as other PVC. It's also expected at this point that the newly created PVC is an independent object. It can be consumed, cloned, snapshotted, or deleted independently and without consideration for it's original dataSource PVC. This also implies that the source is not linked in any way to the newly created clone, it may also be modified or deleted without affecting the newly created clone.


Question: What is CSI Volume Cloning?

Answer: T h i s   d o c u m e n t   d e s c r i b e s   t h e   c o n c e p t   o f   c l o n i n g   e x i s t i n g   C S I   V o l u m e s   i n   K u b e r n e t e s .   F a m i l i a r i t y   w i t h   V o l u m e s   i s   s u g g e s t e d .


Question: What is Introduction?

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


Question: What is Provisioning?

Answer: C l o n e s   a r e   p r o v i s i o n e d   l i k e   a n y   o t h e r   P V C   w i t h   t h e   e x c e p t i o n   o f   a d d i n g   a   d a t a S o u r c e   t h a t   r e f e r e n c e s   a n   e x i s t i n g   P V C   i n   t h e   s a m e   n a m e s p a c e .   a p i V e r s i o n :   v 1   k i n d :   P e r s i s t e n t V o l u m e C l a i m   m e t a d a t a :   n a m e :   c l o n e - o f - p v c - 1   n a m e s p a c e :   m y n s   s p e c :   a c c e s s M o d e s :   -   R e a d W r i t e O n c e   s t o r a g e C l a s s N a m e :   c l o n i n g   r e s o u r c e s :   r e q u e s t s :   s t o r a g e :   5 G i   d a t a S o u r c e :   k i n d :   P e r s i s t e n t V o l u m e C l a i m   n a m e :   p v c - 1


Question: What is Note:?

Answer: T h e   r e s u l t   i s   a   n e w   P V C   w i t h   t h e   n a m e   c l o n e - o f - p v c - 1   t h a t   h a s   t h e   e x a c t   s a m e   c o n t e n t   a s   t h e   s p e c i f i e d   s o u r c e   p v c - 1 .


Question: What is Usage?

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


Question: What is ObjectFieldSelector?

Answer: ObjectFieldSelectorObjectFieldSelector selects an APIVersioned field of an object.import "k8s.io/api/core/v1"ObjectFieldSelector selects an APIVersioned field of an object.fieldPath (string), requiredPath of the field to select in the specified API version.apiVersion (string)Version of the schema the FieldPath is written in terms of, defaults to "v1".This page is automatically generated.If you plan to report an issue with this page, mention that the page is auto-generated in your issue description. The fix may need to happen elsewhere in the Kubernetes project.


Question: How does ObjectFieldSelector work?

Answer: ObjectFieldSelectorObjectFieldSelector selects an APIVersioned field of an object.import "k8s.io/api/core/v1"ObjectFieldSelector selects an APIVersioned field of an object.fieldPath (string), requiredPath of the field to select in the specified API version.apiVersion (string)Version of the schema the FieldPath is written in terms of, defaults to "v1".This page is automatically generated.If you plan to report an issue with this page, mention that the page is auto-generated in your issue description. The fix may need to happen elsewhere in the Kubernetes project.


Question: When would you use ObjectFieldSelector?

Answer: ObjectFieldSelectorObjectFieldSelector selects an APIVersioned field of an object.import "k8s.io/api/core/v1"ObjectFieldSelector selects an APIVersioned field of an object.fieldPath (string), requiredPath of the field to select in the specified API version.apiVersion (string)Version of the schema the FieldPath is written in terms of, defaults to "v1".This page is automatically generated.If you plan to report an issue with this page, mention that the page is auto-generated in your issue description. The fix may need to happen elsewhere in the Kubernetes project.


Question: What are the benefits of ObjectFieldSelector?

Answer: ObjectFieldSelectorObjectFieldSelector selects an APIVersioned field of an object.import "k8s.io/api/core/v1"ObjectFieldSelector selects an APIVersioned field of an object.fieldPath (string), requiredPath of the field to select in the specified API version.apiVersion (string)Version of the schema the FieldPath is written in terms of, defaults to "v1".This page is automatically generated.If you plan to report an issue with this page, mention that the page is auto-generated in your issue description. The fix may need to happen elsewhere in the Kubernetes project.


Question: What is ObjectFieldSelector?

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


Question: What is kubeadm alpha?

Answer: kubeadm alphaCaution:kubeadm alpha provides a preview of a set of features made available for gathering


Question: How does kubeadm alpha work?

Answer: kubeadm alphaCaution:kubeadm alpha provides a preview of a set of features made available for gathering


Question: When would you use kubeadm alpha?

Answer: kubeadm alphaCaution:kubeadm alpha provides a preview of a set of features made available for gathering


Question: What are the benefits of kubeadm alpha?

Answer: kubeadm alphaCaution:kubeadm alpha provides a preview of a set of features made available for gathering


Question: What is Caution:?

Answer: C u r r e n t l y   t h e r e   a r e   n o   e x p e r i m e n t a l   c o m m a n d s   u n d e r   k u b e a d m   a l p h a .


Question: What is What's next?

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


Question: What is Hardening Guide - Scheduler Configuration?

Answer: Hardening Guide - Scheduler ConfigurationInformation about how to make the Kubernetes scheduler more secure.The Kubernetes scheduler is one of the critical components of the control plane.This document covers how to improve the security posture of the Scheduler.A misconfigured scheduler can have security implications. Such a scheduler can target specific nodes and evict the workloads or applications that are sharing the node and its resources. This can aid an attacker with a Yo-Yo attack: an attack on a vulnerable autoscaler.kube-scheduler configurationScheduler authentication & authorization command line optionsWhen setting up authentication configuration, it should be made sure that kube-scheduler's authentication remains consistent with kube-api-server's authentication. If any request has missing authentication headers, the authentication should happen through the kube-api-server allowing all authentication to be consistent in the cluster.authentication-kubeconfig: Make sure to provide a proper kubeconfig so that the scheduler can retrieve authentication configuration options from the API Server. This kubeconfig file should be protected with strict file permissions.authentication-tolerate-lookup-failure: Set this to false to make sure the scheduler always looks up its authentication configuration from the API server.authentication-skip-lookup: Set this to false to make sure the scheduler always looks up its authentication configuration from the API server.authorization-always-allow-paths: These paths should respond with data that is appropriate for anonymous authorization. Defaults to /healthz,/readyz,/livez.profiling: Set to false to disable the profiling endpoints which are provide debugging information but which should not be enabled on production clusters as they present a risk of denial of service or information leakage. The --profiling argument is deprecated and can now be provided through the KubeScheduler DebuggingConfiguration. Profiling can be disabled through the kube-scheduler config by setting enableProfiling to false.requestheader-client-ca-file: Avoid passing this argument.Scheduler networking command line optionsbind-address: In most cases, the kube-scheduler does not need to be externally accessible. Setting the bind address to localhost is a secure practice.permit-address-sharing: Set this to false to disable connection sharing through SO_REUSEADDR. SO_REUSEADDR can lead to reuse of terminated connections that are in TIME_WAIT state.permit-port-sharing: Default false. Use the default unless you are confident you understand the security implications.Scheduler TLS command line optionstls-cipher-suites: Always provide a list of preferred cipher suites. This ensures encryption never happens with insecure cipher suites.Scheduling configurations for custom schedulersWhen using custom schedulers based on the Kubernetes scheduling code, cluster administrators need to be careful with plugins that use the queueSort, prefilter, filter,


Question: How does Hardening Guide - Scheduler Configuration work?

Answer: Hardening Guide - Scheduler ConfigurationInformation about how to make the Kubernetes scheduler more secure.The Kubernetes scheduler is one of the critical components of the control plane.This document covers how to improve the security posture of the Scheduler.A misconfigured scheduler can have security implications. Such a scheduler can target specific nodes and evict the workloads or applications that are sharing the node and its resources. This can aid an attacker with a Yo-Yo attack: an attack on a vulnerable autoscaler.kube-scheduler configurationScheduler authentication & authorization command line optionsWhen setting up authentication configuration, it should be made sure that kube-scheduler's authentication remains consistent with kube-api-server's authentication. If any request has missing authentication headers, the authentication should happen through the kube-api-server allowing all authentication to be consistent in the cluster.authentication-kubeconfig: Make sure to provide a proper kubeconfig so that the scheduler can retrieve authentication configuration options from the API Server. This kubeconfig file should be protected with strict file permissions.authentication-tolerate-lookup-failure: Set this to false to make sure the scheduler always looks up its authentication configuration from the API server.authentication-skip-lookup: Set this to false to make sure the scheduler always looks up its authentication configuration from the API server.authorization-always-allow-paths: These paths should respond with data that is appropriate for anonymous authorization. Defaults to /healthz,/readyz,/livez.profiling: Set to false to disable the profiling endpoints which are provide debugging information but which should not be enabled on production clusters as they present a risk of denial of service or information leakage. The --profiling argument is deprecated and can now be provided through the KubeScheduler DebuggingConfiguration. Profiling can be disabled through the kube-scheduler config by setting enableProfiling to false.requestheader-client-ca-file: Avoid passing this argument.Scheduler networking command line optionsbind-address: In most cases, the kube-scheduler does not need to be externally accessible. Setting the bind address to localhost is a secure practice.permit-address-sharing: Set this to false to disable connection sharing through SO_REUSEADDR. SO_REUSEADDR can lead to reuse of terminated connections that are in TIME_WAIT state.permit-port-sharing: Default false. Use the default unless you are confident you understand the security implications.Scheduler TLS command line optionstls-cipher-suites: Always provide a list of preferred cipher suites. This ensures encryption never happens with insecure cipher suites.Scheduling configurations for custom schedulersWhen using custom schedulers based on the Kubernetes scheduling code, cluster administrators need to be careful with plugins that use the queueSort, prefilter, filter,


Question: When would you use Hardening Guide - Scheduler Configuration?

Answer: Hardening Guide - Scheduler ConfigurationInformation about how to make the Kubernetes scheduler more secure.The Kubernetes scheduler is one of the critical components of the control plane.This document covers how to improve the security posture of the Scheduler.A misconfigured scheduler can have security implications. Such a scheduler can target specific nodes and evict the workloads or applications that are sharing the node and its resources. This can aid an attacker with a Yo-Yo attack: an attack on a vulnerable autoscaler.kube-scheduler configurationScheduler authentication & authorization command line optionsWhen setting up authentication configuration, it should be made sure that kube-scheduler's authentication remains consistent with kube-api-server's authentication. If any request has missing authentication headers, the authentication should happen through the kube-api-server allowing all authentication to be consistent in the cluster.authentication-kubeconfig: Make sure to provide a proper kubeconfig so that the scheduler can retrieve authentication configuration options from the API Server. This kubeconfig file should be protected with strict file permissions.authentication-tolerate-lookup-failure: Set this to false to make sure the scheduler always looks up its authentication configuration from the API server.authentication-skip-lookup: Set this to false to make sure the scheduler always looks up its authentication configuration from the API server.authorization-always-allow-paths: These paths should respond with data that is appropriate for anonymous authorization. Defaults to /healthz,/readyz,/livez.profiling: Set to false to disable the profiling endpoints which are provide debugging information but which should not be enabled on production clusters as they present a risk of denial of service or information leakage. The --profiling argument is deprecated and can now be provided through the KubeScheduler DebuggingConfiguration. Profiling can be disabled through the kube-scheduler config by setting enableProfiling to false.requestheader-client-ca-file: Avoid passing this argument.Scheduler networking command line optionsbind-address: In most cases, the kube-scheduler does not need to be externally accessible. Setting the bind address to localhost is a secure practice.permit-address-sharing: Set this to false to disable connection sharing through SO_REUSEADDR. SO_REUSEADDR can lead to reuse of terminated connections that are in TIME_WAIT state.permit-port-sharing: Default false. Use the default unless you are confident you understand the security implications.Scheduler TLS command line optionstls-cipher-suites: Always provide a list of preferred cipher suites. This ensures encryption never happens with insecure cipher suites.Scheduling configurations for custom schedulersWhen using custom schedulers based on the Kubernetes scheduling code, cluster administrators need to be careful with plugins that use the queueSort, prefilter, filter,


Question: What are the benefits of Hardening Guide - Scheduler Configuration?

Answer: Hardening Guide - Scheduler ConfigurationInformation about how to make the Kubernetes scheduler more secure.The Kubernetes scheduler is one of the critical components of the control plane.This document covers how to improve the security posture of the Scheduler.A misconfigured scheduler can have security implications. Such a scheduler can target specific nodes and evict the workloads or applications that are sharing the node and its resources. This can aid an attacker with a Yo-Yo attack: an attack on a vulnerable autoscaler.kube-scheduler configurationScheduler authentication & authorization command line optionsWhen setting up authentication configuration, it should be made sure that kube-scheduler's authentication remains consistent with kube-api-server's authentication. If any request has missing authentication headers, the authentication should happen through the kube-api-server allowing all authentication to be consistent in the cluster.authentication-kubeconfig: Make sure to provide a proper kubeconfig so that the scheduler can retrieve authentication configuration options from the API Server. This kubeconfig file should be protected with strict file permissions.authentication-tolerate-lookup-failure: Set this to false to make sure the scheduler always looks up its authentication configuration from the API server.authentication-skip-lookup: Set this to false to make sure the scheduler always looks up its authentication configuration from the API server.authorization-always-allow-paths: These paths should respond with data that is appropriate for anonymous authorization. Defaults to /healthz,/readyz,/livez.profiling: Set to false to disable the profiling endpoints which are provide debugging information but which should not be enabled on production clusters as they present a risk of denial of service or information leakage. The --profiling argument is deprecated and can now be provided through the KubeScheduler DebuggingConfiguration. Profiling can be disabled through the kube-scheduler config by setting enableProfiling to false.requestheader-client-ca-file: Avoid passing this argument.Scheduler networking command line optionsbind-address: In most cases, the kube-scheduler does not need to be externally accessible. Setting the bind address to localhost is a secure practice.permit-address-sharing: Set this to false to disable connection sharing through SO_REUSEADDR. SO_REUSEADDR can lead to reuse of terminated connections that are in TIME_WAIT state.permit-port-sharing: Default false. Use the default unless you are confident you understand the security implications.Scheduler TLS command line optionstls-cipher-suites: Always provide a list of preferred cipher suites. This ensures encryption never happens with insecure cipher suites.Scheduling configurations for custom schedulersWhen using custom schedulers based on the Kubernetes scheduling code, cluster administrators need to be careful with plugins that use the queueSort, prefilter, filter,


Question: What is Hardening Guide - Scheduler Configuration?

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


Question: What is Scheduler authentication & authorization command line options?

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


Question: What is Scheduler networking command line options?

Answer: b i n d - a d d r e s s :   I n   m o s t   c a s e s ,   t h e   k u b e - s c h e d u l e r   d o e s   n o t   n e e d   t o   b e   e x t e r n a l l y   a c c e s s i b l e .   S e t t i n g   t h e   b i n d   a d d r e s s   t o   l o c a l h o s t   i s   a   s e c u r e   p r a c t i c e . p e r m i t - a d d r e s s - s h a r i n g :   S e t   t h i s   t o   f a l s e   t o   d i s a b l e   c o n n e c t i o n   s h a r i n g   t h r o u g h   S O _ R E U S E A D D R .   S O _ R E U S E A D D R   c a n   l e a d   t o   r e u s e   o f   t e r m i n a t e d   c o n n e c t i o n s   t h a t   a r e   i n   T I M E _ W A I T   s t a t e . p e r m i t - p o r t - s h a r i n g :   D e f a u l t   f a l s e .   U s e   t h e   d e f a u l t   u n l e s s   y o u   a r e   c o n f i d e n t   y o u   u n d e r s t a n d   t h e   s e c u r i t y   i m p l i c a t i o n s .


Question: What is Scheduler TLS command line options?

Answer: t l s - c i p h e r - s u i t e s :   A l w a y s   p r o v i d e   a   l i s t   o f   p r e f e r r e d   c i p h e r   s u i t e s .   T h i s   e n s u r e s   e n c r y p t i o n   n e v e r   h a p p e n s   w i t h   i n s e c u r e   c i p h e r   s u i t e s .


Question: What is Scheduling configurations for custom schedulers?

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


Question: What is Key considerations?

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


Question: What is Disallow labeling nodes?

Answer: A   c l u s t e r   a d m i n i s t r a t o r   s h o u l d   e n s u r e   t h a t   c l u s t e r   u s e r s   c a n n o t   l a b e l   t h e   n o d e s .   A   m a l i c i o u s   a c t o r   c a n   u s e   n o d e S e l e c t o r   t o   s c h e d u l e   w o r k l o a d s   o n   n o d e s   w h e r e   t h o s e   w o r k l o a d s   s h o u l d   n o t   b e   p r e s e n t .


Question: What is Configuring Redis using a ConfigMap?

Answer: Configuring Redis using a ConfigMapThis page provides a real world example of how to configure Redis using a ConfigMap and builds upon the Configure a Pod to Use a ConfigMap task.ObjectivesCreate a ConfigMap with Redis configuration valuesCreate a Redis Pod that mounts and uses the created ConfigMapVerify that the configuration was correctly applied.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 KubernetesTo check the version, enter kubectl version.The example shown on this page works with kubectl 1.14 and above.Understand Configure a Pod to Use a ConfigMap.Real World Example: Configuring Redis using a ConfigMapFollow the steps below to configure a Redis cache using data stored in a ConfigMap.First create a ConfigMap with an empty configuration block:cat <<EOF >./example-redis-config.yaml apiVersion: v1 kind: ConfigMap metadata: name: example-redis-config data: redis-config: "" EOF Apply the ConfigMap created above, along with a Redis pod manifest:kubectl apply -f example-redis-config.yaml kubectl apply -f https://raw.githubusercontent.com/kubernetes/website/main/content/en/examples/pods/config/redis-pod.yaml Examine the contents of the Redis pod manifest and note the following:A volume named config is created by spec.volumes[1]The key and path under spec.volumes[1].configMap.items[0] exposes the redis-config key from the example-redis-config ConfigMap as a file named redis.conf on the config volume.The config volume is then mounted at /redis-master by spec.containers[0].volumeMounts[1].This has the net effect of exposing the data in data.redis-config from the example-redis-config ConfigMap above as /redis-master/redis.conf inside the Pod.pods/config/redis-pod.yaml apiVersion: v1 kind: Pod metadata: name: redis spec: containers: - name: redis image: redis:8.0.2 command: - redis-server - "/redis-master/redis.conf" env: - name: MASTER value: "true" ports: - containerPort: 6379 resources: limits: cpu: "0.1" volumeMounts: - mountPath: /redis-master-data name: data - mountPath: /redis-master name: config volumes: - name: data emptyDir: {} - name: config configMap: name: example-redis-config items: - key: redis-config path: redis.conf Examine the created objects:kubectl get pod/redis configmap/example-redis-config You should see the following output:NAME READY STATUS RESTARTS AGE pod/redis 1/1 Running 0 8s NAME DATA AGE configmap/example-redis-config 1 14s Recall that we left redis-config key in the example-redis-config ConfigMap blank:kubectl describe configmap/example-redis-config You should see an empty redis-config key:Name: example-redis-config Namespace: default Labels: <