1. 问题
go: downloading github.com/josharian/intern v1.0.0
go: finding module for package k8s.io/api/flowcontrol/v1alpha1
go: simple-webhook/types importsk8s.io/client-go/rest tested byk8s.io/client-go/rest.test importsk8s.io/client-go/kubernetes/scheme importsk8s.io/api/flowcontrol/v1alpha1: module k8s.io/api@latest found (v0.30.2), but does not contain package k8s.io/api/flowcontrol/v1alpha1
- 但是我的代码中并没有导入
k8s.io/api/flowcontrol/v1alpha1
,这个可能存在某个中的依赖项
package typesimport ("context""github.com/golang/glog""k8s.io/apimachinery/pkg/api/errors"metav1 "k8s.io/apimachinery/pkg/apis/meta/v1""k8s.io/apimachinery/pkg/runtime/schema""k8s.io/client-go/dynamic""k8s.io/client-go/rest"
)
2. 原因
- 检查go.mod文件发现,k8s的api版本和apimachinery同client-go的版本不一致,高于后者
module simple-webhookgo 1.22.3require (
github.com/golang/glog v1.2.1
k8s.io/api v0.30.2
k8s.io/apimachinery v0.30.2
k8s.io/client-go v0.23.17
)
- 推测api的高版本中已经移除了flowcontrol的v1alpha1版本支持
- v1alpha1 版本的 API 是用于实验和早期访问的,它们可能会在后续的 Kubernetes 版本中被移除或替换为更稳定的版本(如 v1)
修改后重新执行go mod tidy