今天编译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
然后重新编译就可以了