kubernetes 代码编译包 undefined: "k8s.io/kubernetes/pkg/generated/openapi".GetOpenAPIDefinitions 的解决办法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21816375/article/details/84929541

今天编译kubernetes某个具体的组建的时候 包了这个错,报错详情如下

➜  kube-apiserver git:(v1.11.2-custom) ✗ go run apiserver.go 
# k8s.io/kubernetes/cmd/kube-apiserver/app
app/server.go:436:70: undefined: "k8s.io/kubernetes/pkg/generated/openapi".GetOpenAPIDefinitions

查看这个目录存在的

➜  kubernetes git:(v1.11.2-custom) ✗ ls -l pkg/generated/openapi         
total 24
-rw-r--r--  1 xinzhiyun  staff  3309  8 13 18:23 BUILD
-rw-r--r--  1 xinzhiyun  staff  2128  8 13 18:23 def.bzl
-rw-r--r--  1 xinzhiyun  staff   621  8 13 17:35 doc.go

确实没有相关的函数GetOpenAPIDefinitions

查看Makefile的内容

➜  kubernetes git:(v1.11.2-custom) ✗ cat Makefile | grep generated_files
all: generated_files
verify: verify_generated_files
quick-verify: verify_generated_files
update: generated_files
check test: generated_files
test-integration: generated_files
test-e2e: ginkgo generated_files
test-e2e-node: ginkgo generated_files
test-cmd: generated_files
# generated using generated_files.
vet: generated_files
$(filter-out %$(EXCLUDE_TARGET),$(notdir $(abspath $(wildcard cmd/*/)))): generated_files
#   make generated_files
.PHONY: generated_files
generated_files:
generated_files:
	$(MAKE) -f Makefile.generated_files $@ CALLED_FROM_MAIN_MAKEFILE=1
#   make verify_generated_files
.PHONY: verify_generated_files
verify_generated_files:
verify_generated_files:
	$(MAKE) -f Makefile.generated_files $@ CALLED_FROM_MAIN_MAKEFILE=1

发现需要执行该命令make generated_files

➜  kubernetes git:(v1.11.2-custom) ✗ make generated_files
+++ [1209 17:07:02] Building go targets for darwin/amd64:
    ./vendor/k8s.io/code-generator/cmd/deepcopy-gen
+++ [1209 17:07:12] Building go targets for darwin/amd64:
    ./vendor/k8s.io/code-generator/cmd/defaulter-gen
+++ [1209 17:07:18] Building go targets for darwin/amd64:
    ./vendor/k8s.io/code-generator/cmd/conversion-gen
+++ [1209 17:07:25] Building go targets for darwin/amd64:
    ./vendor/k8s.io/code-generator/cmd/openapi-gen
+++ [1209 17:07:32] Building go targets for darwin/amd64:
    ./vendor/github.com/jteeuwen/go-bindata/go-bindata

执行之后
查看是否生成新文件

➜  kubernetes git:(v1.11.2-custom) ✗ ls -l pkg/generated/openapi
total 24
-rw-r--r--  1 xinzhiyun  staff  3309  8 13 18:23 BUILD
-rw-r--r--  1 xinzhiyun  staff  2128  8 13 18:23 def.bzl
-rw-r--r--  1 xinzhiyun  staff   621  8 13 17:35 doc.go
-rw-r--r--  1 xinzhiyun  staff     0 12  9 17:07 zz_generated.openapi.go

果然有新文件生成zz_generated.openapi.go

然后重新编译就可以了

猜你喜欢

转载自blog.csdn.net/qq_21816375/article/details/84929541