新聞中心
API
Kubernetes 控制面 的核心是 API 服務器。 API 服務器負責提供 HTTP API,以供用戶、集群中的不同部分和集群外部組件相互通信。

公司主營業(yè)務:成都做網(wǎng)站、成都網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出民勤免費做網(wǎng)站回饋大家。
Kubernetes API 使你可以查詢和操縱 Kubernetes API 中對象(例如:Pod、Namespace、ConfigMap 和 Event)的狀態(tài)。
大部分操作都可以通過 kubectl 命令行接口或 類似 kubeadm 這類命令行工具來執(zhí)行, 這些工具在背后也是調(diào)用 API。不過,你也可以使用 REST 調(diào)用來訪問這些 API。
如果你正在編寫程序來訪問 Kubernetes API,可以考慮使用 客戶端庫之一。
OpenAPI 規(guī)范
完整的 API 細節(jié)是用 OpenAPI 來表述的。
OpenAPI V2
Kubernetes API 服務器通過 ?/openapi/v2? 端點提供聚合的 OpenAPI v2 規(guī)范。 你可以按照下表所給的請求頭部,指定響應的格式:
| 頭部 | 可選值 | 說明 |
|---|---|---|
Accept-Encoding |
gzip |
不指定此頭部也是可以的 |
Accept |
application/com.github.proto-openapi.spec.v2@v1.0+protobuf |
主要用于集群內(nèi)部 |
application/json |
默認值 | |
* |
提供application/json |
OpenAPI v2 查詢請求的合法頭部值
Kubernetes 為 API 實現(xiàn)了一種基于 Protobuf 的序列化格式,主要用于集群內(nèi)部通信。 關于此格式的詳細信息,可參考 Kubernetes Protobuf 序列化 設計提案。每種模式對應的接口描述語言(IDL)位于定義 API 對象的 Go 包中。
OpenAPI V3
FEATURE STATE: Kubernetes v1.23 [alpha]
Kubernetes v1.23 提供將其 API 以 OpenAPI v3 形式發(fā)布的初始支持;這一功能特性處于 Alpha 狀態(tài),默認被禁用。 你可以通過為 kube-apiserver 組件啟用 ?OpenAPIV3 ?特性門控來啟用此 Alpha 特性。
特性被啟用時,Kubernetes API 服務器會在端點 ?/openapi/v3/apis/? 提供按 Kubernetes 組版本聚合的 OpenAPI v3 規(guī)范。 請參閱下表了解可接受的請求頭部。
| 頭部 | 可選值 | 說明 |
|---|---|---|
Accept-Encoding |
gzip |
不提供此頭部也是可接受的 |
Accept |
application/com.github.proto-openapi.spec.v3@v1.0+protobuf |
主要用于集群內(nèi)部使用 |
application/json |
默認 | |
* |
以 application/json 形式返回 |
發(fā)現(xiàn)端點 ?/openapi/v3? 被提供用來查看可用的所有組、版本列表。 此列表僅返回 JSON。
API 變更
任何成功的系統(tǒng)都要隨著新的使用案例的出現(xiàn)和現(xiàn)有案例的變化來成長和變化。 為此,Kubernetes 的功能特性設計考慮了讓 Kubernetes API 能夠持續(xù)變更和成長的因素。 Kubernetes 項目的目標是 不要 引發(fā)現(xiàn)有客戶端的兼容性問題,并在一定的時期內(nèi) 維持這種兼容性,以便其他項目有機會作出適應性變更。
一般而言,新的 API 資源和新的資源字段可以被頻繁地添加進來。 刪除資源或者字段則要遵從 API 廢棄策略。
Kubernetes 對維護達到正式發(fā)布(GA)階段的官方 API 的兼容性有著很強的承諾, 通常這一 API 版本為 v1。此外,Kubernetes 在可能的時候還會保持 Beta API 版本的兼容性:如果你采用了 Beta API,你可以繼續(xù)在集群上使用該 API, 即使該功能特性已進入穩(wěn)定期也是如此。
Note:
盡管 Kubernetes 也努力為 Alpha API 版本維護兼容性,在有些場合兼容性是無法做到的。 如果你使用了任何 Alpha API 版本,需要在升級集群時查看 Kubernetes 發(fā)布說明, 以防 API 的確發(fā)生變更。
API 擴展
有兩種途徑來擴展 Kubernetes API:
- 你可以使用自定義資源 來以聲明式方式定義 API 服務器如何提供你所選擇的資源 API。
- 你也可以選擇實現(xiàn)自己的 聚合層 來擴展 Kubernetes API。
網(wǎng)站標題:創(chuàng)新互聯(lián)kubernetes教程:KubernetesAPI
文章源于:http://www.dlmjj.cn/article/cdhsjoe.html


咨詢
建站咨詢
