K8S从入门到美团外卖之——组件介绍

146 阅读2分钟

K8S 组件介绍

  • Node k8s集群中的一个节点,可以是虚拟机也可以是物理机
  • Pod k8s中的最小调度单元,可以是一个或者多个容器的组合,一般一个Pod中只运行一个容器,如果是挂“边车”的组合容器,也可以放多个
  • Serive 可以将一组Pod封装成一个服务,并且提供一个统一的入口来访问这个服务
  • Ingress 将外部的请求,转发到内部的集群,相当于网关的作用
  • ConfigMap&Secret 封装配置信息和敏感信息
  • Volumes 将数据挂载到本地磁盘或者远程存储上,实现集群的持久化
  • Deployment 用于部署无状态应用程序,可以用于管理一个或者多个Pod,提供了动态部署,扩容/缩容等
  • Statefulset 用于部署有状态应用程序,类似数据库,消息队列,缓存等。可以用于管理一个或者多个Pod,提供了动态部署,扩容/缩容等

Work-node

Work-node 工作节点,可以理解为真正在运行你的容器的的节点

Work-Node 由下面几部分组成

  • Kubelet 管理、维护、监控Node里面的Pod,从api-server组件接收pod新的pod规范,也会上报pod信息到api-server
  • Kube-proxy 为pod对象提供网络代理和负载均衡
  • Container-Runtime 负责拉取容器image,创建容器等,里面可以是多个pod
    • pod1
    • pod2

Master-node

Master-node 负责管理Work-Node

Master-node 由下面的几个组件构成

  • Kube-apiservice 类似于这个集群的网关,所有的组件都会通过它进行通信。所有的请求,都会通过它,分发给不同的组件进行处理
  • etcd 集群的数据存储中心,key-value存储
  • Scheduler 调度管理器,监控资源使用情况,然后将pod调度到合适的node上。
  • ControllerManager 监控集群中pod状态, 对失效状态的pod进行处理