Unstructued means it doesn’t have a sql schema. For example,

obj := map[string]interface{}{
    "name": "John",
    "age": 30,
    "address": map[string]interface{}{
    },
}

In k8s, CRDs are unknown types. And it uses dynamic client to interact with k8s.

# client is dynamic client
client.Resource(schema.GroupVersionResource{
	Group:    "example.com",
	Version:  "v1",
	Resource: "myresources",
}).Create(myResource, metav1.CreateOptions{})