问题标签 [kustomize]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
839 浏览

kubernetes - 在不分叉的情况下修改 Helm Chart 依赖项的环境变量

我正在创建一个依赖于我未维护的几个 Helm 图表的 Helm 图表,我想对这些子图表进行一些配置。配置并不太复杂,我只想为每个容器添加几个环境变量。但是,env容器的字段尚未在 Helm 图表中模板化。我想避免分叉这些图表并自己维护它们,因为这是一个微不足道的变化。

有没有一种简单的方法可以通过 Helm 或其他工具灵活地为 Kubernetes 中的多个容器提供环境变量?

我目前正在研究在 Helm 填写模板后使用 Kustomize 进行最后一英里的更改,但我对设置 Kustomize 补丁程序感到困惑。在我的场景中,Helm 在 ConfigMap 中填写了环境变量。我想添加一个envFrom字段来读取 ConfigMap 并将给定的环境变量添加到容器中。我想通过 Kustomize 将 envFrom 添加到资源 YAML 文件中。我遇到的问题是 Kustomize patch.yaml 文件是资源特定的。下面分别是 mypatch.yaml和 my的示例kustomization.yaml

patch.yaml

kustomization.yaml

要执行 Kustomization,我运行:

这基本上只是填写 Helm 模板并将它们传递给 Kustomize 以完成最后一英里的补丁。

在补丁中,我必须指定容器的名称(“服务器”)才能正确注入我的 configMap。我真正想做的是能够将这些环境变量提供给给定部署中的所有容器(由 中的target约束定义kustomization.yaml),无论它们的名称如何。从我所见,我几乎必须为每个容器编写一个单独的补丁,这是次优的。我刚开始使用 Kubernetes,所以我可能遗漏了一些可以轻松解决这个问题的东西。

0 投票
1 回答
27 浏览

kubernetes - Koustomize.yaml 有什么用?

它是否与 Python 中的 requirements.txt 或 Node.js 世界中的 package.json 相同/相似?

只是想画一个平行线。

(感谢早期帮助 - 准备面试)

0 投票
1 回答
116 浏览

kubernetes - 如何使用 Kubernetes Kustomize 紧凑地存储共享配置?

首先,我不确定这个问题对于 Stack Overflow 来说是否足够具体。如果有人有任何建议,很高兴删除或修改。

我们使用 Kubernetes 来编排我们的服务器端代码,并且最近开始使用 Kustomize 来模块化代码。

我们的大多数后端服务都非常适合该数据模型。对于我们的主要事务系统,我们有一个基本配置,我们覆盖了我们的开发、登台和不同生产风格的调整。这非常有效,帮助我们清理了很多东西。

我们还使用 TensorFlow Serving 来部署机器学习模型,每个模型都经过训练,并在此时为我们的众多客户中的每一个部署。这些配置不同的唯一方式是名称和元数据注释(例如,我们可能有一个称为,另一个classifier-acme称为从)拉。我们还分配了不同的命名空间来隔离开发、生产等。classifier-bigcorpstorage://models/acme/classifierstorage://models/bigcorp/classifier

根据我对 Kustomize 系统的了解,如果我们想在 Kustomize 文件中编码当前集群的整个状态,我们需要为每个客户提供不同的基础和一组覆盖。由于我们有很多客户,这似乎是一个巨大的目录数量。如果我们有 100 个客户和五个不同的私奔环境,那就是 500 个目录和一个kustomize.yml文件。

是否有工具或技术可以使用 Kustomize 对这种重复进行编码?或者是否有其他工具可以帮助我们以更系统和更紧凑的方式生成 Kubernetes 配置?

0 投票
1 回答
2057 浏览

kubernetes - nats流集群如何连接

我是 kubernetes 的新手,正在尝试设置 nats 流集群。我正在使用以下清单文件。但是我对如何在我的应用程序中访问 nats 流服务器感到困惑。我正在使用 azure kubernetes 服务。

我尝试使用nats://nats-streaming:4222,但它给出了以下错误。

stan: connect request timeout (possibly wrong cluster ID?)

我指的是https://docs.nats.io/nats-on-kubernetes/minimal-setup

0 投票
1 回答
523 浏览

kustomize - kustomize:使用 Argo Rollout CRD 进行战略合并

我正在将我的一些 kustomize 代码转换为使用 Argo CRDRollout种类(https://argoproj.github.io/argo-rollouts/Deployment。最大的原因是能够轻松进行蓝/绿和金丝雀部署。但是我的问题是 kustomize 不知道 ArgoRollout种类。所以任何类型的战略合并都失败了,我经常使用战略合并。根据我的研究,我认为我需要注册一个自定义变压器,但我不确定它是如何组合在一起的。到目前为止,我遇到了这个:https ://github.com/keleustes/kustomize/blob/airshipctl/kustomize/register/RolloutCRDRegister.go 但我不清楚如何进行。我确实遇到了另一个似乎在做类似事情的项目。看:https://github.com/viaduct-ai/kustomize-sops#argo-cd-integration-

有没有人使用 kustomize 与 CRD 合作过并且可以提供一点帮助?

任何帮助将不胜感激。

0 投票
1 回答
599 浏览

go - 构建自定义 Go 插件

我正在为 kustomize 创建自定义转换器。但是,我在创建最基本的 Go 插件时遇到了问题。我正在尝试在此处执行这些步骤https://github.com/kubernetes-sigs/kustomize/blob/master/docs/plugins/goPluginGuidedExample.md

我正在使用主线 kustomize 中的插件之一,即。secretsfromdatabase[1]

根据文档,我遵循的说明是:

现在,当我运行 kustomize 时,出现以下错误:

奇怪的是我在 git 中使用了与我系统上安装的版本相同的标签。

[1] https://github.com/kubernetes-sigs/kustomize/tree/master/plugin/someteam.example.com/v1/secretsfromdatabase

0 投票
1 回答
791 浏览

kubernetes - 如何使用 kubectl 补丁将 Serviceaccout 添加到现有的 Clusterrolebinding

这是我现有的集群角色绑定

我计划在另一个命名空间(例如:ns2)中添加相同的 ServiceAccount (test-sa) 并将其与我的 ClusterRole "test-role" 绑定。

我试过的

我尝试应用上面的 yaml 文件,例如

结果

它正在新命名空间中添加带有 sa 的 ClusterRoleBinding 但我在命名空间 ns1 中的现有绑定被删除了..有没有办法合并新的更改而不是替换 ..iam 尝试以自动化的方式进行..就像一个 bash 脚本编辑这个 cluserrolebinding,这就是我选择 kubectl 补丁的原因

0 投票
1 回答
951 浏览

kubernetes - 我有 2 个调用相同配置的自定义覆盖。我需要在同一个文件夹中有两个 kustomization.yaml 文件

最终目标

我有一个包含两个文件夹的叠加文件夹。配置1和配置2。在这些文件夹中,我有一个 kustomization.yaml 文件。这两个自定义文件调用同一个资源文件夹。configuration1 和 configuration2 需要指定不同的资源列表。我可以在资源文件夹中创建两个不同的 kustomize.yaml 文件,还是在同一个 kustomization.yaml 中指定两个不同的资源列表?

0 投票
2 回答
616 浏览

kubernetes - argocd-secret 的值进一步编码为 base64

在 argocd 中管理机密时,我使用 base64 对 argocd-secret 中的值进行编码并将其设置为 manifest。

在这种情况下,虽然我使用了 kusotomize、构建和应用它,但由 base64 编码的秘密将进一步编码为 base64。

如果你使用 kustomize build 构建并检查差异,它看起来像这样

我不明白为什么用 base64 编码的东西会被进一步编码。我要去寻求某人的帮助。

谢谢。

0 投票
1 回答
884 浏览

kubernetes - Kustomize 无法处理 secretGenerator,但使用 kubectl 它可以工作

我有一个覆盖kustomization.yaml如下:

当使用嵌入kustomize的方式kubectl应用它时,kubectl -k它可以正常工作,但现在我需要在应用它之前生成最终的 yaml,所以当我尝试通过它自己使用时,kustomize build devops/kustomize/my-cluster/overlay/local > local.yaml我得到了这个错误:

secretGenerator规格有env参数,所以我不确定我做错了什么。