Kubernetes 通過聚合層擴(kuò)展API

2022-05-27 09:38 更新

通過聚合層擴(kuò)展 Kubernetes API

使用聚合層(Aggregation Layer),用戶可以通過額外的 API 擴(kuò)展 Kubernetes, 而不局限于 Kubernetes 核心 API 提供的功能。

這里的附加 API 可以是現(xiàn)成的解決方案比如 metrics server, 或者你自己開發(fā)的 API。

聚合層不同于 定制資源(Custom Resources)。 后者的目的是讓 kube-apiserver 能夠認(rèn)識新的對象類別(Kind)。

聚合層 

聚合層在 kube-apiserver 進(jìn)程內(nèi)運(yùn)行。在擴(kuò)展資源注冊之前,聚合層不做任何事情。 要注冊 API,用戶必須添加一個 APIService 對象,用它來“申領(lǐng)” Kubernetes API 中的 URL 路徑。 自此以后,聚合層將會把發(fā)給該 API 路徑的所有內(nèi)容(例如 ?/apis/myextension.mycompany.io/v1/…?) 轉(zhuǎn)發(fā)到已注冊的 APIService。

APIService 的最常見實(shí)現(xiàn)方式是在集群中某 Pod 內(nèi)運(yùn)行 擴(kuò)展 API 服務(wù)器。 如果你在使用擴(kuò)展 API 服務(wù)器來管理集群中的資源,該擴(kuò)展 API 服務(wù)器(也被寫成“extension-apiserver”) 一般需要和一個或多個控制器一起使用。 apiserver-builder 庫同時提供構(gòu)造擴(kuò)展 API 服務(wù)器和控制器框架代碼。

反應(yīng)延遲 

擴(kuò)展 API 服務(wù)器與 kube-apiserver 之間需要存在低延遲的網(wǎng)絡(luò)連接。 發(fā)現(xiàn)請求需要在五秒鐘或更短的時間內(nèi)完成到 kube-apiserver 的往返。

如果你的擴(kuò)展 API 服務(wù)器無法滿足這一延遲要求,應(yīng)考慮如何更改配置以滿足需要。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號