运维.售后
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
博客
Blog
ToB门户
了解全球最新的ToB事件
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
Kubernetes-组件
Kubernetes-组件
钜形不锈钢水箱
金牌会员
|
2022-9-16 17:19:34
|
显示全部楼层
|
阅读模式
楼主
主题
910
|
帖子
910
|
积分
2730
Kubernetes 组件
Kubernetes 集群组件图
控制平面组件(Control Plane Components)
控制平面组件会为集群做出全局决策,比如资源的调度,以及检测和响应集群事件。
控制平面组件可以在集群中的任何节点上运行。在实际使用中,通常会在同一个计算机上启动所有控制平面组件,并且不会在此计算机上运行用户容器。
kube-apiserver
apiserver 是 Kubernetes 控制平面的组件,该组件负责公开了 Kubernetes API,负责处理接受请求的工作。apiserver 是 Kubernetes 控制平面的前端。
Kubernetes apiserver 的主要实现是 kube-apiserver。kube-apiserver 设计上考虑了水平扩缩,也就是说,它可通过部署多个实例来进行扩缩。你可以运行 kube-apiserver 的多个实例,并在这些实例之间平衡流量。
etcd
etcd 是兼顾一致性与高可用性的键值数据库,可以作为保存 Kubernetes 所有集群数据的后台数据库。
kube-scheduler
kube-scheduler 是控制平面的组件,负责监视新创建的、未指定运行节点(node)的 Pods,并选择节点来让 Pod 在上面运行。
调度决策考虑的因素包括单个 Pod 及 Pods 集合的资源需求、软硬件及策略约束、亲和性及反亲和性规范、数据位置、工作负载间的干扰及最后时限。
kube-controller-manager
kube-controller-manager 是控制平面的组件,负责运行控制器进程。
控制器包括:
节点控制器(Node Controller):负责在节点出现故障时进行通知和响应
任务控制器(Job Controller):监测代表一次性任务的 Job 对象,然后创建 Pods 来运行这些任务直至完成
端点控制器(Endpoints Controller):填充端点(Endpoints)对象(即加入 Service 与 Pod)
服务帐户和令牌控制器(Service Account & Token Controllers):为新的命名空间创建默认帐户和 API 访问令牌
cloud-controller-manager
cloud-controller-manager 是指嵌入特定云(例如亚马逊 aws,微软 azure 等)的控制逻辑之控制平面组件。cloud-controller-manager 允许你将你的集群连接到云提供商的 API 之上,并将与该云平台交互的组件同与你的集群交互的组件分离开来。
下面的控制器都包含对云平台驱动的依赖:
节点控制器(Node Controller):用于在节点终止响应后检查云提供商以确定节点是否已被删除
路由控制器(Route Controller):用于在底层云基础架构中设置路由
服务控制器(Service Controller):用于创建、更新和删除云提供商负载均衡器
Node 组件
Node 组件会在每个节点上运行,负责维护运行的 Pod 并提供 Kubernetes 运行环境。
kubelet
kubelet 会在集群中每个节点(node)上运行。它保证容器(containers)都运行在 Pod 中。
kubelet 接收一组通过各类机制提供给它的 PodSpecs,确保这些 PodSpecs 中描述的容器处于运行状态且健康。kubelet 不会管理不是由 Kubernetes 创建的容器。
kube-proxy
kube-proxy 是集群中每个节点(node)所上运行的网络代理,实现 Kubernetes 服务(Service)概念的一部分。
kube-proxy 维护节点上的一些网络规则,这些网络规则会允许从集群内部或外部的网络会话与 Pod 进行网络通信。
容器运行时(Container Runtime)
容器运行环境是负责运行容器的软件。
Kubernetes 支持许多容器运行环境,例如 Docker、containerd、CRI-O 以及 Kubernetes CRI (容器运行环境接口) 的其他任何实现。
插件(Addons)
插件使用 Kubernetes 资源(DaemonSet、 Deployment 等)实现集群功能。因为这些插件提供集群级别的功能,插件中命名空间域的资源属于 kube-system 命名空间。
几种常用插件:
DNS:集群 DNS 是一个 DNS 服务器,和环境中的其他 DNS 服务器一起工作,它为 Kubernetes 服务提供 DNS 记录。
Web 界面(仪表盘):Dashboard 是 Kubernetes 集群的通用的、基于 Web 的用户界面。它使用户可以管理集群中运行的应用程序以及集群本身,并进行故障排除。
容器资源监控:将关于容器的一些常见的时间序列度量值保存到一个集中的数据库中,并提供浏览这些数据的界面。
集群层面日志:负责将容器的日志数据保存到一个集中的日志存储中,这种集中日志存储提供搜索和浏览接口。
参考资料
kubernetes.io 官方文档:Kubernetes 组件
思维导图
B站学习
从零开始学习k8s:k8s组件
抖音学习
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
钜形不锈钢水箱
金牌会员
这个人很懒什么都没写!
楼主热帖
Linux——环境基础开发工具的使用 ...
详细介绍如何在ubuntu20.04中安装ROS系 ...
Android Studio第12课关于databinding ...
架构师说低代码:走出半生,归来仍是“ ...
Android Studio实现音乐播放器2.0 ...
HCIA学习笔记四:华为设备登录信息 ...
【小程序专栏】多种开发方式对比-跨端 ...
JNDI RMI 远程访问(LOG4j2漏洞底层原 ...
Jenkins发布uniapp开发的H5遇到的问题 ...
django中APIView里的dispatch和as_view ...
标签云
存储
服务器
快速回复
返回顶部
返回列表