gpt4 book ai didi

kubernetes - 使用不同名称的 kustomization.yaml

转载 作者:行者123 更新时间:2023-12-04 11:30:20 26 4
gpt4 key购买 nike

出于 CI/CD 的目的,该项目正在维护 2 个 kustomization.yaml 文件

  • 常规部署 - kustomization_deploy.yaml
  • 回滚部署 - kustomization_rollback.yaml

  • 要运行 kustomize build,当前目录中需要一个名为“kustomization.yaml”的文件。
    如果项目想要使用 kustomization_rollback.yaml 而不是 kustomization.yaml,这怎么可能? kustomize 是否接受文件名作为参数?文档对此没有指定任何内容。

    最佳答案

    目前无法改变 kustomize 的行为支持其他文件名(通过使用预编译的二进制文件),而不是:

  • kustomization.yaml
  • kustomization.yml
  • Kustomization

  • 以下所有情况都会产生相同的错误输出:
  • kubectl kustomize dir/
  • kubectl apply -k dir/
  • kustomize build dir/

  • Error: unable to find one of 'kustomization.yaml', 'kustomization.yml' or 'Kustomization' in directory 'FULL_PATH/dir'
    根据 CI/CD 平台/解决方案/工具,您应该尝试其他方式,例如:
  • 拆分Deployment进入 2 个目录 kustomization_deploy/kustomization_rollbackkustomization.yaml

  • As a side note!

    File names that kustomize uses are placed in the:

    • /kubernetes/vendor/sigs.k8s.io/kustomize/pkg/constants/constants.go
    // Package constants holds global constants for the kustomize tool.
    package constants

    // KustomizationFileNames is a list of filenames that can be recognized and consumbed
    // by Kustomize.
    // In each directory, Kustomize searches for file with the name in this list.
    // Only one match is allowed.
    var KustomizationFileNames = []string{
    "kustomization.yaml",
    "kustomization.yml",
    "Kustomization",
    }

    The logic behind choosing the Kustomization file is placed in:

    • /kubernetes/vendor/sigs.k8s.io/kustomize/pkg/target/kusttarget.go


    补充引用:
  • Github.com: Kubernetes-sigs: Kustomize
  • Kubernetes.io: Docs: Tasks: Manage kubernetes objects: Kustomization
  • 关于kubernetes - 使用不同名称的 kustomization.yaml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64681881/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com