Rancher-API使用珠璣

功能

使用 rancher-api 能帶來什麼:java

  • 能夠自定義 rancher-UIpython

  • 能夠在自有的業務系統中觸發對 rancher 的各類操做git

  • 能夠定製一些本身的自動化腳本github

分類

Rancher-api 目前包括兩大類:docker

在已經登陸 Rancher UI 的狀況下,直接訪問上面的地址就能夠看到 API 頁面。api

語言

在實際的開發中,咱們更喜歡調用 Client SDk 來使用 API,Rancher 提供瞭如下幾種語言的Client:瀏覽器

  • Python:gdapi-python / cattle-clicookie

  • 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/ap...

其中的語義定義和 api 的組織結構等,都是值得學習的。

另外 api-v2 以前也啓動過https://github.com/rancher/v2...,可是後來因爲 GA 發佈和多編排引擎的支持,這件事暫時擱置了,相信不久後會重啓 v2 的開發,V2 版本是基於Golang的。

最後提醒你們須要注意的是,v1版本的api的語義和UI上有歧義,rancher-docs 裏也有提到這部分。

圖片描述

相關文章
相關標籤/搜索