Rancher的部署安裝(編排選用K8S)


為什么要使用Rancher

Rancher是一個開源的企業級容器管理平台。通過Rancher,企業再也不必自己使用一系列的開源軟件去從頭搭建容器服務平台。Rancher提供了在生產環境中使用的管理Docker和Kubernetes的全棧化容器部署與管理平台。

Rancher的官方文檔:https://rancher.com/docs/rancher/latest/en/

下圖展示了Rancher的主要組件和功能:

版本選擇

版本選擇參照官方文檔:supported version of Docker

根據上圖,本文選用以下符合要求的最新版本

軟件

版本

github項目地址

rancher

1.6.14

https://github.com/rancher/rancher

docker

17.03.2-ce

https://github.com/docker/docker-ce

kubernetes

1.8.5

https://github.com/kubernetes/kubernetes


系統准備

主機名

IP地址

用途說明

操作系統

rancher1

10.245.231.119

server管理節點

Ubuntu 16.04.3 LTS

docker201

10.245.231.201

agent工作節點

Ubuntu 16.04.3 LTS

docker201

10.245.231.202

agent工作節點

Ubuntu 16.04.3 LTS


禁用IPV6

sudo vi /etc/sysctl.d/99-sysctl.conf
# 添加以下內容
#------------------------------------------
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
#------------------------------------------

sudo sysctl -p

 


禁用虛擬內存swap

# 不重啟電腦,禁用啟用swap,立刻生效
sudo swapoff -a

# 啟用命令
sudo swapon -a

# 查看交換分區的狀態
sudo free -m

# 永久禁用Swap,在/etc/fstab中swap分區這行前加 #
sudo vi /etc/fstab
#------------------------------------------
# /dev/mapper/docker201--vg-swap_1 none            swap    sw              0       0
#------------------------------------------

 

安裝指定版本的docker

在以上三台主機上,安裝指定版本的docker,參照docker的部署安裝-Ubuntu配置阿里鏡像加速器

查看docker信息能看到以下內容:

sudo docker info 
#------------------------------------------
Registry Mirrors:
 https://lwdxerv9.mirror.aliyuncs.com
#------------------------------------------

# 重啟docker服務
sudo systemctl daemon-reload
sudo systemctl restart docke

# 檢查防火牆是否啟動
systemctl list-unit-files | grep enable | grep ufw
ufw.service                                enabled

 

安裝Rancher管理端

在rancher1上操作

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

$ sudo docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                              NAMES
4aba45218a7a        rancher/server      "/usr/bin/entry /u..."   6 minutes ago       Up 5 minutes        3306/tcp, 0.0.0.0:8080->8080/tcp   rancher

$ sudo docker exec -it rancher /bin/bash

root@4aba45218a7a:/# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 15:03 ?        00:00:00 /usr/bin/s6-svscan /service
root         7     1  0 15:03 ?        00:00:00 s6-supervise cattle
root         8     1  0 15:03 ?        00:00:00 s6-supervise graphite_exporter
root         9     1  0 15:03 ?        00:00:00 s6-supervise mysql
root        10     7 22 15:03 ?        00:01:41 java -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -Xms128m -Xmx2g -XX:+HeapDumpOnOutOfMemoryErr
mysql      113     9  1 15:03 ?        00:00:07 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql
root       249    10  0 15:03 ?        00:00:03 rancher-catalog-service --config repo.json --refresh-interval 300
root       284    10  0 15:04 ?        00:00:01 websocket-proxy
root       298    10  1 15:04 ?        00:00:04 go-machine-service
root       306    10  0 15:04 ?        00:00:00 secrets-api server --enc-key-path .
root       307    10  0 15:04 ?        00:00:00 webhook-service
root       325    10  0 15:04 ?        00:00:00 rancher-compose-executor
root       332    10  0 15:04 ?        00:00:00 rancher-auth-service --auth-config-file authConfigFile.txt
root       425     0  0 15:07 ?        00:00:00 /bin/bash
root       440     0  0 15:07 ?        00:00:00 /bin/bash
root       507     0  0 15:10 ?        00:00:00 /bin/bash
root       523   507  0 15:10 ?        00:00:00 ps -ef

# 使用以下命令可以查看rancher容器日志
sudo docker logs -f rancher

 

訪問 http://10.245.231.119:8080


配置環境

進入環境管理,准備添加環境模板

點擊添加環境模板

點擊編輯設置后,在彈出的頁面中,更改如下幾個參數:
Private Registry for Add-Ons and Pod infra Container Images(修改私有倉庫地址):registry.cn-shenzhen.aliyuncs.com
Image namespace for Add-ons and Pod infra Container Images(修改AAONS組件命名空間):rancher_cn
Image namespace for kubernetes-helm (修改kubernetes-helm命名空間):rancher_cn
Pod Infra Container Image (修改默認的pause鏡像名):rancher_cn/pause-amd64:3.0

參數設置完,點擊頁面下方的設置按鈕返回環境模板編輯頁面,保持環境模板其他參數不變,點擊頁面下方的創建按鈕。

回到環境管理,點擊添加環境

選擇新創建的環境模板后點擊創建

這樣就用剛剛創建的模板創建了一個K8S環境

設置為默認環境並切換到此環境

添加主機

因為是第一次添加主機,系統會要求你確認節點注冊地址,我們直接點擊保存。

依次登陸各個宿主機,執行5里面的腳本。

如果需要把rancher1加為宿主機,那么需要在4里面填寫管理端和宿主主機之間互通的內網IP地址,建議不要添加rancher1為宿主機,方便后續做rancher server集群高可用。

 

 

經歷較長時間后,添加成功

按此辦法可添加多台宿主機

k8s儀表板

k8s命令行

k8s基礎設施(點擊+可查看詳細內容)

主機視圖

正常狀態,非系統容器應該有14個

因k8s管理復雜,本文只是演示如何配置k8s,后續文章的環境將繼續使用rancher默認的Cattle,並且將docker升級到最新版本

參考文檔

升級rancher

 

# 升級前
組件  版本
Rancher v1.6.14
Cattle  v0.183.37
用戶界面    v1.6.37
Rancher CLI v0.6.7
Rancher Compose v0.12.5


# 升級系統及相關軟件包(含docker)
apt update
apte upgrade

uname -r
4.4.0-116-generic

docker -v
Docker version 18.03.1-ce, build 9ee9f40

# 升級rancher
docker pull rancher/server
docker pull rancher/server:stable

docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                              NAMES
e5ff13a96eef        rancher/server      "/usr/bin/entry /usr鈥   5 months ago        Up 8 minutes        3306/tcp, 0.0.0.0:8080->8080/tcp   rancher

docker stop e5ff13a96eef
docker rm e5ff13a96eef

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

# 刪除原有的容器

# 刪除鏡像
docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
rancher/server      latest              85b3b338d0be        3 weeks ago         1.08GB
rancher/server      <none>              d63b9b4bd205        5 months ago        1.08GB

docker rmi d63b9b4bd205

# 升級后
組件  版本
Rancher v1.6.18
Cattle  v0.183.52
用戶界面    v1.6.43
Rancher CLI v0.6.10
Rancher Compose v0.12.5

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM