本地從零開始搭建k8s+docker+jenkins

其他文章有記錄前期的準備

1.vmware準備虛擬機,一堆坑請見其他文章

2.安裝jenkins請見jenkins實踐及docker實踐

3.docker相關請見docker實踐

 

等有時間把這些彙總在這一篇文章內,從零開始搭建一個完整的k8s+docker+jenkins的流程,並生成一個腳本或者鏡像

==============================================================================

1.虛擬機安裝:

從163下載的額鏡像安裝後沒有eth0,ip a沒ip且不能來接外網,具體辦法見其他文找機會彙總在這裏

mark一下,從163鏡像站下載的鏡像是沒啥東西的,需要安裝的東西有:

yum install -y net-util

===============================================================================

2.docker

=================================================================

3.安裝jenkins:可參考官方文檔

服務器512剛剛湊合

安裝 yum install,選擇docker而不是docker client

執行下面代碼

docker run \
-u root \
-d \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean

 

這個時候會報一個錯誤:/usr/bin/docker-current: Error response from daemon: driver failed programming external connectivity on endpoint gallant_mclean (5ad14ff0ee6d58001cf64188306233b8bfa5e35bf052a60e768aa38509fab080): exec: "docker-proxy": executable file not found in $PATH

 

解決方案:

cd /usr/libexec/docker/        ln -s docker-proxy-current docker-proxy

還有一個連接也直接ln上,否則後續也會報這個錯。

光改鏈接沒有用,還需要在path內配置/usr/libexec/docker/的路徑,否則不識別,這就是爲啥用基礎景象搭建環境,能測試出所有的問題。export也不行,至於原因,可能是沒有同步或者需要重新docker,但是的確試過重啓。最後還是通過配置到/etc/profile裏面然後source一下這個文件實現的

再執行一次那堆run,報新的錯誤,因爲之前執行過一次導致端口50000被佔用,然後咋辦?

報錯內容:

/usr/bin/docker-current: Error response from daemon: driver failed programming external connectivity on endpoint friendly_poitras (fd438b6f96fbe999b665749333a5a30a70cb7af2540adeaf4a6105983bde7c72): Bind for 0.0.0.0:50000 failed: port is already allocated

解決方案 及原因:

重啓docker systemctl restart docker即可。或者ps -ef |grep docekr ,然後kill掉。這個一步需要改進怎麼才能清楚失敗的佔用,嘗試過docker system prune,未奏效。必須重啓。待改進

啓動jenkins的時候會卡在一個空白頁面,爲啥?因爲默認設置是訪問google。需要進入docker內,docker exec -it 容器名稱 /bin/bash ,然後進入var,jenkinshome,進到update,然後修改defau.json裏面的google換成baidu之類的

之後就成功了。

進入後發現jenkin是中文界面,不爽,怎麼切換成英文裝個逼?瀏覽器設置中設置爲英語,jenkins就會顯示成英語。瀏覽器不想改但是又想切成中文咋辦?裝一個插件,在jenkins裏設置local設置爲中文即可

至此,jenkins搭建完畢

==========================================================

docker 技巧:

docker的掛載docke run -v xxx:/xxx/xxx  這個命令不簡單,當虛擬機的xxx是一個相對路徑時,絕對不是指相對於當前路徑,而是相對於/var/lib/docker/volumes/ 山哥威武。

還有一個技巧 docker inspect xxx鏡像名稱,查看這個鏡像的一些信息,比如mount到了啥鬼

當執行docker system prune的時候,會把這些掛在也全部刪除,在/var/lib/docker/volumes下的文件就被刪了,比如jenkins-data

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章