我不明白这个包能做什么,官方文档什么也没显示unstructured
。包是干什么用的?它用于将 map[string]interface{} 转换为 K8S Obj 吗?
https://godoc.org/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured
我不明白这个包能做什么,官方文档什么也没显示unstructured
。包是干什么用的?它用于将 map[string]interface{} 转换为 K8S Obj 吗?
https://godoc.org/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured
它看起来像unstructured
提供了一个 kubernetes 对象的接口,当你预先不知道对象类型时,即client-go 中的动态包广泛使用它
正如@kseniia-churiumova 建议的那样,当您不知道对象类型时使用它。这是更好地理解它的用例。假设您的组织有一项政策,即所有 Kubernetes 对象必须具有注释“所有者”,其值指向个人或组的电子邮件 ID。您的任务是查找所有违反此政策的资源。
您可以拥有一个配置文件,其中包含列表GroupVersionKind
并使用非结构化来查询它们。如果新类型需要检查,您可以在不更改代码的情况下添加到配置中。
注意:这只是一个例子。在生产中,您将不得不使用像 Gatekeeper 这样实现 OPA 规范的东西来执行策略。