CentOS7環境安裝Kubernetes四部曲之一:標準化機器準備

通過Rancher安裝Kubernetes的文章前面已經寫過,但那時是需要科學上網才能安裝成功(下載gcr.io/google_containers/XXXXX的鏡像),本次實戰依舊是用Rancher來安裝Kubernetes,但是會做一些設置,使得不用翻牆也能成功安裝K8S環境,另外,在CentOS7環境下,有些設置如果處理不當也會導致安裝失敗或者加入節點失敗,所以也會在本文中交代清楚;

章節列表

整個《CentOS7環境安裝Kubernetes四部曲》由以下四篇文章組成:

1. 標準化機器準備,不論是master還是node節點,都要先做一些同樣的設置,本章會將這些步驟列出,請參照本章對每一臺機器做同樣的設置;

2. 安裝master,配置模板;

3. 在K8S環境加入機器,並快速部署一個應用作爲體驗;

4. 安裝kubectl工具;

版本信息

本次涉及到的重要軟件的版本信息如下:

1. 操作系統:CentOS Linux 7 (3.10.0)

2. Docker:1.12.3

3. Kubernetes:v1.8.3

機器信息

整個環境由兩臺CentOS7的機器組成,如下:

hostname IP地址 作用 內存大小

master 192.168.119.129 主控制節點 2G

node1 192.168.119.130 業務節點 4G

接下來的操作是通用的,在master和node1兩臺機器上都要一模一樣的做一遍;

建議以root身份來執行以下操作,或者通過sudo su -命令獲取root權限;

檢查hostname

檢查文件/etc/hostname,確保master和node1的不一樣,我這邊master的hostname就叫master,node的hostname叫node1;

修改後需要重啓機器;

檢查hosts

檢查文件/etc/hosts,確保有hostname和本機IP的配置:

1. 對於master應該有這麼一行:192.168.119.129 master

2. 對於node1應該有這麼一樣:192.168.119.130 node1

IP和DNS

IP地址不能衝突;

能正常解析域名,執行curl www.baidu.com,可以返回網站的html內容;

防火牆

如果是測試環境就關閉防火牆,如果是生產環境需要做詳細的設置,關閉防火牆的方法如下:

1. 查看當前防火牆狀態:systemctl status firewalld.service

2. 禁止開機啓動:systemctl disable firewalld.service

3. 關閉防火牆:systemctl stop firewalld.service

關閉SELinux

打開文件/etc/selinux/config,找到SELINUX=xxxxx這行,改爲SELINUX=disabled;

修改後需要重啓機器;

開啓IPV4轉發

打開文件/etc/sysctl.conf,檢查是否有net.ipv4.ip_forward = x這樣的配置;

如果有就保證x等於1,如果沒有就加一行:net.ipv4.ip_forward = 1

修改並保存後,執行命令sysctl -p使配置生效;

執行命令sysctl -a|grep “ip_forward”,查看最新的配置,應該有如下內容:

net.ipv4.ip_forward = 1

net.ipv4.ip_forward_use_pmtu = 0

重啓

做完上述步驟後,如果有改動,最好重啓機器,以免有設置未能生效;

關閉Swap交換分區

執行命令swapoff -a關閉Swap交換分區;

安裝Docker1.2.3版本

什麼版本的Docker才能適配Rancher和Kubernetes?rancher的官網給出了一份列表,請參考:http://rancher.com/docs/rancher/v1.6/zh/hosts/#docker,本文我們使用推薦的1.2.3版本,以下是安裝步驟:

1. 執行命令:

mkdir -p ~/_src \

&& cd ~/_src \

&& wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-selinux-1.12.3-1.el7.centos.noarch.rpm \

&& wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-1.12.3-1.el7.centos.x86_64.rpm \

&& wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-debuginfo-1.12.3-1.el7.centos.x86_64.rpm \

&& yum localinstall -y docker-engine-selinux-1.12.3-1.el7.centos.noarch.rpm docker-engine-1.12.3-1.el7.centos.x86_64.rpm docker-engine-debuginfo-1.12.3-1.el7.centos.x86_64.rpm

2. 設置開機啓動:

systemctl enable docker

3. 啓動docker:

systemctl start docker

4. 執行docker version命令,看到如下信息:

Client:

Version: 1.12.3

API version: 1.24

Go version: go1.6.3

Git commit: 6b644ec

Built:

OS/Arch: linux/amd64

Server:

Version: 1.12.3

API version: 1.24

Go version: go1.6.3

Git commit: 6b644ec

Built:

OS/Arch: linux/amd64

設置Docker鏡像加速

此時如果用docker pull命令下載鏡像,本地會連接hub.docker.com網站去下載,耗時較長,因此我們可以設置docker鏡像加速,使得本地連接去國內鏡像倉庫下載,鏡像加速的設置有很多種,本章以阿里雲的設置爲例,步驟如下:

創建目錄:

mkdir -p /etc/docker

2. 設置鏡像倉庫地址:

tee /etc/docker/daemon.json <<-'EOF'

{

"registry-mirrors": ["https://xwx6wxd1.mirror.aliyuncs.com"]

}

EOF

3. 重新加載配置:

systemctl daemon-reload

4. 重啓docker服務:

systemctl restart docker

至此,機器的標準化準備工作已經完成了,經過了上述操作的機器可以直接拿來安裝master,或者作爲node加入到kubernetes環境;

本文轉自CSDN-CentOS7環境安裝Kubernetes四部曲之一:標準化機器準備

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