当前热议!kubernetes组件kube-apiserver介绍
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 证书和私钥文件。
关键词:
下一篇:最后一页
精心推荐
- 当前热议!kubernetes组件kube-apiserver介绍
- 趣味“廉”运动 品德润童心-世界新消息
- “柘”有好茶:高山白茶香溢京城
- 中超公司原董事长马成全涉嫌严重违纪违法,正接受审查调查|要闻
- 齐桓公称霸的时间(齐桓公称霸的故事) 世界新视野
- 国泰君安(02611.HK)一季度净利30.41亿元 同比增长20.73% 短讯
- 天天热点评!生 意 宝: 关于2022年度利润分配预案的公告
- 快播:两江新区一季度规上战略性新兴产业增加值占全市1/5
- 特斯拉大幅降价,分析师:或威胁到品牌价值
- 阿斯:如果贝林的价格超1.2亿欧皇马将放弃,但他们相信不会发生
- 上海社保退休养老金一个月能拿多少钱?具体如何计算的?
- 世界要闻:50.2万亿元、8.1ZB!数字中国建设多项数据亮眼
- 北京顺义潮白河明年实现游船通航 环球聚看点
- 发改委:聚焦生物经济重点领域,加快科技基础设施建设
X 关闭
X 关闭
产业
-
不用跑北京 在家门口也能挂上顶...
日前,我省首个神经疾病会诊中心——首都医科大学宣武医院河北医院...
-
“十四五”期间 河北省将优化快...
从省邮政管理局获悉,十四五期间,我省将优化快递空间布局,着力构...
-
张家口市宣化区:光伏发电站赋能...
3月19日拍摄的张家口市宣化区春光乡曹庄子村光伏发电站。张家口市宣...
-
“张同学”商标被多方抢注 涉及...
“张同学”商标被多方抢注,官方曾点名批评恶意抢注“丁真” ...
-
山东济南“防诈奶奶团”花式反诈...
中新网济南12月15日电 (李明芮)“老有所为 无私奉献 志愿服...
-
广州新增1例境外输入关联无症状...
广州卫健委今日通报,2021年12月15日,在对入境转运专班工作人...
-
西安报告初筛阳性病例转为确诊病例
12月15日10:20,经陕西西安市级专家组会诊,西安市报告新冠病毒...
-
广东东莞新增本土确诊病例2例 ...
(抗击新冠肺炎)广东东莞新增本土确诊病例2例 全市全员核酸检测...
-
中缅边境临沧:民警深夜出击捣毁...
中新网临沧12月15日电 (胡波 邱珺珲)记者15日从云南临沧边境...
-
“土家鼓王”彭承金:致力传承土...
中新网恩施12月15日电 题:“土家鼓王”彭承金:致力传承土家...