我正在尝试编写一个 k8s 控制器,在控制器中我想将 YAML 文件从 Github 解析为unstructured. Unstructured. 解析后,我想跟踪应用实例的状态unstructured. Unstructured。如果存在特定的键值,跟踪将尝试捕获。
我没有这样做,因为unstructured. Unstructured没有获取状态的方法。然后我试图将它编组为 JSON 并找到状态,也失败了......
如果您知道实现这些目标的方法,那就太好了。
我正在尝试编写一个 k8s 控制器,在控制器中我想将 YAML 文件从 Github 解析为unstructured. Unstructured. 解析后,我想跟踪应用实例的状态unstructured. Unstructured。如果存在特定的键值,跟踪将尝试捕获。
我没有这样做,因为unstructured. Unstructured没有获取状态的方法。然后我试图将它编组为 JSON 并找到状态,也失败了......
如果您知道实现这些目标的方法,那就太好了。
非结构化包提供“嵌套”功能。 https://godoc.org/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured
对于状态,您将使用:
unstructured.NestedStringMap(myunstruct.Object, "status")
对于状态消息:
unstructured.NestedString(myunstruct.Object, "status", "message")
有关动态客户端的更多讨论,请参阅 Stefan Schimanski 和 Michael Hausenblas编写的Programming Kubernetes第 4 章。