CLI开发工具云原生【免费下载链接】kustomizeCustomization of kubernetes YAML configurations项目地址https://gitcode.com/gh_mirrors/ku/kustomize点击查看免费下载config.kubernetes.io/local-config是 Kustomize 及整个 KRMKubernetes Resource Model工具生态共享的 well-known 注解之一。它为 Kustomize 构建过程提供了一种只参与构建、不进入集群的资源机制被标记的资源会被 kustomize 正常读取、参与名称引用name reference与各类转换但在最终渲染输出中被丢弃。读完本文你将掌握该注解的精确语义、底层丢弃时机在转换完成之后并能熟练使用它作为 Replacement 数据源、跨对象名称引用锚点以及 KRM Function 的共享配置载体。什么是 local-config注解语义与判定规则在 Kustomize 中一个资源只要携带值为true的config.kubernetes.io/local-config注解就被判定为 local-config 资源apiVersion: v1 kind: ConfigMap metadata: name: settings annotations: config.kubernetes.io/local-config: true data: region: us-east-1判定规则非常明确注解值为true→ 资源为 local-config参与构建但在输出中被省略注解值为false或完全省略该注解 → 资源正常保留在输出中。源码级判定依据从源码结构看判定逻辑集中在 api/resource/factory.go 的DropLocalNodes方法中。该方法遍历每个节点的 metadata 注解只有当注解存在且值不等于false时才丢弃节点localConfig, exist : md.ObjectMeta.Annotations[konfig.IgnoredByKustomizeAnnotation] if !exist || localConfig false { result append(result, node) }注解常量定义在 api/konfig/general.goIgnoredByKustomizeAnnotation config.kubernetes.io/local-config此外Factory结构体提供IncludeLocalConfigs开关见 api/resource/factory.go当该开关为true时local-config 资源也会被保留——这为工具链上层按需包含本地配置提供了扩展点。对应测试覆盖了注解值为空、true、false等不同情形的行为见 api/resource/factory_test.go。为什么有用构建期配置与运行时资源同库管理Local-config 资源的价值在于你可以在同一份资源清单中把构建期配置和打算 apply 到集群的资源放在一起管理而无需把它们拆到独立的文件树中。它们具备以下特性参与名称引用name references可以被namePrefix/nameSuffix等转换机制传播可以被 transformers、generators、KRM functions 消费永远不会出现在最终输出中不会到达集群。关键实现细节转换完成之后才丢弃Local-config 资源并不会在读取阶段被立即删除而是先完整参与整个转换流水线在所有转换transformers完成后才被丢弃。这一行为由 api/internal/target/kusttarget.go 的IgnoreLocal方法实现——它调用DropLocalNodes并对累加器求交集从而把本地资源从最终结果中移除。对应的端到端测试 api/krusty/localconfig_test.goTestSKipLocalConfigAfterTransform明确验证了这一设计一个标记为 local-config 的Pod先作为 ReplacementTransformer 的 source 参与转换把spec复制到目标Deployment中然后自身从输出中消失最终渲染结果只包含补丁后的Deployment。这正是本地资源可以作为转换输入的权威证据。实战场景一作为 Replacement 的数据源最常见的用法是把 local-config 资源当作Replacement的纯数据载体source 对象只负责携带值通过replacements把字段复制进一个或多个目标资源后即被丢弃绝不进入集群。apiVersion: v1 kind: ConfigMap metadata: name: image-source annotations: config.kubernetes.io/local-config: true data: image: registry.example.com/app:v1.2.3 --- apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - deployment.yaml replacements: - source: kind: ConfigMap name: image-source fieldPath: data.image targets: - select: kind: Deployment name: app fieldPaths: - spec.template.spec.containers.0.image渲染输出中只包含被打补丁的DeploymentConfigMap被丢弃。Replacement 的完整字段语义source、targets、fieldPaths、options等可参考 site/content/en/docs/Reference/API/Kustomization File/replacements.md。实战场景二作为跨对象的名称引用锚点当多个资源共享同一个名称片段时例如一个主机名同时出现在Ingress、Secret以及Deployment的环境变量中可以用一个 local-config 资源作为规范名称锚点。构建时对整体施加的namePrefix会通过 kustomize 的名称引用机制传播到每一处引用而锚点本身在输出中被移除。完整的端到端验证示例仓库中的 api/krusty/namereference_test.goTestIssue4884_UseLocalConfigAsNameRefSource给出了完整可运行的示例定义两个自定义类型IngressHost与IngressSecret并声明它们的名称引用关系通过configurations指向自定义的 nameref 配置见测试中的kustomize-nameref.yamlIngress的spec/rules/host、spec/tls/hosts、Deployment的 env 值、spec/tls/secretName等都引用这两个类型两个锚点资源都携带config.kubernetes.io/local-config: true注解施加namePrefix: prefix-后期望输出中Ingress的 host 变为prefix-test.fakedomain.comDeployment环境变量值变为prefix-test.fakedomain.comsecretName变为prefix-test-secret两个 local-config 锚点资源不出现在输出中。这证明 local-config 资源完整参与了名称引用解析——前缀在锚点上生效并通过引用机制传播到所有引用方同时锚点自身被剔除。实战场景三作为 KRM Functions 的共享配置在transformers:或generators:中声明的 KRM function其本身也是一个 KRM 资源。把它标记为 local-config可以让函数定义保留在 kustomization 中、可被 overlay 打补丁同时不会把函数 spec 输出到集群apiVersion: example.com/v1 kind: ValidatingTransformer metadata: name: enforce-labels annotations: config.kubernetes.io/local-config: true config.kubernetes.io/function: | container: image: registry.example.com/fn-enforce-labels:v1 spec: required: - app.kubernetes.io/name源码佐证函数的自动本地化从源码结构看api/internal/plugins/fnplugin/fnplugin.go 在处理 KRM function 时会主动注入config.kubernetes.io/local-config注解为trueerr injectAnnotation(functionConfig, config.kubernetes.io/local-config, true)也就是说KRM function 的配置在底层默认就被视为 local-config 处理这与文档描述一致函数定义参与构建、不进入输出。与 KRM 生态的一致性config.kubernetes.io/local-config是 KRM 工具生态共享的 well-known 注解。在 kyaml 层kyaml/kio/filters/local.go 提供了通用的IsLocalConfig过滤器支持includeLocalConfig与excludeNonLocalConfig两个开关用于在更底层的 I/O 流水线中按该注解筛选资源——例如在kustomize build之外的其他 KRM 工具中复用同一套语义。小结注解值行为config.kubernetes.io/local-config: true参与构建与转换从最终输出中省略config.kubernetes.io/local-config: false正常保留在输出中省略注解正常保留在输出中Local-config 机制的核心设计是**先全程参与后统一剔除**本地资源在名称引用、Replacement、函数等环节均与普通资源同等参与只在全部转换完成后由IgnoreLocal一次性丢弃。这使得构建期配置可以与运行时资源同库维护同时保证集群中永远看不到这些中间载体。官方对 well-known 注解的权威定义与 Manifest 注解的完整参考可进一步查阅仓库文档中对应的 Concepts 目录与cmd/config/docs/api-conventions/下的相关说明。赞分享CLI开发工具云原生【免费下载链接】kustomizeCustomization of kubernetes YAML configurations项目地址https://gitcode.com/gh_mirrors/ku/kustomize点击查看免费下载相关推荐XSStrike终极指南10个关键技巧防御XSS攻击XSStrike终极指南10个关键技巧防御XSS攻击 XSStrike是一款功能强大的跨站脚本XSS检测套件集成了四个手写解析器、智能 payloadCLI开发工具云原生7种JavaScript SDK网络请求方案对比Image Beacon vs JSONP vs sendBeacon7种JavaScript SDK网络请求方案对比Image Beacon vs JSONP vs sendBeacon 在现代Web开发中JavaScripDIY-Multiprotocol-TX-Module硬件故障诊断与维修终极指南DIY Multiprotocol TX Module硬件故障诊断与维修终极指南 DIY Multiprotocol TX Module是一款功能强大的2.4G嵌入式物联网上一篇构建智能法律助手Hermes Agent法律文档分析与建议下一篇开源项目PyWB入门指南及常见问题解决方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
3D-BAT:基于WebGL的多帧点云标注工具 简介:这是一套基于JavaScript开发的3D边界框标注工具(3D-BAT),面向自动驾驶、计算机视觉及点云处理领域的开发者与研究人员,用于高效完成点云与图像融合场景下的3D目标标注任务。资源包共269个文件,涵盖48个… · 2026/9/23 14:12:24
PHP-CS-Fixer `phpdoc_types` 规则完全指南:统一 PHPDoc 标准类型的大小写 PHP-CS-Fixer phpdoc_types 规则完全指南:统一 PHPDoc 标准类型的大小写 【免费下载链接】PHP-CS-Fixer A tool to automatically fix PHP Coding Standards issues 项目地址: https://gitcode.com/gh_mirrors/ph/PHP-CS-Fixer
导读
本文围绕 PHP-CS-Fixer … · 2026/9/23 14:12:24
戴卫国手写实现图解:3分钟搞定环境配置,底层原理全揭秘 戴卫国手写实现图解:3分钟搞定环境配置,底层原理全揭秘 配置环境就卡半天?是不是每次新建项目都要在终端里敲半天命令,依赖版本冲突报错红一片,最后只能重装系统?别急,今天咱们不聊虚的,直接上硬核干货。… · 2026/9/23 14:12:24
纯NumPy手写数字识别:从零实现前馈神经网络与反向传播 简介:本资源是一份面向Python初学者与机器学习入门者的手写数字识别实践项目,聚焦神经网络算法原理与代码实现,适用于课程设计、课设实训及AI基础项目练手。压缩包共7个文件,包含5张手写数字示例图像(PNG格式ÿ… · 2026/9/23 17:50:26
垂钓行为检测实战:YOLO小众场景调优指南 简介:本资源是面向计算机视觉初学者与算法工程师的垂钓行为检测专用YOLO系列目标检测数据集,聚焦钓鱼场景中人物姿态、钓具及动作识别等实际应用需求,可直接用于YOLOv5/v7/v8/v9/v10/v11等主流版本的模型训练、验证与测试。压缩包共2000个文件… · 2026/9/23 17:50:26
YOLO11夜间行人检测:5000张数据集与三平台训练全攻略 简介:面向目标检测与夜间行人检测任务,这份资料提供了一套包含5000张夜间低光真实场景图像的完整数据集方案,覆盖夜间街景、道路行人以及不同程度遮挡、严重遮挡等常见监控场景,并配齐VOC、COCO、YOLO三种主流标注格式,… · 2026/9/23 17:50:19
火车轨道检测数据集实战:3900张COCO标注与93.7%准确率验证 简介:这份火车轨道检测数据集面向计算机视觉开发者、轨道交通智能化研究者及深度学习实践者,用于训练和验证轨道区域与障碍物识别模型,可支撑列车前方障碍预警、轨道巡检自动化等场景。资源以COCO标注格式组织,包含3900张原始图片… · 2026/9/23 17:50:19
Ekko Agent 1Password CLI 技能实战:`op` 秘密引用、命令注入与安全配置模板化 AI 应用人工智能AI Agent本地部署前端后端工作流自动化 【免费下载链接】ekko-studio Ekko Studio is a local-first AI workspace for multi-agent chat, coding, and visual workflows, available on desktop and the web. 项目地址: https://gitcode.com/gh_mirr… · 2026/9/23 17:50:18
西安GEO优化怎么做:智引未来拆解品牌被AI推荐的完整打法 用户在AI助手里问"这个品类哪个牌子好",AI给出的那一段回答里有没有你、怎么评价你,正在决定品牌在新入口里的话语权。搜索的动作没变,拿到的东西变了:过去是一串链接,现在是一段整理好的结论,结… · 2026/9/23 17:50:18
3招搞定手机怎么下载微信面试难题实战项目解析 3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29