【问题标题】:kustomize configmap command: what does it do?kustomize configmap 命令:它有什么作用?
【发布时间】:2019-07-05 18:22:35
【问题描述】:

我是 kubernetes 的新手,我正在到处学习一些教程。我正在努力理解不同的组件和工具,其中之一就是 kustomize。我看到了不同的 kustomize 用法示例,但我不理解其中的一个(即使在网上搜索后也是如此)。那你能给我解释一下下面kustomize命令的作用吗:

kustomize edit add configmap mnist-map-training --from-literal=trainSteps=200

【问题讨论】:

    标签: kubernetes kustomize


    【解决方案1】:

    Kubernetes 基本上是一种用于编排 docker 容器的工具。我们使用 yaml 创建部署、服务、入口,这些构成集群的组件。但是,假设一个团队已经为开发环境提供了 kubernetes 集群配置 yaml 文件。例如,集成环境,yaml 文件略有不同。它有所不同,对于生产环境来说更是如此。因此,显而易见且简单的解决方案是维护 yaml 文件的三个副本。但从长远来看,它可能不会奏效。应用于一个环境的更改可能需要应用于其他环境。缺少更改可能会导致问题。

    Kustomize 是解决此问题的工具。您创建一个 base 副本(根据我们的示例,假设它的开发环境)kubernetes yaml 配置文件以及 kustomization 文件。一般来说,kustomization 文件描述了要创建的资源(yaml 文件)、configmaps、secrets。然后在集成和生产环境中创建 kubernetes 集群配置的差异被创建为 overlays。您可以使用此link 作为完整参考,虽然它不是最新的,但它可能会有所帮助。此外,github 中也有文档。

    现在关于这个命令,

    kustomize edit add configmap mnist-map-training --from-literal=trainSteps=200
    

    此命令编辑当前目录中的 kustomize 文件,创建一个如下所示的 sn-p:

    configMapGenerator:
    - name: mnist-map-training
      literals:
      - trainSteps=200
    

    kustomize build 命令运行时,它会创建一个如下所示的 configmap yaml:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: mnist-map-training
    data:
      trainSteps: "200"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多