0

如何找到 Kubernetes Go 客户端的任何子包的确切路径是什么?

我对整个 Go 依赖项 ( go get k8s.io/client-go@latest) 感到困惑,因为我看到很多等价/相似V1或类似的V1beta1前缀XXX有时会在其他时候以我认为任意的方式出现恐慌。

但是,当我检查文档时,很难找到有关接口、结构定义和包名称的信息(我目前被阻止的东西)。

当我在多次点击后转到这里时:https ://pkg.go.dev/k8s.io/api@v0.23.1/core/v1#Container 那么我如何将此 URL 转换为 Go 包?它可能是Container结构的包,但对于任何其他“Kubernetes 事物”都是一样的。

查看https://github.com/kubernetes/client-go/blob/master/examples/out-of-cluster-client-configuration/main.go上的示例,我发现它们正在导入metav1 "k8s.io/apimachinery/pkg/apis/meta/v1",所以我尝试corev1 "k8s.io/apimachinery/pkg/apis/core/v1"了,但是编译器恐慌

no required module provides package k8s.io/apimachinery/pkg/apis/core/v1; to add it:
        go get k8s.io/apimachinery/pkg/apis/core/v1

所以我尝试go mod tidy了,但我得到了同样的错误。

我也试过"k8s.io/client-go/util/core"or "k8s.io/client-go/core"- 它不起作用,但必须有一个一致的规则来找出这些包名称。

我习惯于从 GitHub 存储库 URL 推断包名称,例如 importinggithub.com/kubernetes/client-go或类似的,但由于某种原因,在 Kubernetes 中,它们似乎没有以这种方式使用。

如何在https://pkg.go.dev的那些 URL 上找到从这些文档推断包导入的规则?

4

0 回答 0