溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Rancher-API使用珠璣

發(fā)布時間:2020-07-08 02:05:05 來源:網(wǎng)絡(luò) 閱讀:756 作者:RancherLabs 欄目:網(wǎng)絡(luò)安全

功能


使用 rancher-api 能帶來什么:


  • 可以自定義 rancher-UI

  • 可以在自有的業(yè)務(wù)系統(tǒng)中觸發(fā)對 rancher 的各種操作

  • 可以定制一些自己的自動化腳本


分類


Rancher-api 目前包括兩大類:


  • http://<server>/v1 主要服務(wù)的 api

  • http://<server>/v1-catalog 分離出來的catalog api


在已經(jīng)登錄 Rancher UI 的情況下,直接訪問上面的地址就可以看到 API 頁面。


語言


在實際的開發(fā)中,我們更喜歡調(diào)用 Client SDk 來使用 API,Rancher 提供了以下幾種語言的Client:


  • Python:gdapi-python / cattle-cli

  • Golang:go-rancher

  • Java:gdapi-java-server


認(rèn)證方式


1. 使用 jwt-token


向 v1/token 發(fā)送 post 請求生成 token: 


Rancher-API使用珠璣


然后把 token 設(shè)置到 cookie 中,在瀏覽器端后續(xù)請求會自動帶上 token,目前 rancher UI 使用的是這種方式。


Rancher-API使用珠璣


2. 使用api key (access_key & access_secret)


Api key 的生成


此處有兩種key:作用域在某個env下的env-key,和作用域在該用戶下所有env下的global-key。


Rancher-API使用珠璣


這里 advanced options UI 上默認(rèn)是不展開的。


生成好的 api key,配合 cattle-cli/gdapi 之類的 client 庫就可以使用。


Rancher-API使用珠璣


3. 使用Basic auth方式


這種方式同樣需要api key,但是使用方式略不一樣,先對 api key 進(jìn)行編碼 Base64.encode(“key: secret”) 


Rancher-API使用珠璣


為什么要提這種方式?


因為目前 catalog api 還不能用 client lib 直接調(diào)用,但是可以用這種方式調(diào)用。 


Rancher 的高級選項


在 V1/setting 下面,有很多可配置的高級選項,可以進(jìn)行手動編輯。


可以修改 jwt token 的有效時間,默認(rèn)是 16 小時內(nèi) token 有效。 


Rancher-API使用珠璣


Auditlog 是 Rancher 審計日志,一般頻繁操作 Rancher 會導(dǎo)致 Auditlog 激增,Rancher 提供了以周期性的 purge 機制,可以根據(jù)自己數(shù)據(jù)庫容量調(diào)整這個周期。 


Rancher-API使用珠璣


Rancher-compose 的各種下載地址,尤其是在國內(nèi)可以把這個改成自己的地址,方便下載。


Rancher-API使用珠璣


Rancher 私有網(wǎng)絡(luò)的 cidr 也可以修改 :


Rancher-API使用珠璣


Rancher 目前兼容 docker1.10.3,所以 Rancher 提供了一個安裝該版本的 shell 腳本,這個腳本會在 Add Host 使用其他 driver 時用到,我們可以把里面的內(nèi)容源指定到國內(nèi),提高 dockerengine 的安裝速度,從而快速部署 Host。 


Rancher-API使用珠璣

 

v1/settings 的高級功能等待大家細(xì)細(xì)挖掘,最后 Rancher-api有一個說明文檔可以看這里:

https://github.com/rancher/api-spec/blob/master/specification.md


其中的語義定義和 api 的組織結(jié)構(gòu)等,都是值得學(xué)習(xí)的。


另外 api-v2 之前也啟動過https://github.com/rancher/v2-api,但是后來由于 GA 發(fā)布和多編排引擎的支持,這件事暫時擱置了,相信不久后會重啟 v2 的開發(fā),V2 版本是基于Golang的。


最后提醒大家需要注意的是,v1版本的api的語義和UI上有歧義,rancher-docs 里也有提到這部分。 

 

Rancher-API使用珠璣


原文來源:Rancher Labs


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI