您好,登錄后才能下訂單哦!
功能
使用 rancher-api 能帶來什么:
可以自定義 rancher-UI
可以在自有的業務系統中觸發對 rancher 的各種操作
可以定制一些自己的自動化腳本
分類
Rancher-api 目前包括兩大類:
http://<server>/v1 主要服務的 api
http://<server>/v1-catalog 分離出來的catalog api
在已經登錄 Rancher UI 的情況下,直接訪問上面的地址就可以看到 API 頁面。
語言
在實際的開發中,我們更喜歡調用 Client SDk 來使用 API,Rancher 提供了以下幾種語言的Client:
Python:gdapi-python / cattle-cli
Golang:go-rancher
Java:gdapi-java-server
認證方式
1. 使用 jwt-token
向 v1/token 發送 post 請求生成 token:
然后把 token 設置到 cookie 中,在瀏覽器端后續請求會自動帶上 token,目前 rancher UI 使用的是這種方式。
2. 使用api key (access_key & access_secret)
Api key 的生成
此處有兩種key:作用域在某個env下的env-key,和作用域在該用戶下所有env下的global-key。
這里 advanced options UI 上默認是不展開的。
生成好的 api key,配合 cattle-cli/gdapi 之類的 client 庫就可以使用。
3. 使用Basic auth方式
這種方式同樣需要api key,但是使用方式略不一樣,先對 api key 進行編碼 Base64.encode(“key: secret”)
為什么要提這種方式?
因為目前 catalog api 還不能用 client lib 直接調用,但是可以用這種方式調用。
Rancher 的高級選項
在 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/api-spec/blob/master/specification.md
其中的語義定義和 api 的組織結構等,都是值得學習的。
另外 api-v2 之前也啟動過https://github.com/rancher/v2-api,但是后來由于 GA 發布和多編排引擎的支持,這件事暫時擱置了,相信不久后會重啟 v2 的開發,V2 版本是基于Golang的。
最后提醒大家需要注意的是,v1版本的api的語義和UI上有歧義,rancher-docs 里也有提到這部分。
原文來源:Rancher Labs
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。