【问题标题】:Kubernetes: When creating a new mutating webhook, how can I apply the mutation to existing resources in the cluster?Kubernetes:在创建新的 mutating webhook 时,如何将变更应用到集群中的现有资源?
【发布时间】:2021-05-22 21:16:28
【问题描述】:

如果我有一个包含现有资源的现有集群,并且我创建了一个需要修补资源的新变异 webhook(例如,向命名空间添加标签),一旦我创建了变异 webhook,所有未来的资源都会被修改,但那些已经存在于集群中的不。将现有资源(例如 kube-system 命名空间)传递给 mutating webhook 以进行修补的最佳方式是什么?

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    据我所知,您无法将已部署的资源传递给 MutatingAdmissionWebhook

    作为您最可能不喜欢的选项,您可以使用路径 existing resources

    另外我想引用你Avoiding operating on the kube-system namespace doc,正如你提到的kube-system命名空间:

    kube-system 命名空间包含由 Kubernetes 创建的对象 系统,例如控制平面组件、pod 的服务帐户 喜欢kube-dns。意外改变或拒绝请求 kube-system 命名空间可能会导致控制平面组件停止 起作用或引入未知行为。如果您的录取网络挂钩 不打算修改 Kubernetes 控制平面的行为, 排除 kube-system 命名空间被使用 命名空间选择器。

    【讨论】:

    • 是的,我特别提到 kube-system 是因为我需要在其上包含标签(以及其他排除的命名空间),以便来自 3rd 方库的突变不会应用于该命名空间。该补丁由 webhook 应用,所以如果它已经存在,那就太迟了。我目前的结论与您的相同,我将不得不在单独的工作中列出和修补现有的命名空间。
    猜你喜欢
    • 2021-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-10
    • 2020-03-30
    • 2020-01-03
    • 2022-07-24
    • 2022-06-26
    相关资源
    最近更新 更多