最早接觸kubernetes
已經(jīng)是幾年之前苔严,一直覺得搭建和維護(hù)比較復(fù)雜,小團(tuán)隊(duì)大概用不到孤澎,就沒有深入去研究和應(yīng)用了届氢。感覺今年kubernetes
大放異彩,各種相關(guān)消息里都少不了覆旭,于是還是決定嘗試一下退子。
由于天朝特殊的網(wǎng)絡(luò)環(huán)境,沒有梯子的話型将,沒法像kubernetes官方文檔里寫的那樣去訪問各種“不存在的網(wǎng)址”搭建集群寂祥。所以,只能找各種國內(nèi)源去繞開網(wǎng)絡(luò)問題(同時(shí)大大加速)七兜。
搭建環(huán)境:ubuntu 16.04 + kubeadm 1.9 + docker 17.09
(當(dāng)下最新)
本以為kubernetes
這么火了丸凭,各種套路肯定是一堆一堆的, 結(jié)果發(fā)現(xiàn)自己還是太年輕腕铸。網(wǎng)上好多都是基于centos
的(感覺ubuntu
是被嫌棄了么惜犀?),并且kubernetes
版本不高狠裹∷浣纾可能因?yàn)楣俜礁卵杆伲芏喾绞浆F(xiàn)在已經(jīng)不適用了涛菠,最后只能自己踩坑莉御。
簡單來說:
我把安裝過程寫成了腳本,下載俗冻、改改礁叔、運(yùn)行就可以了
git clone git@github.com:EagleChen/kubernetes_init.git
cd kubernetes_init
# 改一改文件!F 晴圾!
sudo ./install.sh pre
sudo ./install.sh kubernetes
就可以了。網(wǎng)絡(luò)稍微好點(diǎn)噪奄, 10多分鐘就可以搞定(主要是安裝工具和下載鏡像)死姚。
為了直觀人乓, 我直接寫死了很多路徑,需要根據(jù)自己的需求修改都毒。 比如不要改動(dòng)docker的存儲路徑色罚, 就把install_docker
函數(shù)中g(shù)raph那行去掉。
對腳本以及一些坑的解釋:
- 腳本主要是解決特殊網(wǎng)絡(luò)環(huán)境方面的問題(源账劲、
registry
鏡像等)戳护,只安裝master
節(jié)點(diǎn), 裝node
的話瀑焦, 非常類似腌且。 - 腳本并沒有做什么風(fēng)騷的操作,基本上就是照著官方的文檔來(然后改變下載地址)榛瓮,所以對著官方文檔運(yùn)行腳本铺董,是正確姿勢!這點(diǎn)非常關(guān)鍵禀晓!
-
docker
源設(shè)置成了中科大的精续, 可以用其他的,非常多(清華源文檔是錯(cuò)的粹懒,注意一下就行了)重付。kubernetes
(這么新的) 我沒找到其他好的源。repo
里面的gpg
文件對應(yīng)的是kubernetes
凫乖, 若不放心确垫,可以(自行穿墻)從官方渠道下載。 -
docker
的registry mirror
帽芽,非常多地方可以獲取到森爽,我這里就不打廣告了。需要自己申請了嚣镜,設(shè)置在shell
腳本里爬迟。 -
shell
腳本中,保留了對于之前版本的kubeadm init
的設(shè)置方式菊匿,注釋掉了付呕。如果有特殊需求,需要用之前的版本跌捆,可以嘗試一下(我是沒試過徽职,出錯(cuò)了我就沒辦法了)。 - 運(yùn)行完腳本之后佩厚,其實(shí)還有蠻多后續(xù)操作姆钉,但基本不涉及網(wǎng)絡(luò)方面的內(nèi)容了。所以需要照著輸出和文檔來。
- 阿里云registry上有兩組倉庫
google-containers
和google_containers
潮瓶, 后者更新迅速一些陶冷,用!(但是為啥不是一個(gè)毯辅,這個(gè)鬼地方太坑人了) - 很多之前的文章說
cgroupfs
需要保持同步埂伦, 可能kubernetes
新版(1.9)改變了吧,我發(fā)現(xiàn)用不著改docker
的配置了思恐。
參考:
官方文檔: https://kubernetes.io/docs/setup/independent/install-kubeadm/
參考安裝腳本:https://github.com/kubeup/okdc