flynn 是一個不錯的開源paas 平台,基於git 以及容器技術,開發模型與
heroku 基本一樣,同時構建方式就是基於heroku 的buildpacks
安裝
官方文檔提示說明是ubuntu 操作系統16 以及14 ,所以安裝就試用ubuntu了
- shell
sudo bash < <(curl -fsSL https://dl.flynn.io/install-flynn)
- 效果
比較漫長,等待
- 安裝的組件
Install Flynn’s runtime dependencies
Download, verify and install the flynn-host binary
Download and verify filesystem images for each of the Flynn components
Install an Upstart job for controlling the flynn-host daemon
初始化集群
測試使用單台機器
- 初始化
sudo flynn-host init --init-discovery
- 啟動
sudo systemctl start flynn-host
sudo systemctl status flynn-host
- bootstrap 系統
export CLUSTER_DOMAIN=demo.localflynn.com
flynn-host bootstrap --discovery https://discovery.flynn.io/clusters/410a77eb-63c6-495c-86df-c12aeef9e7f4
備注:
需要先配置集群dns CLUSTER_DOMAIN=demo.localflynn.com
- 檢查
因為使用了flannel 確保有flanel 以及flunnbr0 的網絡接口,如下:
使用(官方簡單demo)
- 添加集群
具體參考自己的實際地址
flynn cluster add -p wshSAUMXH/TWU0WmmivA1IWlo+wLFtxY9IBArpwopW0= default demo.localflynn.com d0e2cd73215044088745f68da8a6c165
備注:
可能需要添加本地host
nodeip demo.localflynn.com
nodeip controller.demo.localflynn.com
nodeip git.demo.localflynn.com
- clone 代碼
git clone https://github.com/flynn-examples/go-flynn-example
- 創建app
cd go-flynn-example
flynn create example
- git remote
git remote -v
- apps
- route
- 添加pg 依賴
flynn resource add postgres
- 查看環境變量
flynn env
- git push (git push 會觸發構建以及部署)
git push flynn master
- 訪問
curl -i example.demo.localflynn.com
說明
flynn 的部署以及使用還是比較簡單的,和heroku 很相近,基本就是開源版本的heroku
dashboard 界面
需要配置可信列表
- 界面
- 登陸token
flynn -a dashboard env get LOGIN_TOKEN
參考資料
https://flynn.io/docs/installation/manual
https://github.com/flynn/flynn
https://flynn.io/docs/basics