1. 程式人生 > >[Kubernetes] Kubernetes 原始碼編譯 RPM 安裝包

[Kubernetes] Kubernetes 原始碼編譯 RPM 安裝包

一、背景

         本文在部落格 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/ 裡