kubernetes實踐之十九:API概述

百聯達發表於2018-04-19
一:體系結構


二:說明

Kubernetes API是叢集系統中的重要組成部分,Kubernetes中各種資源(物件)的資料通過該API介面被提交到後端的持久化儲存(etcd)中,Kubernetes叢集中的各部件之間通過該API介面實現解耦合,同時Kubernetes叢集中一個重要且便捷的管理工具kubectl也是通過訪問該API介面實現其強大的管理功能的。Kubernetes API中的資源物件都擁有通用的後設資料,資源物件也可能存在巢狀現象,比如在一個Pod裡面巢狀多個Container。建立一個API物件是指通過API呼叫建立一條有意義的記錄,該記錄一旦被建立,Kubernetes將確保對應的資源物件會被自動建立並託管維護。

在Kubernetes系統中,大多數情況下,API定義和實現都符合標準的HTTP REST格式, 比如通過標準的HTTP動詞(POST、PUT、GET、DELETE)來完成對相關資源物件的查詢、建立、修改、刪除等操作。但同時Kubernetes 也為某些非標準的REST行為實現了附加的API介面,例如Watch某個資源的變化、進入容器執行某個操作等。另外,某些API介面可能違背嚴格的REST模式,因為介面不是返回單一的JSON物件,而是返回其他型別的資料,比如JSON物件流(Stream)或非結構化的文字日誌資料等。

Kubernetes開發人員認為,任何成功的系統都會經歷一個不斷成長和不斷適應各種變更的過程。因此,他們期望Kubernetes API是不斷變更和增長的。同時,他們在設計和開發時,有意識地相容了已存在的客戶需求。通常,新的API資源(Resource)和新的資源域不希望被頻繁地加入系統。資源或域的刪除需要一個嚴格的稽核流程。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-2153108/,如需轉載,請註明出處,否則將追究法律責任。

相關文章