2

目前我正在使用 Kubeflow。这是一个相当大的设置,大约有 30 种不同的部署。Kubeflow 团队的默认清单是使用标准的 Kustomize 工具为不同环境(如本地、云、测试等)提供补丁。

但是,我仍然对所有这些配置感到不知所措和有限。我可以为整个项目快速导航和操作变量的唯一方法是使用 IDE 中的搜索和/或替换功能(是的,我知道 Kustomize 可以在每个环境中执行变量,但我想为所有部署执行此操作)。这很糟糕,因为一旦更换它就不可逆转。另一个问题是许多文件夹不只是命名base或反向命名的文件夹太多base,因此很难找到一些原始字段。当我只想组合不同环境的几个部分时,我也很挣扎。例如,他们为 dex auth 提供了 3 个不同的环境,1 个使用电子邮件,1 个使用 GitHub,1 个使用 Google。我希望我的设置拥有所有 3 个,但现在我无法轻松地重用这些环境中的配置。我必须创建自己的环境并挖掘每个环境,看看它们在补丁中做了哪些更改。

我从未尝试在类似的集群上设置 Jsonnet 配置(可能使用 Tanka 之类的工具)。我看到一些大公司在使用 Jsonnet。我知道的两个是 Grafana(他们甚至创建了 Tanka)和 Databricks(他们创建了自己的 Jsonnet 编译器)。与目前最流行的选择 Kustomize 相比,在 Jsonnet 中进行 k8s 配置管理的优缺点是什么?使用 Jsonnet(可能使用 Tanka)学习和管理 k8s 配置是否值得?

4

1 回答 1

0

ArgoCD 呢?

Argo CD 是一种git-opt用于管理您所描述的项目的工具。
它支持KustomizationJsonnet以及更多

它可以管理您的资源,向您展示已部署、同步的内容、编辑您的 YAML 文件等等。


在此处输入图像描述


在此处输入图像描述


在此处输入图像描述


在此处输入图像描述

于 2021-09-17T15:03:16.207 回答