我正在尝试使用 client-go 删除 k8s 集群中特定类型的资源。
我正在使用此代码,但它需要声明特定的命名空间,但我想删除所有命名空间中的此资源。
u.SetName("test")
u.SetNamespace(v1.NamespaceAll)
u.SetGroupVersionKind(schema.GroupVersionKind{
Group: "group",
Kind: "kind",
Version: "v1",
})
err := k8sClient.Delete(context.TODO(), u)
if err != nil {
fmt.Println(err.Error())
return err
}
Run Code Online (Sandbox Code Playgroud)
在这里找到了示例 - https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/client 但它没有提及有关所有命名空间的任何内容。有人可以提供一种方法来解决这个问题吗?
注意:这是自定义资源。不是默认类型,例如 pod 或部署等