对于 `module k8s.io/kubernetes`,为什么不使用多模块 repo?

For `module k8s.io/kubernetes`, why do not use multi-module repo?

对于module go.etcd.io/etcd/v3,它采用了多模块的repo,所以如果我们只需要一些包就不需要拉取整个repo。

module k8s.io/kubernetes 是单模块而不是多模块有什么好处? 请帮我弄清楚,谢谢!

k8s.io/kubernetes 不适合用作导入库。他们使用 staging/... 来表示合适的库。

$ find . -name go.mod | grep -v vendor

./go.mod

./kube-openapi-hack/go.mod

./hack/tools/go.mod

./gengo2/go.mod

./staging/src/k8s.io/legacy-cloud-providers/go.mod

./staging/src/k8s.io/sample-cli-plugin/go.mod

./staging/src/k8s.io/kubectl/go.mod

./staging/src/k8s.io/client-go/go.mod

./staging/src/k8s.io/cri-api/go.mod

./staging/src/k8s.io/apimachinery/go.mod

./staging/src/k8s.io/cluster-bootstrap/go.mod

./staging/src/k8s.io/cloud-provider/go.mod

./staging/src/k8s.io/metrics/go.mod

./staging/src/k8s.io/cli-runtime/go.mod

./staging/src/k8s.io/controller-manager/go.mod

./staging/src/k8s.io/component-helpers/go.mod

./staging/src/k8s.io/csi-translation-lib/go.mod

./staging/src/k8s.io/component-base/go.mod

./staging/src/k8s.io/kube-scheduler/go.mod

./staging/src/k8s.io/sample-apiserver/go.mod

./staging/src/k8s.io/code-generator/examples/go.mod

./staging/src/k8s.io/code-generator/go.mod

./staging/src/k8s.io/apiextensions-apiserver/go.mod

./staging/src/k8s.io/kube-proxy/go.mod

./staging/src/k8s.io/kube-controller-manager/go.mod

./staging/src/k8s.io/pod-security-admission/go.mod

./staging/src/k8s.io/kubelet/go.mod

./staging/src/k8s.io/sample-controller/go.mod

./staging/src/k8s.io/mount-utils/go.mod

./staging/src/k8s.io/api/go.mod

./staging/src/k8s.io/kube-aggregator/go.mod

./staging/src/k8s.io/apiserver/go.mod