[Kubernetes] Kubernetes 原始碼編譯 RPM 安裝包
阿新 • • 發佈:2019-02-10
一、背景
本文在部落格 http://blog.csdn.net/shida_csdn/article/details/78415946 實現 Kubernetes 原始碼編譯基礎上,
進一步實現將可執行程式編譯生成 RPM 安裝程式。
二、實現步驟
2.1 下載打包程式原始碼
# git clone https://github.com/kubernetes/release.git
2.2 替換檔案
將上篇部落格中 Kubernetes 原始碼編譯生成的檔案 _output/kubernetes-server-linux-amd64.tar.gz 解壓,提取 server/bin/ 資料夾下的kubeadm、kubectl、kubelet 檔案,替換打包程式 release/rpm/ 下的對應檔案。
2.3 修改原始碼
編輯 release/rpm/kubelet.spec 檔案
將檔案頭版本號設定為正確版本號,例如我編譯的是 1.7.9 版本,修改為:
%global KUBE_MAJOR 1
%global KUBE_MINOR 7
%global KUBE_PATCH 9
%global KUBE_VERSION %{KUBE_MAJOR}.%{KUBE_MINOR}.%{KUBE_PATCH}
修改Source資源配置為使用本地檔案,不從網路下載
Source0: kubelet Source2: kubectl Source3: kubeadm Source5: cni-amd64-0799f5732f2a11b329d9e3d51b9c8f2e3759f2ff.tar.gz
2.4 匯入映象
# docker pull golang:1.7
# docker pull fedora:24
2.5 編譯 RPM進入 release/rpm 目錄,執行編譯命令
# ./docker-build.sh
2.6 編譯好的 RPM 軟體包位於 release/rpm/output/ 裡