1. 程式人生 > >Rancher及Docker快速上手指南(一)

Rancher及Docker快速上手指南(一)

Rancher是一個開源的企業級全棧化容器部署及管理平臺,目前我們使用的是穩定釋出的版本V1.6(2017年釋出),其中Rancher2.0也於2018年釋出,Rancher 2.0是一個簡化、加速企業Kubernetes(K8S)快速落地的產品,由於2.0版本變動太大,不便於我們入門應用,而且目前還沒提供可靠並易於安裝的容器版本,所以暫時不推薦。以下是兩個版本的術語變更,1.6符合Docker初級使用的術語理解,2.0已完全靠向了專業的K8S:

上手指南導讀(分一、二、三期說明)

  • 前置準備
  • 安裝Rancher
  • 新增和管理主機
  • 新增和管理容器
  • 新增和管理應用
  • 映象庫應用

開始先分享一下Rancher平臺的架構:

一、前置準備

給安裝Rancher的主機和其他需要部署Docker的主機,都要安裝上Docker服務:

1、對於CantOS安裝Docker最好是CentOS7,這樣可以保證核心至少是3.10(通過uname -r 命令檢視),低於這個版本的核心無法安裝Docker。

2、使用 root 許可權登入Centos。確保 yum 包更新到最新(sudo yumupdate),公司的CentOS7機器都可以不更新。

3、解除安裝舊版本(如果安裝過舊版本的話)

sudo yum remove docker  docker-common docker-selinux docker-engine 

4、安裝需要的軟體包,yum-util 提供yum-config-manager功能,另外兩個是devicemapper驅動依賴的

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

5、設定yum源

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo  

6、直接安裝最新版的docker(記住版本寧可最新,也不要低於Rancher所要求的版本)

sudo yum install docker-ce  

7、啟動並加入開機啟動

sudo systemctl start docker  

sudo systemctl enable docker 

8、可以給映象加速,中國官方的加速地址: registry.docker-cn.com

echo'{"registry-mirrors": ["https://registry.docker-cn.com"]}'> /etc/docker/daemon.json

中國官方的只能下載公有映象,私有映象你還得走美國,網上另提供daocloud的地址

echo'{"registry-mirrors": ["http://bcfb7352.m.daocloud.io"]}'> /etc/docker/daemon.json

關於映象庫加速網上挺多的,包括阿里提供的雲端地址,但這些目前對於我們也沒什麼太大必要,我並沒有覺得慢,所以可以不進行該步操作。

備註:如果用以上預設的docker源也無法下載docker-ce,可以試試用阿里雲的源:

# Step 1: 新增軟體源資訊
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 2: 更新並安裝 Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 3: 開啟Docker服務
sudo service docker start

二、安裝Rancher

Rancher本身也是個容器,所以我們用安裝容器的方式安裝:

sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server

rancher/server這個映象拉取的是最新版本的Rancher V1.6

以上是官方的安裝命令,我認為這麼安裝有個問題,如果需要升級Rancher,或容器故障而重灌,就會導致我們管理平臺的歷史資料丟失。所以我們需要用卷的方式,將庫檔案對映到本地主機上。需要在本地建立三個目錄(mkdir -p):

/opt/rancher/lib/cattle

/opt/rancher/lib/mysql

/opt/rancher/log/mysql

通過chmod -R 777 /opt/rancher賦予最高許可權,然後通過以下命令安裝:

sudo docker run -d --restart=unless-stopped -p 8080:8080 -v /opt/rancher/lib/cattle:/var/lib/cattle -v /opt/rancher/lib/mysql:/var/lib/mysql -v /opt/rancher/log/mysql:/var/log/mysql rancher/server

以上命令,確保容器的可靠性,不但是容器隨主機同步重啟,而且Rancher被破壞或刪除後,只需要重新執行以上命令重建,原來的管理資料還全部保留。

如果需要訪問Rancher的mysql,在建立時可以把3306埠對外映射出來。

Rancher安裝完後,直接通過http://IP:8080訪問

三、新增和管理主機

想通過Rancher管理各個節點伺服器,就需要在各主機上部署rancher-agent容器,這個通過Rancher介面上的新增主機,就能方便的生成相關命令,而且不只部署rancher-agent,各種網路服務、監控服務都一併部署。

1、點選基礎架構à主機à新增主機,選擇Custom

2、新增標籤(支援新增多個):比如新增 host.ip=你要部署的主機IP

(關於標籤一般也可以不加,但為了叢集化應用部署時,方便docker-compose.yml檔案能標別不同節點的主機,還是打個host.ip標籤吧,標籤也可以在後期追加)。

複製介面上第5 步的命令

說明:如果主機同時也是部署Rancher的那臺機器,圖上第4步必須填上主機IP。

3、將複製的命令貼上到對應主機上執行,就能完成rancher-agent的安裝:

4、安裝完後,關閉當前介面,回到主機管理頁面,就能看新新增的主機面板

安裝好後的主機名是localhost(由hostname決定),為了方便識別我們可以編輯主機,自定義個名稱,如用IP命名172.17.2.84。

 

5、管理主機

如上面板,可以實現對主機的停用(停用後才可以刪除,這裡的刪除就是指去除rancher-agent等管理容器)、疏散(就是清除主機管理的所有非系統容器)、編輯(可實現記憶體、CPU配置、標籤設定等)、新增獨立容器等功能。

未完待續......