溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Kubernetes中如何源碼編譯Rancher

發(fā)布時間:2021-12-08 11:39:50 來源:億速云 閱讀:236 作者:小新 欄目:云計算

這篇文章將為大家詳細講解有關Kubernetes中如何源碼編譯Rancher,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Rancher是基于kubernetes的PaaS管理平臺,成熟度還算可以

源碼包準備

mkdir -p $GOPATH/src/github.com/rancher
cd $GOPATH/src/github.com/rancher
git clone https://github.com/rancher/rancher.git
cd rancher
  • 注1: 嘗試過 git clone xx --depth=1 然后編譯,始終無法正確拉取對應依賴包

編譯和打包鏡像

cd $GOPATH/src/github.com/rancher/rancher
./scripts/build

//打成docker image
// - 根據(jù)dockfile定義執(zhí)行,包括會下載baseimage等
./scripts/package
  • 注2: 編譯、打包過程都出錯中斷過幾次,重復執(zhí)行,卻都成功了。歸咎于網(wǎng)絡、服務器繁忙導致timeout吧

  • 注3:(2.3.3版本后好像問題解決了,該步驟可省略) 打包過程,唯一需要調整的,是創(chuàng)建 ./dist ,打包最后階段需要向其中寫入新生成鏡像的名稱, 但不知為何腳本本身缺少了創(chuàng)建該目錄

  • 注4: (2.3.3版本后好像問題解決了,該步驟可省略) 調整了一行編譯腳本內容 對編譯腳本 ./scripts/package 從

echo Built ${IMAGE} #${AGENT_IMAGE}

改為(去掉注釋符號)

echo Built ${IMAGE} ${AGENT_IMAGE}
  • 注5: (2.3.3版本后好像問題解決了,該步驟可省略) 重復編譯時,會提示 /tmp/system-charts 已經(jīng)存在,需要手動刪除后再編譯

編譯輸出

編譯后的文件存放在 $GOPATH/src/github.com/rancher/rancher/bin 目錄 查看

./rancher -h
./agent

執(zhí)行完編譯后, 新的rancher-agent 加入了鏡像倉庫(但沒看到rancher..)

[root@iZm5efctez2mq4wk8wbhsyZ rancher]# docker images
REPOSITORY                   TAG                 IMAGE ID            CREATED              SIZE
rancher/rancher-agent        dev                 42545cac55a7        About a minute ago   283MB

使用

基于鏡像部署的替換

如 rancher 使用鏡像方式啟動

docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher

假定docker 實例名稱為 awesome_dijkstra

#在編譯目錄下,替換 rancher 可執(zhí)行文件
docker cp bin/rancher awesome_dijkstra:/usr/bin

#重啟容器生效
docker restart awesome_dijkstra
  • 注6: 之前用v2.2.3-rc9源碼包,編譯成功,按此方法和2.3.3鏡像部署配合使用時,因etcd版本要求不同,會導致rancher/rancher啟動失敗。 更換源碼包為master分支后,解決。

備注

編譯和運行環(huán)境

centos 7.6
2C4G
go version go1.13.4 linux/amd64

關于“Kubernetes中如何源碼編譯Rancher”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI