一、前言
在第一篇文章 從零開始搭建Kubernetes集群(一桥狡、開篇)中,我們已經(jīng)安裝好了VirtualBox皱卓,并且下載好了CentOS 7的安裝鏡像裹芝。
我們總共需要安裝三個虛擬機(jī)節(jié)點(diǎn),這里我們只安裝一個節(jié)點(diǎn)娜汁,另外兩個節(jié)點(diǎn)通過VirtualBox的復(fù)制功能實(shí)現(xiàn)嫂易,可以大幅度減少工作量。
好了掐禁,我們現(xiàn)在開始虛擬機(jī)環(huán)境搭建之旅怜械。
二、虛擬機(jī)環(huán)境要求
- 操作系統(tǒng) CentOS 7.4
- 內(nèi)存 2G 【至少】
- CPU 2核【至少】
- 硬盤 20G 【至少】
三傅事、創(chuàng)建虛擬機(jī)
-
打開VirtualBox主界面宫盔,如下圖所示,點(diǎn)擊新建:
-
輸入虛擬機(jī)名稱享完,注意類型和版本正確:
-
設(shè)置內(nèi)存為2048M(切記至少2G):
-
保持默認(rèn)選項(xiàng):
-
文件位置一定要選擇一個空間足夠的分區(qū)灼芭,并且虛擬硬盤大小一定至少20GB:
四、安裝操作系統(tǒng)
-
虛擬機(jī)創(chuàng)建完畢后般又,如下圖所示彼绷,點(diǎn)擊設(shè)置:
-
點(diǎn)擊“存儲”巍佑,選擇“控制器:IDE”,并且點(diǎn)擊下方的紅框寄悯,點(diǎn)擊添加虛擬光驅(qū):
-
選擇之前下載好的CentOS 7 安裝鏡像:
-
添加完畢后萤衰,如下圖所:
-
啟動虛擬機(jī),自動進(jìn)入如下界面猜旬,選擇“Install CentOS 7”
-
語言選擇中文:
-
這里比較重要脆栋,“軟件選擇”不要選擇“最小安裝”,建議選擇最后一個“開發(fā)及生產(chǎn)工作站”洒擦。安裝位置選擇默認(rèn)自動分區(qū)椿争,禁用Kdump,打開網(wǎng)絡(luò)熟嫩,讓你的虛擬機(jī)可以連接到互聯(lián)網(wǎng):
-
點(diǎn)擊“開始安裝”秦踪,并設(shè)置一個Root密碼 ,隨后去喝一杯咖啡吧:
-
咖啡喝完后掸茅,如下圖所示椅邓,重啟完成安裝:
五、設(shè)置環(huán)境
當(dāng)然昧狮,剛安裝完畢后的CentOS 7景馁,我們需要額外進(jìn)行一些配置,才能更方便的進(jìn)行后續(xù)的操作逗鸣。這里裁僧,我們所有的操作使用Root賬號。
配置終端
如果不安裝VirtualBox的增強(qiáng)功能慕购,直接在VirtualBox里操作bash是一件非常惡心的事情。這里茬底,我也不建議安裝增強(qiáng)功能沪悲,因?yàn)榻?jīng)常會安裝失敗,浪費(fèi)時(shí)間阱表,并且我們基本不會在CentOS的圖形界面操作殿如。因此,一個好的辦法是最爬,使用第三方的終端模擬軟件涉馁,如Xshell(強(qiáng)烈建議)、Securecrt等爱致。
本文以Xshell為例烤送,設(shè)置步驟如下:
-
由于VirtualBox 默認(rèn)使用NAT網(wǎng)絡(luò)轉(zhuǎn)換,宿主機(jī)無法直接訪問虛擬機(jī)糠悯,但我們只要簡單的在NAT網(wǎng)卡上添加端口轉(zhuǎn)發(fā)帮坚,即可訪問虛擬機(jī)妻往。這里,我們通過端口轉(zhuǎn)發(fā)暴露虛擬機(jī)的SSH端口(22)试和,就可以遠(yuǎn)程連接到虛擬機(jī)讯泣。
在設(shè)置中,選擇“網(wǎng)絡(luò)”=>“網(wǎng)卡1”>=“高級”>=“端口轉(zhuǎn)發(fā)”:
2.添加一個規(guī)則阅悍,這里使用真實(shí)的物理機(jī)端口9000來映射到虛擬機(jī)的22端口:
- 在我們真實(shí)的物理機(jī)上好渠,可以利用Xshell,通過端口9000連接到虛擬機(jī)終端上节视。打開Xshell拳锚,新建一個連接。注意肴茄,因?yàn)槎丝谑怯成涞剿拗鳈C(jī)上的晌畅,所以主機(jī)地址要填寫為
127.0.0.1
:
-
使用Xshell登錄:
關(guān)閉圖形界面
CentOS 7 安裝好后,登錄時(shí)默認(rèn)啟用了很占資源的圖形界面寡痰,若啟動三個虛擬機(jī)更會卡的飛起抗楔。因此,我們可以通過如下命令切換默認(rèn)的登錄方式:
- 命令模式
systemctl set-default multi-user.target
- 圖形模式
systemctl set-default graphical.target
這里拦坠,強(qiáng)烈建議切換為命令模式连躏,所有的操作都通過Xshell進(jìn)行足以。注意贞滨,上面的命令執(zhí)行后重啟生效入热。
配置yum源
不建議使用CentOS 7 自帶的yum源,因?yàn)榘惭b軟件和依賴時(shí)會非常慢甚至超時(shí)失敗晓铆。這里勺良,我們使用阿里云的源予以替換,執(zhí)行如下命令骄噪,替換文件/etc/yum.repos.d/CentOS-Base.repo
:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
關(guān)閉防火墻
防火墻一定要提前關(guān)閉尚困,否則在后續(xù)安裝K8S集群的時(shí)候是個trouble maker。執(zhí)行下面語句關(guān)閉链蕊,并禁用開機(jī)啟動:
[root@localhost ~]# systemctl stop firewalld & systemctl disable firewalld
[1] 10341
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
關(guān)閉Swap
類似ElasticSearch集群事甜,在安裝K8S集群時(shí),Linux的Swap內(nèi)存交換機(jī)制是一定要關(guān)閉的滔韵,否則會因?yàn)閮?nèi)存交換而影響性能以及穩(wěn)定性逻谦。這里,我們可以提前進(jìn)行設(shè)置:
- 執(zhí)行
swapoff -a
可臨時(shí)關(guān)閉陪蜻,但系統(tǒng)重啟后恢復(fù) - 編輯
/etc/fstab
邦马,注釋掉包含swap
的那一行即可,重啟后可永久關(guān)閉,如下所示:
/dev/mapper/centos-root / xfs defaults 0 0
UUID=20ca01ff-c5eb-47bc-99a0-6527b8cb246e /boot xfs defaults 0 0
# /dev/mapper/centos-swap swap
或直接執(zhí)行:sed -i '/ swap / s/^/#/' /etc/fstab
關(guān)閉成功后勇婴,使用top
命令查看忱嘹,如下圖所示表示正常:
六、安裝Docker
當(dāng)然耕渴,安裝K8S必須要先安裝Docker拘悦。這里,我們使用yum方式安裝Docker社區(qū)最新版橱脸。Docker官方文檔是最好的教材:
https://docs.docker.com/install/linux/docker-ce/centos/#prerequisites
但由于方教授的防火墻础米,文檔網(wǎng)站經(jīng)常無法查看,并且使用yum安裝也經(jīng)常會超時(shí)失敗添诉。我們使用如下方式解決:
添加倉庫
添加阿里云的Docker倉庫:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache
安裝Docker
執(zhí)行以下命令屁桑,安裝最新版Docker:
yum install docker-ce -y
安裝成功后,如下圖所示:
運(yùn)行docker --version
,可以看到安裝了截止目前最新的18.03.1版本:
[root@localhost ~]# docker --version
Docker version 18.03.1-ce, build 9ee9f40
啟動Docker
啟動Docker服務(wù)并激活開機(jī)啟動:
systemctl start docker & systemctl enable docker
運(yùn)行一條命令驗(yàn)證一下:
docker run hello-world
提示如下栏赴,則表示你的Docker安裝成功了:
七蘑斧、廢話
到目前為止,我們的虛擬機(jī)環(huán)境就準(zhǔn)備完畢了须眷,下一章節(jié)《從零開始搭建Kubernetes集群(三竖瘾、搭建K8S集群)》,才是這次分享的核心內(nèi)容花颗,敬請期待捕传。
本人水平有限,難免有錯誤或遺漏之處扩劝,望大家指正和諒解庸论,歡迎評論留言。