還在手搓 K8s 離線安裝包?你該升級裝備了!
對於運維和開發工程師來説,離線環境部署 Kubernetes往往是一場噩夢。
當你興致勃勃準備大幹一場時,現實通常是這樣的:
- 鏡像缺失: ImagePullBackOff 成了屏幕上最常見的報錯。
- 配置繁瑣: 證書、ETCD、網絡插件……稍微錯一個參數,集羣就起不來。
- 不僅是K8s:裝好了 K8s 只是第一步,還得裝監控、裝網關、裝管理面板……
有沒有一種工具,能像在線安裝一樣絲滑,把 K8s 集羣和管理平台一次性端進離線機房?
今天,我們要向大家推薦一款神器 [ROI (Rainbond Offline Installer)]
什麼是 ROI?
ROI 是 Rainbond 團隊專為完全離線環境打造的一站式部署工具。
它的目標很簡單:讓離線環境下的雲原生平台交付,變得像 apt-get install 一樣簡單。
無論你是需要在無網的物理機房交付項目,還是在很多安全限制的內網做 POC,ROI 都能讓你事半功倍。
1. 真正的全棧離線交付
ROI 不止安裝 K8s。它提供了一個包含所有依賴的大禮包。
- 自動 OS 調優: 內核參數、防火牆、Swap……ROI 自動幫你按最佳實踐配置好。
- 內置 K8s (RKE2): 基於輕量級、高安全性的 RKE2 發行版,符合生產標準。
- 自動存儲配置: 自動配置 LVM 和 NFS,不再為持久化存儲頭疼。
- 內置MySQL:集羣模式下默認部署 MySQL 主從集羣,為 Rainbond 集羣提供高可用的 MySQL。
- 預加載鏡像: 所有需要的容器鏡像都已打包,無需配置任何 Registry 代理。
2. 極簡操作,零門檻上手
忘掉那些幾百行的 Ansible 腳本吧。ROI 的操作邏輯簡單到令人髮指:
- 下載:一條命令把所有離線包下載到本地。
- 分發:自動將包分發到集羣所有節點。
- 安裝:一個命令
roi up,集羣就好了。
不僅僅是 K8s,更是 Rainbond
很多朋友為了離線裝 K8s 費盡周折,但裝好 K8s 後,如何讓不懂 K8s 的開發人員也能用起來? 這才是更大的挑戰。
使用 ROI,你在獲得一個標準 K8s 集羣的同時,還免費獲得了一套強大的雲原生應用管理平台 —— Rainbond。
Rainbond 能為你做什麼?
- 應用視角的管理: 不需要寫 Yaml,不需要懂 Service/Ingress,直接通過源碼或鏡像就能部署應用。
- 應用市場: 像手機裝 App 一樣安裝 MySQL、Redis、GitLab 等中間件。
- ......
ROI + Rainbond,不僅解決了怎麼裝的問題,更解決了怎麼用的問題。
快速上手演示
眼見為實,讓我們看看用 ROI 部署有多簡單。
第一步:在有網環境下載離線包
# 下載 ROI 工具
curl -o roi https://get.rainbond.com/roi/roi-amd64 && chmod +x roi
# 一鍵下載所有離線資源
./roi download
第二步:將文件拷貝到離線服務器
拿到 offline-packages 目錄後,通過 U 盤或光盤拷貝到內網服務器。
第三步:單機一鍵安裝(最簡模式)
單機部署下默認會部署 NFS Server,你需要手動安裝,如 yum -y install nfs-utils。
TODO:未來會支持自動部署
# 無需任何配置,直接起飛
./roi up
第四步:集羣模式安裝(生產模式)
只需編寫一個簡單的 cluster.yaml:
hosts:
- name: node-1
address: 172.16.0.134
internalAddress: 172.16.0.134
user: root
password: root
- name: node-2
address: 172.16.0.135
internalAddress: 172.16.0.135
user: root
password: root
- name: node-3
address: 172.16.0.136
internalAddress: 172.16.0.136
user: root
password: root
# Role assignment
roleGroups:
etcd: [node-1, node-2, node-3]
master: [node-1, node-2]
worker: [node-1, node-2, node-3]
nfs-server: [node-1]
rbd-gateway: [node-2, node-3]
rbd-chaos: [node-2, node-3]
# Storage configuration
storage:
nfs:
enabled: true
sharePath: /nfs-data/k8s
storageClass:
enabled: true
# Database configuration - MySQL with master-slave replication
database:
mysql:
enabled: true
masterPassword: "RootPassword123!"
replicationPassword: "ReplPassword123!"
# Rainbond configuration
rainbond:
version: v6.4.0-release
然後執行:
./roi up -f cluster.yaml
✅ 安裝完成!
終端會直接輸出訪問地址。打開瀏覽器,你不僅擁有了一個 Ready 狀態的 K8s 集羣,更擁有了一個功能完備的 Rainbond 控制枱。
離線交付不再難,用 ROI 重新定義你的部署效率。