什么是Rancher
是一個開源的企業級PaaS容器管理平台。Rancher提供了在生產環境中使用的管理Docker和Kubernetes的全棧化容器部署與管理平台。可以使用任何公有雲或者私有雲的Linux主機資源。Linux主機可以是虛擬機,也可以是物理機Rancher僅需要主機有CPU,內存,本地磁盤和網絡資源,從Rancher的角度來說,一台雲廠商提供的雲主機和一台自己的物理機是一樣的。能夠非常方便的進行容器編排與調度。
安裝
安裝啟動(下載很會慢)
docker run -d --restart=unless-stopped -p 8888:8080 rancher/server
我們訪問宿主機的8888端口就可以訪問了,右下角可以設置為中文顯示。默認是沒有賬號密碼的,我們可以在訪問控制里面設置賬號密碼。
創建環境
我們開發可能分為 測試、預發布、正式環境。首先需要在環境管理里面創建環境。還可以為環境指定可訪問用戶,以及相應的讀寫權限。
添加主機
比如我們創建好了一個測試環境分組,那么就可以為該分組指定服務器信息了。首先指定 rancher 地址,點擊保存。
然后指定運行 rancher-server 的地址(申明這是服務端,如果是客戶端留空即可),再將下面的 命令 復制到客戶端去執行。我們的服務端也需要像 客戶端 一樣被 rancher 管理,所以我們服務端也是要執行這個命令的。
添加完之后刷新,就可以在 “基礎架構——主機” 里面看到注冊上去的主機了(可能要幾十秒,注冊要時間)。同理也可以看到服務器里面的容器。
添加應用
添加好主機后。在 “應用” 里面我們選擇 “用戶” ,點擊添加應用。(下面是導入容器的配置,跳過不選。)
添加服務(部署容器)
redis
首先,比如我們要安裝 reids 鏡像,不知道版本號。可以在 https://hub.docker.com/ 里面搜索 redis ,然后找到 redis 鏡像,選擇 tag ,就可以看到它的各個版本號。比如我們現在需要安裝 redis:6.2.4 。可以在這里復制對應的版本號。
【指定名稱 & 端口映射】在這里就可以指定容器名稱和端口映射。等同於docker 的 --name -p 命令(填入我們剛才復制好的版本號)
【指定運行機器】
【磁盤映射】等同於docker 的 -v 命令
【啟動命令】比如 密碼 123456 redis-server --appendonly yes --requirepass 123456
創建完成過,他就會自動啟動,后續想改配置點擊升級就好。升級完還可以回滾。
rabbitmq
docker run -d --hostname rabbit_host1 --name rabbitmq1 -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=wulei --privileged=true -v /usr/local/rabbitmq/1/lib:/var/lib/rabbitmq -v /usr/local/rabbitmq/1/log:/var/log/rabbitmq rabbitmq:3.8.14-management
mysql
docker run -p 3307:3306 --name wulei_mysql -v /usr/local/docker/mysql/conf:/etc/mysql -v /usr/local/docker/mysql/logs:/var/log/mysql -v /usr/local/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=wulei -d mysql:5.7
容器遷移
我們在測試環境部署好應用所需容器后,后續上線不可能自己在部署一套,那么直接將測試環境的配置導出即可,然后在正式環境創建應用的時候,導入配置文件。
動態擴容
系統運行可能會遇到高峰時期,為了緩解單個服務的壓力,我們可以直接點擊左邊按鈕 擴/縮容。
但是這樣還是不夠智能化,我們應該希望是根據流量動態判斷是否需要闊擴容。我們可以在 “API ——> Webhooks” 里面添加接收器,可以指定 擴/縮容 的規則,然后我們就會得到一個地址,通過post請求執行這個地址,就會自動執行我們這個 擴/縮容 的規則。然后我們可以通過腳本 監控服務器壓力 或 請求量,來動態執行這個地址就好了。
。