Kunernetes集群架构与组件
2024-08-22 23:51:06
架构如图:
master节点:主要是集群控制面板的功能,来管理整个集群,包括全局的角色,调度,都是在master节点进行控制
有三个组件:
- API Server: 是 k8s提供的一个统一入口,它是提供http,RESETful,api的一种方式
- scheduler: 集群的调度,将容器分配到哪个节点上,就是它
- controller-manager:来负责你的任务的,其实就是控制器,这些控制器,来帮助你去管理你要做哪些任务,比如管理pod,service,节点的控制器,主要就是进一步解藕,为每个功能,做每件事
kubectl:直接是客户端的管理工具,直接管理这个apiserver,提交一个请求在apiserver,在这期间有一个认证授,看看你是不是有权限访问,apiserver将授权信息存储到etcd中
etcd:是key value的数据库,存储的是k8s的一些状态,一些数据的信息进行持久化,apiserver存储来之后,schedule会各自负责各自的事情
node:
- kubelet:好比是一个agent,主要接受k8s下发的任务,主要是管理k8s容器的创建和生命周期的管理
pod是k8s集群中最小部署单元,而不是容器,所以kubelet就是管理pod的,pod可以有一个容器或者多个容器组成,比如pod挂载数据卷,获取一些容器的状态,都是由kubelet操作的,然后汇报给master
- kube-proxy :主要负责网络规则和负载均衡的,因为里面会有多个容器,例如:container pod。pod。将pod怎么让用户访问,pod就是实际的部署程序,从互联网来到防火墙,到kube-proxy,再到具体的pod
- container runtime
这个是master的单节点,如果要做到高可用,master节点肯定也需要至少两个以上,中间会有一个负载均衡,来帮助负载到哪台master,master的负载,主要是apiserver,另外两个组件scheduler,controller已经具备高可用
这个是整个集群架构与组件
简而言之:简单的访问架构如下
总结一下:
最新文章
- 【腾讯优测干货分享】越用越卡为哪般——如何降低App的待机内存(一)
- Java比C++好在哪儿?
- php对xml文件进行CURD操作
- OC NSString(字符串)
- VS2010调试速度很慢
- 删除ubuntu旧版本内核
- CentOS 5.5 Nginx+JDK+MySQL+Tomcat(jsp)成功安装案例
- Python脚本控制的WebDriver 常用操作 <;十五>; 处理Navigation Bar
- 习题二:string数组应用
- ios自定义UIButton内部空间Rect
- 实现全局同一编码:Filter
- 用python语言编写网络爬虫
- 网站开发进阶(三十二)HTML5之FileReader的使用
- php----------const 定义的常量和define()定义的常量的区别?
- 配置jQuery环境
- Collection集合的三种初始化方法
- javascript如何获取URL参数的值
- Invalid configuation file. File ";**********"; was created by a VMware product with more feature than this version of VMware Workstation and cannot be
- @valid注解
- .Net Core 管道机制
热门文章
- SMB SMB2 协议wiki
- 模板 - SPFA
- 洛谷 P2048 [NOI2010]超级钢琴(优先队列,RMQ)
- EXP-00000: Message 0 not found; No message file for product=RDBMS, facility=EXP问题的解决方案
- python——类与对象
- echart 初级尝试
- UVa1471
- 解决git commit报错问题
- 讲明白combineByKey()算子,不是谈源码
- 《java学习三》并发编程 -------线程池原理剖析