二進制方式搭建k8s集群-(1)預(yù)先準(zhǔn)備環(huán)境

一狞玛、預(yù)先準(zhǔn)備環(huán)境****1. 準(zhǔn)備服務(wù)器

這里準(zhǔn)備了三臺ubuntu虛擬機昼丑,每臺一核cpu和2G內(nèi)存毡代,配置好root賬戶阅羹,并安裝好了docker,后續(xù)的所有操作都是使用root賬戶教寂。虛擬機具體信息如下表:

系統(tǒng)類型 IP地址 節(jié)點角色 CPU Memory Hostname
ubuntu16.04 192.168.1.101 worker 1 2G server01
ubuntu16.04 192.168.1.102 master 1 2G server02
ubuntu16.04 192.168.1.103 worker 1 2G server03

使用centos的同學(xué)也可以參考此文檔捏鱼,需要注意替換系統(tǒng)命令即可

2. 安裝docker(所有節(jié)點)

一般情況使用下面的方法安裝即可

2.1 卸載舊版本(如果有的話)

$ apt-get remove docker docker-engine docker.io

2.2 更新apt-get源

$ add-apt-repository  "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
$ apt-get update

2.3 安裝apt的https支持包并添加gpg秘鑰

$ apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -

2.4 安裝docker-ce

  • 安裝最新的穩(wěn)定版

    $ apt-get install -y docker-ce
    
  • 安裝指定版本

    
    #獲取版本列表
    $ apt-cache madison docker-ce
    

指定版本安裝(比如版本是17.09.1ce-0ubuntu)

$ apt-get install -y docker-ce=17.09.1ce-0ubuntu

- 接受所有ip的數(shù)據(jù)包轉(zhuǎn)發(fā)
```bash
$ vi /lib/systemd/system/docker.service

#找到ExecStart=xxx,在這行上面加入一行酪耕,內(nèi)容如下:(k8s的網(wǎng)絡(luò)需要)
ExecStartPost=/sbin/iptables -I FORWARD -s 0.0.0.0/0 -j ACCEPT
  • 啟動服務(wù)

    $ systemctl daemon-reload
    $ service docker start
    

遇到問題可以參考:官方教程

3. 系統(tǒng)設(shè)置(所有節(jié)點)

3.1 關(guān)閉导梆、禁用防火墻(讓所有機器之間都可以通過任意端口建立連接)

$ ufw disable
#查看狀態(tài)
$ ufw status

3.2 設(shè)置系統(tǒng)參數(shù) - 允許路由轉(zhuǎn)發(fā),不對bridge的數(shù)據(jù)進行處理

#寫入配置文件
$ cat <<EOF > /etc/sysctl.d/k8s.conf
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

#生效配置文件
$ sysctl -p /etc/sysctl.d/k8s.conf

3.3 配置host文件

#配置host,使每個Node都可以通過名字解析到ip地址
$ vi /etc/hosts
#加入如下片段(ip地址和servername替換成自己的)
192.168.1.101 server01
192.168.1.102 server02
192.168.1.103 server03

4. 準(zhǔn)備二進制文件(所有節(jié)點)

kubernetes的安裝有幾種方式看尼,不管是kube-admin還是社區(qū)貢獻的部署方案都離不開這幾種方式:

  • 使用現(xiàn)成的二進制文件

    直接從官方或其他第三方下載递鹉,就是kubernetes各個組件的可執(zhí)行文件。拿來就可以直接運行了藏斩。不管是centos躏结,ubuntu還是其他的linux發(fā)行版本,只要gcc編譯環(huán)境沒有太大的區(qū)別就可以直接運行的狰域。使用較新的系統(tǒng)一般不會有什么跨平臺的問題媳拴。

  • 使用源碼編譯安裝

    編譯結(jié)果也是各個組件的二進制文件,所以如果能直接下載到需要的二進制文件基本沒有什么編譯的必要性了兆览。

  • 使用鏡像的方式運行

    同樣一個功能使用二進制文件提供的服務(wù)屈溉,也可以選擇使用鏡像的方式。就像nginx抬探,像mysql子巾,我們可以使用安裝版,搞一個可執(zhí)行文件運行起來小压,也可以使用它們的鏡像運行起來线梗,提供同樣的服務(wù)。kubernetes也是一樣的道理怠益,二進制文件提供的服務(wù)鏡像也一樣可以提供缠导。

從上面的三種方式中其實使用鏡像是比較優(yōu)雅的方案,容器的好處自然不用多說溉痢。但從初學(xué)者的角度來說容器的方案會顯得有些復(fù)雜僻造,不那么純粹,會有很多容器的配置文件以及關(guān)于類似二進制文件提供的服務(wù)如何在容器中提供的問題孩饼,容易跑偏髓削。
所以我們這里使用二進制的方式來部署。二進制文件已經(jīng)這里備好镀娶,大家可以打包下載立膛,把下載好的文件放到每個節(jié)點上,放在哪個目錄隨你喜歡梯码,放好后最好設(shè)置一下環(huán)境變量$PATH宝泵,方便后面可以直接使用命令。(科學(xué)上網(wǎng)的同學(xué)也可以自己去官網(wǎng)找找)

下載地址(kubernetes 1.9.0版本)

其它版本(https://dl.k8s.io/v1.12.3/kubernetes-server-linux-amd64.tar.gz

)(etcdv3.3.10:https://github.com/etcd-io/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz
5. 準(zhǔn)備配置文件(所有節(jié)點)

上一步我們下載了kubernetes各個組件的二進制文件轩娶,這些可執(zhí)行文件的運行也是需要添加很多參數(shù)的儿奶,包括有的還會依賴一些配置文件。現(xiàn)在我們就把運行它們需要的參數(shù)和配置文件都準(zhǔn)備好鳄抒。

5.1 下載配置文件

#到home目錄下載項目
$ cd
$ git clone https://github.com/liuyi01/kubernetes-starter.git
#看看git內(nèi)容
$ cd ~/kubernetes-starter && ls

5.2 文件說明

  • gen-config.sh

    shell腳本闯捎,用來根據(jù)每個同學(xué)自己的集群環(huán)境(ip椰弊,hostname等),根據(jù)下面的模板瓤鼻,生成適合大家各自環(huán)境的配置文件秉版。生成的文件會放到target文件夾下。

  • kubernetes-simple

    簡易版kubernetes配置模板(剝離了認證授權(quán))茬祷。
    適合剛接觸kubernetes的同學(xué)清焕,首先會讓大家在和kubernetes初次見面不會印象太差(太復(fù)雜啦~~),再有就是讓大家更容易抓住kubernetes的核心部分祭犯,把注意力集中到核心組件及組件的聯(lián)系耐朴,從整體上把握kubernetes的運行機制。

  • kubernetes-with-ca

    在simple基礎(chǔ)上增加認證授權(quán)部分盹憎。大家可以自行對比生成的配置文件,看看跟simple版的差異铐刘,更容易理解認證授權(quán)的(認證授權(quán)也是kubernetes學(xué)習(xí)曲線較高的重要原因)

  • service-config

    這個先不用關(guān)注陪每,它是我們曾經(jīng)開發(fā)的那些微服務(wù)配置。
    等我們熟悉了kubernetes后镰吵,實踐用的檩禾,通過這些配置,把我們的微服務(wù)都運行到kubernetes集群中疤祭。

5.3 生成配置

這里會根據(jù)大家各自的環(huán)境生成kubernetes部署過程需要的配置文件盼产。
在每個節(jié)點上都生成一遍,把所有配置都生成好勺馆,后面會根據(jù)節(jié)點類型去使用相關(guān)的配置戏售。

#cd到之前下載的git代碼目錄
$ cd ~/kubernetes-starter
#編輯屬性配置(根據(jù)文件注釋中的說明填寫好每個key-value)
$ vi config.properties
#生成配置文件,確保執(zhí)行過程沒有異常信息
$ ./gen-config.sh simple
#查看生成的配置文件草穆,確保腳本執(zhí)行成功
$ find target/ -type f
target/all-node/kube-calico.service
target/master-node/kube-controller-manager.service
target/master-node/kube-apiserver.service
target/master-node/etcd.service
target/master-node/kube-scheduler.service
target/worker-node/kube-proxy.kubeconfig
target/worker-node/kubelet.service
target/worker-node/10-calico.conf
target/worker-node/kubelet.kubeconfig
target/worker-node/kube-proxy.service
target/services/kube-dns.yaml

執(zhí)行g(shù)en-config.sh常見問題:

  1. gen-config.sh: 3: gen-config.sh: Syntax error: "(" unexpected
    • bash版本過低灌灾,運行:bash -version查看版本,如果小于4需要升級
    • 不要使用 sh gen-config.sh的方式運行(sh和bash可能不一樣哦)
  2. config.properties文件填寫錯誤悲柱,需要重新生成
    再執(zhí)行一次./gen-config.sh simple即可锋喜,不需要手動刪除target
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市豌鸡,隨后出現(xiàn)的幾起案子嘿般,更是在濱河造成了極大的恐慌,老刑警劉巖涯冠,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件炉奴,死亡現(xiàn)場離奇詭異,居然都是意外死亡蛇更,警方通過查閱死者的電腦和手機盆佣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門往堡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人共耍,你說我怎么就攤上這事虑灰。” “怎么了痹兜?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵穆咐,是天一觀的道長。 經(jīng)常有香客問我字旭,道長对湃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任遗淳,我火速辦了婚禮拍柒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘屈暗。我一直安慰自己拆讯,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布养叛。 她就那樣靜靜地躺著种呐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪弃甥。 梳的紋絲不亂的頭發(fā)上爽室,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音淆攻,去河邊找鬼阔墩。 笑死,一個胖子當(dāng)著我的面吹牛瓶珊,可吹牛的內(nèi)容都是我干的戈擒。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼艰毒,長吁一口氣:“原來是場噩夢啊……” “哼筐高!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起丑瞧,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤柑土,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后绊汹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體稽屏,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年西乖,在試婚紗的時候發(fā)現(xiàn)自己被綠了狐榔。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坛增。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖薄腻,靈堂內(nèi)的尸體忽然破棺而出收捣,到底是詐尸還是另有隱情,我是刑警寧澤庵楷,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布罢艾,位于F島的核電站,受9級特大地震影響尽纽,放射性物質(zhì)發(fā)生泄漏咐蚯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一弄贿、第九天 我趴在偏房一處隱蔽的房頂上張望春锋。 院中可真熱鬧,春花似錦差凹、人聲如沸期奔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至施禾,卻和暖如春脚线,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背弥搞。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工邮绿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人攀例。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓船逮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親粤铭。 傳聞我的和親對象是個殘疾皇子挖胃,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容