1

我不明白这个包能做什么,官方文档什么也没显示unstructured。包是干什么用的?它用于将 map[string]interface{} 转换为 K8S Obj 吗?

https://godoc.org/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured

4

2 回答 2

1

它看起来像unstructured提供了一个 kubernetes 对象的接口,当你预先不知道对象类型时,即client-go 中的动态包广泛使用它

于 2019-02-17T20:48:06.520 回答
0

正如@kseniia-churiumova 建议的那样,当您不知道对象类型时使用它。这是更好地理解它的用例。假设您的组织有一项政策,即所有 Kubernetes 对象必须具有注释“所有者”,其值指向个人或组的电子邮件 ID。您的任务是查找所有违反此政策的资源。

您可以拥有一个配置文件,其中包含列表GroupVersionKind并使用非结构化来查询它们。如果新类型需要检查,您可以在不更改代码的情况下添加到配置中。

注意:这只是一个例子。在生产中,您将不得不使用像 Gatekeeper 这样实现 OPA 规范的东西来执行策略。

于 2021-09-04T05:30:25.580 回答