安裝k8s的自動代碼生成器


默認方式

   安裝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即可成功

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM