无法安装命名空间Helm图表

问题描述 投票:0回答:1

我正在尝试整理一个 Helm 图表,用于在 OpenShift 中配置命名空间/项目。

Helm 版本为 3.9.3

templates 文件夹包含用于命名空间、计算配额、docker pull 密钥和服务帐户的角色绑定的 YAML 文件。

testvalues.yaml 文件非常简单:


namespace:
  name: "mytest"
  team: "DevOps"
  description: "Test Namespace Created with Helm"

当我尝试运行

helm upgrade --install testnamespace ./namespaceChart --values testvalues.yaml
时,我收到错误“未找到命名空间 'mytest'”。

但是,如果我从模板目录中删除配额、秘密和角色绑定文件(仅留下命名空间.yaml)并运行相同的命令,则它可以正常工作,创建空命名空间。然后,我重新添加其他资源 yaml 文件,第三次运行相同的命令,它可以工作并相应地添加缺少的资源。

顺序应该是先创建命名空间,对吗?看起来它没有正确创建命名空间,或者没有等到完成后再尝试其他资源。

我尝试在命令中添加

--create-namespace
选项,但这也不起作用。

我有什么遗漏的吗?我可以在第一轮中仅定位 namespace.yaml 文件,然后再次运行该命令来完成其余部分吗?

openshift kubernetes-helm
1个回答
0
投票

在输入此问题时意识到我的问题。

我的命名空间 yaml 正在使用:

kind: Project
apiVersion: project.openshift.io/v1

因为这就是我在控制台 UI 中检查其 YAML 时我们当前的项目空间所显示的内容。

一旦我切换到:

kind: Namespace
apiVersion: v1

一切都一键完成。我猜测这是因为 Helm 无法将“项目”类型识别为与名称空间相同的类型,并且不会将其放置在创建顺序的顶部,因此会出现“未找到”错误,因为它实际上看到的是配额作为构建的第一个资源。

© www.soinside.com 2019 - 2024. All rights reserved.