Rancher企業級容器管理平臺

Rancher企業級容器管理平臺node

1.安裝Rancher

Rancher Server當前版本中有2個不一樣的標籤。對於每個主要的release標籤,咱們都會提供對應版本的文檔。mysql

  • rancher/server:latest 此標籤是最新一次開發的構建版本。這些構建已經被CI框架自動驗證測試。但這些release並不表明能夠在生產環境部署。
  • rancher/server:stable 此標籤最新一個穩定的release構建。這個標籤表明推薦在生產環境中使用的版本。

PS:請不要使用任何帶有 rc{n} 前綴的release。這些構建都是Rancher團隊的測試構建。sql

docker pull rancher/server:v1.6.14

使用一個簡單的命令就能夠啓動一個單實例的Rancher。docker

> docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:v1.6.14

關閉防火牆(後續增長節點須要和主節點端口通信須要關閉防火牆)數據庫

> systemctl stop firewalld.service    # 關閉firewall > systemctl disable firewalld.service # 禁止firewall開機啓動 

等待容器啓動訪問對應IP的8080端口的地址能夠看到以下界面bash

經過右下角能夠編輯語言切換成簡體中文 服務器

2 外掛數據庫目錄(按需)

在Rancher Server容器中,若是你想使用一個主機上的捲來持久化數據庫,以下命令能夠在啓動Rancher時掛載MySQL的數據卷。app

> docker run -d -v /usr/local/rancher_mysql:/var/lib/mysql --restart=unless-stopped -p 8080:8080 rancher/server:stable 

使用這條命令,數據庫就會持久化在主機上。若是你有一個現有的Rancher Server容器而且想掛在MySQL的數據卷,能夠參考官方的Rancher升級介紹。負載均衡

Rancher使用外部數據庫

除了使用內部的數據庫,你能夠啓動一個Rancher Server並使用一個外部的數據庫。啓動命令與以前同樣,但添加了一些額外的參數去說明如何鏈接你的外部數據庫。框架

注意:在你的外部數據庫中,只須要提早建立數據庫名和數據庫用戶。Rancher會自動建立Rancher所須要的數據庫表。

如下是建立數據庫和數據庫用戶的SQL命令例子

> CREATE DATABASE IF NOT EXISTS cattle COLLATE = 'utf8_general_ci' CHARACTER SET = 'utf8'; > GRANT ALL ON cattle.* TO 'cattle'@'%' IDENTIFIED BY 'cattle'; > GRANT ALL ON cattle.* TO 'cattle'@'localhost' IDENTIFIED BY 'cattle'; 

啓動一個Rancher鏈接一個外部數據庫,你須要在啓動容器的命令中添加額外參數。

docker run -d --restart=unless-stopped -p 8080:8080 rancher/server \
    --db-host myhost.example.com --db-port 3306 --db-user username --db-pass password --db-name cattle

3 權限管理

機制的小夥伴都注意到瞭如今登陸到Rancher不須要任何用戶名密碼,Rancher的用戶體系須要本身開啓

能夠選擇不少彙總認證的方式

最方便的方式就是開啓本地帳號認證

填寫好相關用戶名密碼以後開啓本地驗證下次登陸就須要驗證用戶了,而且在後續的管理中也能進行權限控制

4 Rancher多節點HA部署

在高可用(HA)的模式下運行Rancher Server與使用外部數據庫運行Rancher Server同樣簡單,須要暴露一個額外的端口,添加額外的參數到啓動命令中,而且運行一個外部的負載均衡就能夠了。

HA部署需求

  • HA 節點:
    • 全部安裝有支持的Docker版本的現代Linux發行版 RancherOS, Ubuntu, RHEL/CentOS 7 都是通過嚴格的測試。
      • 對於 RHEL/CentOS, 默認的 storage driver, 例如 devicemapper using loopback, 並不被Docker推薦。 請參考Docker的文檔去修改使用其餘的storage driver。
      • 對於 RHEL/CentOS, 若是你想使用 SELinux, 你須要 安裝額外的 SELinux 組件.
    • 9345, 8080 端口須要在各個節點之間可以互相訪問
    • 1GB內存
  • MySQL數據庫
    • 至少 1 GB內存
    • 每一個Rancher Server節點須要50個鏈接 (例如:3個節點的Rancher則須要至少150個鏈接)
    • MYSQL配置要求
      • 選項1: 用默認COMPACT選項運行Antelope
      • 選項2: 運行MySQL 5.7,使用Barracuda。默認選項ROW_FORMAT需設置成Dynamic
  • 外部負載均衡服務器
    • 負載均衡服務器須要能訪問Rancher Server節點的 8080 端口

注意:目前Rancher中並不支持Docker for Mac

5.大規模部署建議

  • 每個Rancher Server節點須要有4 GB 或者8 GB的堆空間,意味着須要8 GB或者16 GB內存
  • MySQL數據庫須要有高性能磁盤
  • 對於一個完整的HA,建議使用一個有副本的Mysql數據庫。另外一種選擇則是使用Galera集羣並強制寫入一個MySQL節點。

在每一個須要加入Rancher Server HA集羣的節點上,運行如下命令:

# Launch on each node in your HA cluster > docker run -d --restart=unless-stopped -p 8080:8080 -p 9345:9345 rancher/server \ --db-host myhost.example.com --db-port 3306 --db-user username --db-pass password --db-name cattle \ --advertise-address <IP_of_the_Node> 

在每一個節點上,<IP_of_the_Node> 須要在每一個節點上惟一,由於這個IP會被添加到HA的設置中。 若是你修改了 -p 8080:8080 並在host上暴露了一個不同的端口,你須要添加 --advertise-http-port <host_port> 參數到命令中。

注意:你可使用 docker run rancher/server --help 得到命令的幫助信息

HA模式下的RANCHER SERVER節點

若是你的Rancher Server節點上的IP修改了,你的節點將再也不存在於Rancher HA集羣中。你必須中止在--advertise-address配置了不正確IP的Rancher Server容器並啓動一個使用正確IP地址的Rancher Server的容器。

相關文章
相關標籤/搜索