默認方式
安裝k8s.io/code-generator$
go get -u k8s.io/code-generator/ ...
但是由於網絡原因 這種情況一般實現不了
github方式安裝
mkdir -p /home/gocode/src/k8s.io
git clone https://github.com/kubernetes/code-generator
這種方式只安裝了code-generator的go模塊 code-generator依賴的go模塊沒有被安裝
執行生成代碼的時候提示依賴包找不到

需要手動從github上搜索包並下載到指定目錄
示例安裝缺少gengo

安裝步驟



如果git clone下載不了 也可以通過本地下載倉庫 然后上傳到指定目錄
實際成功案例
1.首先要安裝Go環境 https://www.cnblogs.com/yxh168/p/8954132.html
2.配置linux訪問網絡
[root@node2 src]# export http_proxy=http://100.200.8.1:1080/
[root@node2 src]# export https_proxy=http://100.200.8.1:1080/
[root@node2 src]# export ftp_proxy=http://100.200.8.1:1080/
3.cd $GOPATH/src




所有步驟操作結束
代碼兼容性問題解決方案
code-generator 生成的代碼會由於版本問題 在執行go build 的時候會體現出來 如下圖

這是因為安裝code-generator的時候默認安裝的是最新版本的 它生成的代碼可能和當前go模塊不兼容 這個時候只能手動去下載一個低版本的code-generator
下載地址:https://github.com/kubernetes/code-generator/releases?after=kubernetes-1.16.3-beta.0 選一個之前的release 下載
然后上傳到/root/gopath/src/k8s.io目錄下 給執行腳本添加執行權限
[root@k8s-master k8s.io]# mv code-generator-kubernetes-1.13.12/ code-generator
[root@k8s-master k8s.io]# cd code-generator/
[root@k8s-master code-generator]# ./generate-groups.sh all "$ROOT_PACKAGE/pkg/client" "$ROOT_PACKAGE/pkg/apis" "$CUSTOM_RESOURCE_NAME:$CUSTOM_RESOURCE_VERSION"
用這個版本的code-generator生成的clientset再去build即可成功

