天天看點

容器服務Open API Python SDK使用詳解環境準備建立叢集擷取叢集清單擷取叢集詳情對現有叢集進行擴容擷取叢集證書内容删除叢集總結

阿裡雲容器服務公測也有一段時間了,這期間接觸到不少使用者回報,不知道如何使用openapi進行相關的容器開發。這裡我們就準備一篇關于如何使用容器服務open api進行開發的教程,來講解容器服務目前已公開的api接口。這裡我們不打算自行實作open api,而采用目前已有的sdk來說明,有興趣的朋友,也可以嘗試在api的接觸上自行封裝實作sdk。

在本教程過程中,如未特别說明,使用的python 版本為2.7.10,作業系統為ubuntu 14.04 64位

首先我們需要安裝sdk的核心庫以及容器服務

完成準備工作以後,接下來,我們就不如正題了,來講解第一個api,建立叢集。具體關于api的參數細節,可以參考文檔

示例代碼如下:

代碼說明:

由于叢集建立是異步進行的,是以當服務端接收到用戶端的請求以後,就會傳回http code 202,同時傳回一個json串,裡邊包含cluster_id和request_id。

當傳回的http code 不為202的時候,則會傳回一個json串,裡邊包含了code,message,requestid等字段

當叢集建立完成以後,我們可以通過控制台或者api查詢賬号下的叢集資訊。在擷取叢集清單的api中也可以指定叢集的名稱進行精确比對。詳解涉及細節請參考查詢叢集清單文檔

req.set_name('<叢集名稱>') 這行代碼可以不加,如果忽略的話,則會顯示該使用者下所有的叢集執行個體清單;若添加,則僅精确比對該叢集名稱的叢集執行個體

status == 200 的時候表示伺服器傳回成功,resp中包含叢集相關的字段

當status != 200的時候,則會傳回一個失敗的json串,裡邊包含了code,message,requestid等字段

在很多場景下,我們需要擷取某個叢集的詳細資訊,此時則可以通過叢集詳情的api來實作,通過叢集的id來查詢叢集的詳情,具體可以參考擷取叢集詳情文檔

在叢集使用的過程中,由于業務的需要,需要增加或減少(公測期間暫不支援)叢集的節點數量,來實作資源使用率的最大化。具體可以參考叢集擴容文檔

示例代碼:

叢集更新操作是異步進行的,當參數校驗均通過的情況下,服務端會傳回status == 202

關于size參數,為要更新到的最終節點數量。例如之前叢集有1個節點,此時size的取值範圍為[2,10]。目前支援一個叢集最多一個節點

經過前面幾節的介紹,我們有了很好的叢集控制能力。但是我們還缺少一個很重要的工具,用它來打通我們和容器間的通信能力,那就是叢集證書。在叢集建立成功以後,服務端會自動生成和使用者叢集相關的證書,以供用來下載下傳來使用。 具體可以參考擷取叢集證書内容文檔

當請求傳回的status == 200的時候,響應結果裡會傳回叢集證書的内容(json串)

其中的cert是使用者公鑰證書内容

其中的key是使用者私鑰證書内容

其中的ca是認證機構證書内容

前邊介紹了那麼多關于叢集操作的内容。本節來介紹最後一個關于叢集的操作。也是很重要的一個。當叢集不在使用的時候,為了避免産生不必要的費用,我們需要及時清理掉不用的叢集。具體可以參考删除叢集文檔

注意:叢集的删除是不可逆的,一旦删除所有資料将無法恢複。務必在删除叢集前進行資料備份以避免造成不必要的損失。

當status == 202的時候表明叢集的删除請求被成功接受,服務端将發起删除操作

通過以上的内容,我們把容器服務的open api 操作進行了一遍詳細的介紹。通過以上的内容,相信大家可以快速的使用容器服務的api進行相應的開發。