文章來源Senraの小窩,Rainbond團隊感謝支持!html
和以前介紹的Crane不一樣,來自好雨雲(GoodRain)的雲幫(CloudHelp目前已更名RainBond)是基於K8S的,說實話,感受比Crane的開源態度更好點,看得出來是認真在弄的。Crane我發的issue至今無人回覆,感受應該是涼了node
關於雲幫的定位,能夠參考下官方的FAQSgit
Q: 雲幫開源版的定位是什麼? A: 中小企業CI/CD平臺,生產環境的應用管理平臺。雲幫不是拉近開發和運維的距離,而是讓開發和運維作他們原本應該作的事情。開發對程序和業務負責,運維對資源負責,雲幫做爲開發和運維的助手。 Q: 發佈開源版的目的是什麼? A: 但願能有更多的企業和我的愛好者享受到容器及雲計算技術所帶來的高效與便利。經過社區版讓廣大的用戶瞭解雲幫產品的設計理念。 Q: 開源版發展規劃 A: 雲幫是個平臺級的產品,即便是開源版咱們首要關注的是穩定性,產品設計會本着 功能簡潔夠用 的原則,下降使用門檻,讓用戶以最簡單的方式來體驗容器技術帶來的紅利。 Q: 雲幫企業版是否有生產環境運行的案例?開源版是否是隻是演示和測試的「玩具」? A: 說到這個問題,我想須要明確一下你們判斷一項技術或產品在「生產環境」 運行的標準是什麼。只有對這個標準或定義明確了,討論這個問題纔有意義。我們從穩定性、可維護性、擴展性、支持服務四個方面來講明: 1. 穩定性:雲幫公有云實際上就是咱們在公有IaaS平臺之上運行的一套雲幫企業版。雲幫公有云已上線運營超過700天,沒有發生過一次因底層程序而形成的事故,SLA可達99.999% ,開源版基礎模塊的核心代碼與企業版 100%一致。 2. 可維護性:雲幫基礎技術單元是Docker,服務編排和調度使用kubernetes,這兩款軟件是目前關注度最高的開源項目,文檔和技術社區都很是成熟。雲幫的其餘模塊咱們都採用Docker鏡像的方式進行打包,利用kubernetes內部的高可用機制保證高可用。所以平臺的維護成本很是低,再加上好雨技術團隊多年的平臺維護經驗,雲幫的部署、監控體系都很是的完善。 3. 擴展性:雲幫平臺雲生支持分佈式部署,藉助kubernetes的容器調度機制,能夠數秒鐘啓停上千個容器。平臺容器主機也支持動態伸縮,能夠在3分鐘內上線新的容器主機。 4. 服務支持:針對開源版咱們提供及時的產品更新服務,平臺bug,安全補丁會按照開發進度第一時間修復。提供社區、微信/QQ羣在線支持,並提供完備的文檔支持。 另外雲幫企業版目前主要是私有化項目,已超過100家企業部署了企業版,如: zdoo.com 、姚記彩票網等。雲幫社區版也有很多中小企業在生產環境中運行。
不說其餘的,可是能夠看出雲幫是會持續維護的,起碼不會忽然涼涼,不是爲了開源而開源的玩具,因此若是須要一個基於K8s的管理平臺,雲幫或許也是個選擇。github
準備工做直接看官方文檔吧 爲啥會有3.4和3.5呢,由於我這個教程放了一陣子,而後發現官方發佈了3.5...那麼我就介紹3.5好了,畢竟3.4實驗性質更多一點docker
3.5新版 https://www.rainbond.com/docs/stable/getting-started/pre-install.html 3.4舊版 https://www.kancloud.cn/good-rain/cloudhelp-community-install/198497安全
總結一下:bash
# 安裝雲幫 bash <(curl -s http://repo.goodrain.com/install/3.5/start.sh)
基本上算是一鍵安裝了(若是你環境沒問題的話)服務器
能夠看出來這個gr-docker-engine彷佛是好雨雲基於Docker 1.12的修改版,具體修改了啥就不清楚了,也多是單純的從新封裝.微信
Hmm,這個安裝比較極其漫長,請耐心等待,而且建議掛個screen防止斷線cookie
PS.若是發生長時間卡住不動的狀況,請參照如下官方解決方案
檢查當前任務是否生成相關日誌文件,若未生成,則能夠新開一個終端,執行systemctl restart rainbond-node 如重啓node後以及未執行,使用`grctl tasks get <任務>` 檢查依賴任務是否執行成功,若未成功,則檢查依賴任務執行日誌
完成後訪問顯示的URL,也就是http://服務器IP:7070/
第一次訪問請註冊(默認第一個註冊爲管理員)
註冊完自動登陸,界面仍是挺好看的
添加計算節點的命令以下,這個是在管理節點上運行的,只要確保你爲目標機器配置了SSH免密登錄(建議測試下可以在管理節點上直接登陸過去),而後直接運行就OK了
# 添加計算節點到node集羣裏 grctl node add -i <計算節點內網ip> --Role compute # 計算節點uid uuid=$(grctl node list | grep <計算節點內網ip> | awk '{print $2}') # 安裝計算節點服務 grctl install compute --nodes $uuid # 上線計算節點服務 grctl node up $uuid
雲幫的使用花樣仍是比較多的,完整的請查看官方文檔——>傳送門
我這邊只介紹基礎的
這個是直接從官方的示例部署的,須要知道的是,每一個雲幫都會由好雨雲分配一個二級域名,泛解析到你的節點上,因此訪問用的是那個域名,彷佛是能夠經過修改/etc/goodrain/console.py中的WILD_DOMAIN來變動,不過不肯定可行性。
另外的從Dockerfile啊,DockerCompose啥的建立應用就不提了,本身去玩玩吧。這個在我看來沒有給你過多的選項,面板只是做爲應用管理的存在,(服務器啥的)設置啥的全都是幫你固定的(自動配置),也許企業版有更多的設置,可是在我看來彷佛是夠用了,不用你去操心和折騰也許正是團隊或者公司須要的(?)
一、 修改文件描述符限制
vi /etc/security/limits.conf #增長以下內容 root soft nofile 102400 root hard nofile 102400 * soft nofile 102400 * hard nofile 102400
若是要生效須要重啓
二、 內核參數調優
vi /etc/sysctl.conf #增長以下內容 net.ipv4.neigh.default.gc_stale_time=120 net.ipv4.conf.all.rp_filter=0 net.ipv4.conf.default.rp_filter=0 net.ipv4.conf.default.arp_announce=2 net.ipv4.conf.all.arp_announce=2 net.ipv4.tcp_max_tw_buckets=5000 net.ipv4.tcp_syncookies=1 net.ipv4.tcp_max_syn_backlog=1024 net.ipv4.tcp_synack_retries=2 net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.default.disable_ipv6=1 net.ipv6.conf.lo.disable_ipv6=1 net.ipv4.conf.lo.arp_announce=2 vm.swappiness=10 vm.vfs_cache_pressure=50 vm.overcommit_memory=1 net.core.somaxconn = 65535 net.netfilter.nf_conntrack_max = 655350 net.netfilter.nf_conntrack_tcp_timeout_established = 1200 #使修改立刻生效 sysctl -p
三、 增長NFS掛載服務併發數
vi /etc/sysctl.conf #增長以下內容 sunrpc.tcp_slot_table_entries = 128 #使修改立刻生效 sysctl -p
四、 開啓容器swap使用限制
若是在啓動容器時只指定-m而不指定--memory-swap,那麼--memory-swap默認爲-m的兩倍,好比
docker run -it -m 200M image
表示容器最多使用200M的物理內存和200M的swap。 若是提示以下錯誤,多是由於主機上默認不啓用cgroup來限制swap分區
WARNING : Your kernel does not support swap limit capabilities, memory limited without swap.
可使用以下命令來解決
echo GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1" >> /etc/default/grub grub2-mkconfig -o /boot/grub2/grub.cfg >/dev/stdout 2>&1
舊版文檔: https://www.kancloud.cn/good-rain/cloudhelp-community-install/198880 新版文檔: https://www.rainbond.com/docs/stable/getting-started/pre-install.html
-END-
進一步瞭解Rainbond v3.5.1