91精品福利尤物_欧美精品视频在线观看_中文字幕av无码手机版_天天做天天爱天天爽综合网_色哟哟在线观看免费视频高清大全免费在线观看亚洲 欧美 综合 另类

您的位置:首頁 > 國內(nèi) >

kubernetes組件kube-apiserver介紹

2023-04-29 07:07:34 來源:騰訊云

Kubernetes 是一種開源的容器編排平臺(tái),它可以自動(dòng)化地部署、擴(kuò)展和管理容器化應(yīng)用程序。kube-apiserver 是 Kubernetes 架構(gòu)中的核心組件之一,它充當(dāng) Kubernetes API 的前端,處理來自 Kubernetes API 的所有請求,并將其轉(zhuǎn)發(fā)給其他組件進(jìn)行處理。

kube-apiserver 的概述

kube-apiserver 是 Kubernetes 的控制平面組件之一,它充當(dāng) Kubernetes API 的前端。所有來自 Kubernetes API 的請求都將發(fā)送到 kube-apiserver,然后由它轉(zhuǎn)發(fā)到適當(dāng)?shù)慕M件進(jìn)行處理。kube-apiserver 還負(fù)責(zé)執(zhí)行對 Kubernetes 資源的驗(yàn)證、授權(quán)和準(zhǔn)入控制,并記錄所有 API 請求的審計(jì)日志。此外,kube-apiserver 還可以對外部系統(tǒng)進(jìn)行認(rèn)證和授權(quán),以便與 Kubernetes 進(jìn)行交互。

kube-apiserver 的架構(gòu)

kube-apiserver 的架構(gòu)是一個(gè)多層的系統(tǒng),由以下組件組成:


(資料圖片僅供參考)

(1) HTTP Server

kube-apiserver 作為 HTTP Server 提供 HTTP(S) 服務(wù)。所有的 API 請求都通過 HTTP(S) 進(jìn)行傳輸,并由 kube-apiserver 處理。

(2) Authentication

kube-apiserver 可以使用多種身份驗(yàn)證機(jī)制,包括基于令牌、證書和用戶名/密碼的身份驗(yàn)證。當(dāng)客戶端發(fā)起 API 請求時(shí),kube-apiserver 會(huì)根據(jù)請求中的認(rèn)證信息來驗(yàn)證其身份。

(3) Authorization

kube-apiserver 在處理 API 請求之前會(huì)執(zhí)行授權(quán)檢查,以確保請求的發(fā)起者有足夠的權(quán)限執(zhí)行該請求。kube-apiserver 使用 RBAC(Role-Based Access Control) 機(jī)制來管理 Kubernetes 資源的授權(quán)。

(4) Admission Control

kube-apiserver 在創(chuàng)建、修改和刪除 Kubernetes 資源之前會(huì)執(zhí)行準(zhǔn)入控制檢查,以確保這些操作符合 Kubernetes 系統(tǒng)的規(guī)范和限制。kube-apiserver 支持插件化的準(zhǔn)入控制機(jī)制,可以通過插件來實(shí)現(xiàn)自定義的準(zhǔn)入控制規(guī)則。

(5) API Registration

kube-apiserver 負(fù)責(zé)注冊所有 Kubernetes API,包括 core API 和擴(kuò)展 API。通過注冊 API,kube-apiserver 使得所有的 Kubernetes 資源都可以通過 API 進(jìn)行訪問和管理。

(6) Etcd Storage

kube-apiserver 使用 Etcd 作為持久化存儲(chǔ),將 Kubernetes 資源的元數(shù)據(jù)保存在 Etcd 中。kube-apiserver 和 Etcd 之間使用一致性協(xié)議來保證數(shù)據(jù)的一致性和可靠性。

(7) Controller Manager

kube-apiserver 還包括一個(gè) Controller Manager 組件,用于管理和運(yùn)行 Kubernetes 的控制器??刂破魇?Kubernetes 系統(tǒng)中的核心組件,用于確保 Kubernetes 系統(tǒng)的自愈能力。Controller Manager 負(fù)責(zé)監(jiān)控 Kubernetes 中各種資源的狀態(tài),并根據(jù)需要執(zhí)行自動(dòng)化操作來保持系統(tǒng)的狀態(tài)正確性。

(8) API Server Plugins

kube-apiserver 可以通過插件來擴(kuò)展其功能。例如,kube-apiserver 支持 Webhook 插件,可以用于在 API 請求處理之前或之后執(zhí)行自定義的操作。kube-apiserver 還支持 Admission Controller 插件,可以用于自定義準(zhǔn)入控制規(guī)則。

kube-apiserver 的啟動(dòng)參數(shù)

kube-apiserver 啟動(dòng)時(shí)需要提供一系列參數(shù)來配置其行為。以下是一些常用的啟動(dòng)參數(shù):

--advertise-address:指定 kube-apiserver 使用的 IP 地址。

--allow-privileged:是否允許容器運(yùn)行在特權(quán)模式下。

--authorization-mode:指定 kube-apiserver 使用的授權(quán)模式,支持 RBAC、Node、Webhook 等多種授權(quán)模式。

--etcd-servers:指定 Etcd 的地址列表。

--insecure-bind-address:指定 kube-apiserver 監(jiān)聽的 IP 地址。

--service-account-key-file:指定服務(wù)賬戶的公鑰文件路徑。

--tls-cert-file:指定 TLS 證書文件路徑。

--tls-private-key-file:指定 TLS 私鑰文件路徑。

kube-apiserver 的示例

以下是啟動(dòng) kube-apiserver 的示例命令:

kube-apiserver --advertise-address=192.168.1.100 \--allow-privileged=true \--authorization-mode=RBAC \--etcd-servers=http://etcd-0:2379,http://etcd-1:2379,http://etcd-2:2379 \--insecure-bind-address=127.0.0.1 \--service-account-key-file=/etc/kubernetes/pki/sa.pub \--tls-cert-file=/etc/kubernetes/pki/apiserver.crt \--tls-private-key-file=/etc/kubernetes/pki/apiserver.key

在上面的示例中,kube-apiserver 使用 192.168.1.100 作為其 IP 地址,并允許容器運(yùn)行在特權(quán)模式下。kube-apiserver 使用 RBAC 作為授權(quán)模式,使用三個(gè) Etcd 節(jié)點(diǎn)作為其持久化存儲(chǔ),同時(shí)監(jiān)聽本地的 127.0.0.1 地址。kube-apiserver 使用 /etc/kubernetes/pki/sa.pub 作為服務(wù)賬戶的公鑰文件,同時(shí)使用 /etc/kubernetes/pki/apiserver.crt 和 /etc/kubernetes/pki/apiserver.key 作為 TLS 證書和私鑰文件。

關(guān)鍵詞:

參與評(píng)論