Rancher 安裝和使用介紹 - Docker Compose
文章目錄
- Rancher 安裝和使用介紹 - Docker Compose
- 1. Rancher 簡介
- 1.1 什么是 Rancher
- 1.2 Rancher 核心功能
- 1.3 Rancher 架構
- 2. 安裝前準備
- 2.1 系統要求
- 2.2 環境準備
- 3. 使用 Docker Compose 安裝 Rancher
- 3.1 創建 Docker Compose 文件
- 3.2 啟動 Rancher 服務
- 3.3 驗證安裝
- 4. 初始配置
- 4.1 訪問 Rancher UI
- 4.2 創建第一個集群
- 5. Rancher 基本使用
- 5.1 集群管理
- 5.2 項目管理
- 5.3 應用部署
- 5.4 應用商店使用
- 6. 高級功能配置
- 6.1 配置認證
- 6.2 設置告警
- 6.3 備份與恢復
- 7. 維護與升級
- 7.1 日常維護
- 7.2 升級 Rancher
- 8. 故障排除
- 8.1 常見問題
- 8.2 獲取幫助
- 9. 安全最佳實踐
- 10. 附錄
- 10.1 常用命令
- 10.2 參考文檔
1. Rancher 簡介
1.1 什么是 Rancher
Rancher 是一個開源的容器管理平臺,為企業提供了在生產環境中運行 Kubernetes 和 Docker 的完整解決方案。它簡化了容器化基礎設施的部署、管理和運維工作,使組織能夠輕松地采用容器技術。
1.2 Rancher 核心功能
- 多集群管理:集中管理多個 Kubernetes 集群,無論它們位于何處(本地、云端或邊緣)
- 應用商店:提供預構建的應用模板,簡化應用部署
- 訪問控制:基于角色的訪問控制(RBAC)確保安全
- 監控與告警:內置監控和日志功能
- CI/CD 集成:與流行的 CI/CD 工具集成
- 鏡像倉庫管理:管理私有和公共鏡像倉庫
1.3 Rancher 架構
Rancher 采用客戶端-服務器架構:
- Rancher Server:提供用戶界面和 API
- 下游集群:由 Rancher 管理的 Kubernetes 集群
- Rancher Agent:安裝在下游集群中與 Server 通信
2. 安裝前準備
2.1 系統要求
- 操作系統:Ubuntu 18.04/20.04, CentOS 7/8, RHEL 7/8
- Docker 版本:19.03.x 或更高
- Docker Compose:1.25.0 或更高
- 硬件要求:
- CPU:4 核或更多
- 內存:8GB 或更多
- 磁盤:50GB 可用空間
2.2 環境準備
- 安裝 Docker:
curl -fsSL https://get.docker.com | sh
sudo systemctl enable --now docker
- 安裝 Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
- 驗證安裝:
docker --version
docker-compose --version
3. 使用 Docker Compose 安裝 Rancher
3.1 創建 Docker Compose 文件
創建 docker-compose.yml
文件:
version: '3'services:rancher: image: rancher/rancher:latestcontainer_name: rancherrestart: unless-stoppedports:- "80:80"- "443:443"volumes:- ./rancher_data:/var/lib/rancher- ./auditlog:/var/log/auditlogenvironment:- TZ=Asia/Shanghaiprivileged: true
3.2 啟動 Rancher 服務
docker-compose up -d
3.3 驗證安裝
檢查容器狀態:
docker-compose ps
查看日志:
docker-compose logs -f rancher
4. 初始配置
4.1 訪問 Rancher UI
- 打開瀏覽器訪問
https://<your-server-ip>
- 首次訪問會提示設置管理員密碼
- 設置 Rancher Server URL(建議使用域名)
4.2 創建第一個集群
- 登錄后點擊"添加集群"
- 選擇"自定義"選項
- 輸入集群名稱(如"dev-cluster")
- 配置 Kubernetes 選項(通常默認即可)
- 復制生成的命令在目標主機上執行以添加節點
5. Rancher 基本使用
5.1 集群管理
- 添加集群:支持導入現有集群或創建新集群
- 集群監控:查看集群健康狀況和資源使用情況
- 集群設置:配置集群級別的參數和功能
5.2 項目管理
- 創建項目(Project)
- 配置命名空間(Namespace)
- 設置資源配額
5.3 應用部署
-
通過 UI 部署:
- 導航到目標項目
- 點擊"部署"
- 填寫應用信息(名稱、鏡像、端口等)
- 配置資源限制和環境變量
-
通過 YAML 部署:
- 使用"導入 YAML"功能
- 粘貼 Kubernetes 清單文件
5.4 應用商店使用
- 導航到"應用商店"
- 瀏覽或搜索所需應用
- 點擊"啟動"并配置參數
- 部署應用
6. 高級功能配置
6.1 配置認證
- 本地認證:默認方式
- AD/LDAP 集成:
- 導航到"安全"->“認證”
- 選擇 AD/LDAP
- 配置服務器信息和綁定參數
6.2 設置告警
- 導航到"集群"->“工具”->“監控”
- 配置告警接收人
- 設置告警規則
6.3 備份與恢復
- 創建 Rancher 備份:
docker stop rancher
docker create --volumes-from rancher --name rancher-data rancher/rancher:latest
docker run --volumes-from rancher-data -v $PWD:/backup busybox tar zcvf /backup/rancher-data-backup-$(date +"%Y-%m-%d").tar.gz /var/lib/rancher
docker start rancher
- 恢復 Rancher:
docker stop rancher
docker run --volumes-from rancher-data -v $PWD:/backup busybox sh -c "rm -rf /var/lib/rancher/* && tar zxvf /backup/rancher-data-backup-xxx.tar.gz"
docker start rancher
7. 維護與升級
7.1 日常維護
- 定期檢查容器狀態
- 監控資源使用情況
- 清理無用鏡像和容器
7.2 升級 Rancher
- 備份數據(參考 6.3)
- 修改
docker-compose.yml
中的鏡像版本 - 執行更新:
docker-compose down
docker-compose pull
docker-compose up -d
8. 故障排除
8.1 常見問題
-
無法訪問 UI:
- 檢查容器是否運行:
docker-compose ps
- 檢查端口是否開放:
netstat -tulnp | grep 443
- 查看日志:
docker-compose logs rancher
- 檢查容器是否運行:
-
節點無法加入集群:
- 檢查網絡連通性
- 驗證防火墻設置
- 檢查節點上的 Docker 和 kubelet 服務狀態
-
證書問題:
- 考慮使用 Let’s Encrypt 或自定義證書
- 更新證書后重啟 Rancher 容器
8.2 獲取幫助
- 官方文檔:https://rancher.com/docs/
- GitHub 倉庫:https://github.com/rancher/rancher
- Rancher 社區論壇:https://forums.rancher.com/
9. 安全最佳實踐
- 使用 HTTPS:始終通過 HTTPS 訪問 Rancher
- 定期備份:實施定期備份策略
- 限制訪問:配置網絡 ACL 限制訪問 IP
- 更新策略:保持 Rancher 和下游集群更新
- 審計日志:啟用并定期檢查審計日志
10. 附錄
10.1 常用命令
# 查看 Rancher 版本
docker exec rancher kubectl version# 獲取集群信息
docker exec rancher kubectl cluster-info# 查看節點狀態
docker exec rancher kubectl get nodes
10.2 參考文檔
- Rancher 官方文檔:https://rancher.com/docs/
- Docker Compose 文檔:https://docs.docker.com/compose/
- Kubernetes 文檔:https://kubernetes.io/docs/home/