您的位置:首頁 > 國內 >

kubernetes組件kube-apiserver介紹

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

Kubernetes 是一種開源的容器編排平臺,它可以自動化地部署、擴展和管理容器化應用程序。kube-apiserver 是 Kubernetes 架構中的核心組件之一,它充當 Kubernetes API 的前端,處理來自 Kubernetes API 的所有請求,并將其轉發給其他組件進行處理。

kube-apiserver 的概述

kube-apiserver 是 Kubernetes 的控制平面組件之一,它充當 Kubernetes API 的前端。所有來自 Kubernetes API 的請求都將發送到 kube-apiserver,然后由它轉發到適當的組件進行處理。kube-apiserver 還負責執行對 Kubernetes 資源的驗證、授權和準入控制,并記錄所有 API 請求的審計日志。此外,kube-apiserver 還可以對外部系統進行認證和授權,以便與 Kubernetes 進行交互。

kube-apiserver 的架構

kube-apiserver 的架構是一個多層的系統,由以下組件組成:


(資料圖片僅供參考)

(1) HTTP Server

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

(2) Authentication

kube-apiserver 可以使用多種身份驗證機制,包括基于令牌、證書和用戶名/密碼的身份驗證。當客戶端發起 API 請求時,kube-apiserver 會根據請求中的認證信息來驗證其身份。

(3) Authorization

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

(4) Admission Control

kube-apiserver 在創建、修改和刪除 Kubernetes 資源之前會執行準入控制檢查,以確保這些操作符合 Kubernetes 系統的規范和限制。kube-apiserver 支持插件化的準入控制機制,可以通過插件來實現自定義的準入控制規則。

(5) API Registration

kube-apiserver 負責注冊所有 Kubernetes API,包括 core API 和擴展 API。通過注冊 API,kube-apiserver 使得所有的 Kubernetes 資源都可以通過 API 進行訪問和管理。

(6) Etcd Storage

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

(7) Controller Manager

kube-apiserver 還包括一個 Controller Manager 組件,用于管理和運行 Kubernetes 的控制器。控制器是 Kubernetes 系統中的核心組件,用于確保 Kubernetes 系統的自愈能力。Controller Manager 負責監控 Kubernetes 中各種資源的狀態,并根據需要執行自動化操作來保持系統的狀態正確性。

(8) API Server Plugins

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

kube-apiserver 的啟動參數

kube-apiserver 啟動時需要提供一系列參數來配置其行為。以下是一些常用的啟動參數:

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

--allow-privileged:是否允許容器運行在特權模式下。

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

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

--insecure-bind-address:指定 kube-apiserver 監聽的 IP 地址。

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

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

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

kube-apiserver 的示例

以下是啟動 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 地址,并允許容器運行在特權模式下。kube-apiserver 使用 RBAC 作為授權模式,使用三個 Etcd 節點作為其持久化存儲,同時監聽本地的 127.0.0.1 地址。kube-apiserver 使用 /etc/kubernetes/pki/sa.pub 作為服務賬戶的公鑰文件,同時使用 /etc/kubernetes/pki/apiserver.crt 和 /etc/kubernetes/pki/apiserver.key 作為 TLS 證書和私鑰文件。

關鍵詞:

參與評論

五月天婷亚洲天综合网精品偷| 98久久人妻无码精品系列蜜桃| 成人精品视频99在线观看免费| 久久久精品人妻无码专区不卡| 中文字幕日韩精品有码视频| 亚洲精品乱码久久久久久久久久久久| 精品久久香蕉国产线看观看亚洲| 久久亚洲精品成人777大小说| 久久久久国产精品免费网站| 日韩av无码久久精品免费| 久久亚洲精品无码AV红樱桃| 2021国产精品午夜久久| 精品久久久久不卡无毒| 亚洲精品视频免费| 日本精品卡一卡2卡3卡四卡| 96免费精品视频在线观看| 日产精品一卡2卡三卡4乱码| 精品中文字幕一区在线| 中文字幕日本精品一区二区三区| 午夜精品福利视频| 中文无码亚洲精品字幕| 国产精品免费看久久久无码| 久久夜色撩人精品国产小说| 久久精品国产99国产| 国美女福利视频午夜精品| 国产麻豆精品精东影业av网站| 精品国产不卡一区二区三区| 久久精品中文字幕第一页| 2021国内久久精品| 亚洲国产成人a精品不卡在线| 精品国产一区二区三区免费| 国产精品久久久久久久久| 国产精品久久久久国产精品三级| 久久精品一区二区影院| 98精品国产高清在线看入口| 日韩亚洲综合精品国产| 97人妻精品全国免费视频| 国产福利91精品一区二区| 免费国产在线精品一区| 亚洲国产精品嫩草影院在线观看| 55夜色66夜色国产精品视频|