首页 > 解决方案 > 使用命名空间选择器

问题描述

我有一个ValidatingAdmissionWebhooknamespaceSelectorobjectSelector除了configmap

我试图在配置映射“更新”时触发 ValidatingAdmissionWebhook。

这是一部分ValidatingAdmissionWebhook

webhooks:
- name: myWebhook      
  ***
  namespaceSelector:
    matchLabels:
      namespace-label: namespace
  objectSelector:
    matchLabels:
      object-label: object
  rules:
   - operations: ['UPDATE']
     apiGroups: ***
     apiVersion: ***
     resources: ['configmaps']

这是一部分configmap

data:
  data1: 'somedata'
metadata:
  name: myConfigmap
  namespace: test
  labels:
    object-label: object
  

当我namespaceSelector从 ValidatingAdmissionWebhook 中删除时,它会UPDATE从 configmap 中捕获,这没关系。

但我不知道如何\在哪里将 namespaceSelector 添加到 configmap 以便被捕获。

试图把它作为标签的一部分,但没有成功:

data:
  data1: 'somedata'
metadata:
  name: myConfigmap
  namespace: test
  labels:
    object-label: object
    namespace-label: namespace   <----

如果namespaceSelectorlabelSelector一种,我不知道如何使用它。

非常感谢。

标签: kubernetes

解决方案


根据 K8s文档,命名空间选择器是这样工作的:

namespaceSelector 根据命名空间的标签是否与选择器匹配,决定是否对命名空间资源(或命名空间对象)的请求运行 webhook。

为了使您的示例正常工作,请确保将您的 Config Map 所属的命名空间标记为namespace-label: namespace


推荐阅读