Posted at

メモ: Kubernetesのソースコードをmake quick-releaseでビルド後し、kubelet及びコンテナイメージを入れ替える手順について

More than 1 year has passed since last update.


k8sビルド用サーバーでの作業

特定の修正を試したい場合、パッチを適用後に必要なバイナリを作成する。

作成したバイナリ、コンテナイメージをマスター及びKubeket Nodeへコピーする。今回はKubelet、APIとController Managerのコンテナイメージのみを入れ替えている。

# make quick-release

# scp ./_output/local/go/bin/kubelet k8s-master:/root
# scp ./_output/local/go/bin/kubelet k8s-node:/root
# scp kube-apiserver.tar kube-controller-manager.tar k8s-master:/root


k8s-masterノードでの作業

コピーしたkubelet及びコンテナイメージを入れ替える。

kubeletサービスを再起動、"docker stop image_id"及び"docker start image_id"でコンテナを再起動する。

# cp /usr/bin/kubelet /usr/bin/kubelet.org

# cp /root/kubelet /usr/bin/kubelet
# docker import kube-apiserver.tar gcr.io/google_containers/kube-apiserver-amd64:v1.9.4
# docker import kube-controller-manager.tar gcr.io/google_containers/kube-controller-manager-amd64:v1.9.4


k8s-nodeノードでの作業

コピーしたkubeletを入れ替える。

kubeletサービスを再起動する。

# cp /usr/bin/kubelet /usr/bin/kubelet.org

# cp /root/kubelet /usr/bin/kubelet