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

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


咨詢(xún)
建站咨詢(xún)
