Kubernetesのコンパイル

昨今、OSSを製品からコンパイルして使うことは少なくなってきましたが、Kubernetesのソースを改変したりデバッグしたりしてみたかったので、コンパイルしてみました。

コンパイルって結構面倒なイメージですが、KubernetesのコンパイルはDockerを利用してコンパイルするためのスクリプトが用意されています。つまりDockerが使える環境なら、スクリプトを実行するだけです。
※ Dockerのインストールはここでは割愛します。

まずは、ソースコードをcloneし、ディレクトリを移動します。

# git clone https://github.com/kubernetes/kubernetes.git
# cd kubernetes

コンパイルします。引数にmakeだけを指定するとLinuxのバイナリを生成してくれます。
※ コンパイル環境まで数分かかりました。

# ./build/run.sh make
~ 略 ~
Coverage is disabled.
+++ [1029 21:59:25] Placing binaries
+++ [1029 22:00:00] Syncing out of container
+++ [1029 22:00:00] Stopping any currently running rsyncd container
+++ [1029 22:00:00] Starting rsyncd container
+++ [1029 22:00:01] Running rsync
+++ [1029 22:00:25] Stopping any currently running rsyncd container

バイナリは_outputディレクトリに出力されました。

# ls _output/dockerized/bin/linux/amd64/
apiextensions-apiserver  genswaggertypedocs       kube-scheduler
conversion-gen           genyaml                  kubeadm
deepcopy-gen             ginkgo                   kubectl
defaulter-gen            go-bindata               kubelet
e2e.test                 go-runner                kubemark
e2e_node.test            go2make                  linkcheck
gendocs                  kube-apiserver           mounter
genkubedocs              kube-controller-manager  openapi-gen
genman                   kube-proxy

非常に簡単ですね。

タイトルとURLをコピーしました