架构如图:

master节点:主要是集群控制面板的功能,来管理整个集群,包括全局的角色,调度,都是在master节点进行控制

有三个组件:

  1. API Server:  是 k8s提供的一个统一入口,它是提供http,RESETful,api的一种方式
  2. scheduler: 集群的调度,将容器分配到哪个节点上,就是它
  3. controller-manager:来负责你的任务的,其实就是控制器,这些控制器,来帮助你去管理你要做哪些任务,比如管理pod,service,节点的控制器,主要就是进一步解藕,为每个功能,做每件事

kubectl:直接是客户端的管理工具,直接管理这个apiserver,提交一个请求在apiserver,在这期间有一个认证授,看看你是不是有权限访问,apiserver将授权信息存储到etcd中

etcd:是key  value的数据库,存储的是k8s的一些状态,一些数据的信息进行持久化,apiserver存储来之后,schedule会各自负责各自的事情

node:

  1. kubelet:好比是一个agent,主要接受k8s下发的任务,主要是管理k8s容器的创建和生命周期的管理

    pod是k8s集群中最小部署单元,而不是容器,所以kubelet就是管理pod的,pod可以有一个容器或者多个容器组成,比如pod挂载数据卷,获取一些容器的状态,都是由kubelet操作的,然后汇报给master

  2. kube-proxy :主要负责网络规则和负载均衡的,因为里面会有多个容器,例如:container  pod。pod。将pod怎么让用户访问,pod就是实际的部署程序,从互联网来到防火墙,到kube-proxy,再到具体的pod
  3. container runtime

这个是master的单节点,如果要做到高可用,master节点肯定也需要至少两个以上,中间会有一个负载均衡,来帮助负载到哪台master,master的负载,主要是apiserver,另外两个组件scheduler,controller已经具备高可用

这个是整个集群架构与组件

简而言之:简单的访问架构如下

总结一下:

最新文章

  1. 【腾讯优测干货分享】越用越卡为哪般——如何降低App的待机内存(一)
  2. Java比C++好在哪儿?
  3. php对xml文件进行CURD操作
  4. OC NSString(字符串)
  5. VS2010调试速度很慢
  6. 删除ubuntu旧版本内核
  7. CentOS 5.5 Nginx+JDK+MySQL+Tomcat(jsp)成功安装案例
  8. Python脚本控制的WebDriver 常用操作 <十五> 处理Navigation Bar
  9. 习题二:string数组应用
  10. ios自定义UIButton内部空间Rect
  11. 实现全局同一编码:Filter
  12. 用python语言编写网络爬虫
  13. 网站开发进阶(三十二)HTML5之FileReader的使用
  14. php----------const 定义的常量和define()定义的常量的区别?
  15. 配置jQuery环境
  16. Collection集合的三种初始化方法
  17. javascript如何获取URL参数的值
  18. Invalid configuation file. File "**********" was created by a VMware product with more feature than this version of VMware Workstation and cannot be
  19. @valid注解
  20. .Net Core 管道机制

热门文章

  1. SMB SMB2 协议wiki
  2. 模板 - SPFA
  3. 洛谷 P2048 [NOI2010]超级钢琴(优先队列,RMQ)
  4. EXP-00000: Message 0 not found; No message file for product=RDBMS, facility=EXP问题的解决方案
  5. python——类与对象
  6. echart 初级尝试
  7. UVa1471
  8. 解决git commit报错问题
  9. 讲明白combineByKey()算子,不是谈源码
  10. 《java学习三》并发编程 -------线程池原理剖析