使用 rancher-api 能帶來什麼:java
能夠自定義 rancher-UIpython
能夠在自有的業務系統中觸發對 rancher 的各類操做git
能夠定製一些本身的自動化腳本github
Rancher-api 目前包括兩大類:docker
http://<server>/v1 主要服務的 apishell
http://<server>/v1-catalog 分離出來的catalog api數據庫
在已經登陸 Rancher UI 的狀況下,直接訪問上面的地址就能夠看到 API 頁面。api
在實際的開發中,咱們更喜歡調用 Client SDk 來使用 API,Rancher 提供瞭如下幾種語言的Client:瀏覽器
Python:gdapi-python / cattle-clicookie
Golang:go-rancher
Java:gdapi-java-server
向 v1/token 發送 post 請求生成 token:
而後把 token 設置到 cookie 中,在瀏覽器端後續請求會自動帶上 token,目前 rancher UI 使用的是這種方式。
Api key 的生成
此處有兩種key:做用域在某個env下的env-key,和做用域在該用戶下全部env下的global-key。
這裏 advanced options UI 上默認是不展開的。
生成好的 api key,配合 cattle-cli/gdapi 之類的 client 庫就可使用。
這種方式一樣須要api key,可是使用方式略不同,先對 api key 進行編碼 Base64.encode(「key: secret」)
爲何要提這種方式?
由於目前 catalog api 還不能用 client lib 直接調用,可是能夠用這種方式調用。
在 V1/setting 下面,有不少可配置的高級選項,能夠進行手動編輯。
能夠修改 jwt token 的有效時間,默認是 16 小時內 token 有效。
Auditlog 是 Rancher 審計日誌,通常頻繁操做 Rancher 會致使 Auditlog 激增,Rancher 提供了以週期性的 purge 機制,能夠根據本身數據庫容量調整這個週期。
Rancher-compose 的各類下載地址,尤爲是在國內能夠把這個改爲本身的地址,方便下載。
Rancher 私有網絡的 cidr 也能夠修改 :
Rancher 目前兼容 docker1.10.3,因此 Rancher 提供了一個安裝該版本的 shell 腳本,這個腳本會在 Add Host 使用其餘 driver 時用到,咱們能夠把裏面的內容源指定到國內,提升 dockerengine 的安裝速度,從而快速部署 Host。
v1/settings 的高級功能等待你們細細挖掘,最後 Rancher-api有一個說明文檔能夠看這裏:
https://github.com/rancher/ap...
其中的語義定義和 api 的組織結構等,都是值得學習的。
另外 api-v2 以前也啓動過https://github.com/rancher/v2...,可是後來因爲 GA 發佈和多編排引擎的支持,這件事暫時擱置了,相信不久後會重啓 v2 的開發,V2 版本是基於Golang的。
最後提醒你們須要注意的是,v1版本的api的語義和UI上有歧義,rancher-docs 裏也有提到這部分。