一. 核心组件
    . 配置存储中心 — etcd服务
    . 主控(master)节点
    . kube-apiserver服务
    . 提供了集群管理的REST API接口(包括鉴权、数据校验及集群状态变更)
    . 负责其他模块之间的数据交互,承担通信枢纽功能
    . 是资源配额控制的入口
    . 提供完备的集群安全机制
    . kube-controller-manager服务
    . 由一系列控制器组成,通过apiServer监控整个集群的状态,并确保集群处于预期的工作状态
    . Node Controller
    . Deployment Controller
    . Service Controller
    . Volume Controller
    . Endpoint Controller
    . Garbage Controller
    . Namespace Controller
    . Job Controller
    . Resource quta Controller
    . …
    . kube-scheduler服务
    . 主要功能是接收调度pod到适合的运算节点上
    . 预算策略(predict)
    . 优选策略(priorities)
    . 运算(node)节点
    . kube-kubelet服务
    . 简单地说,kubelet的主要功能就是定时从某个地方获取节点上pod的期望状态(运行什么容器、运行的副本数量、网络或者存储如何配置等等),并调用对应的容器平台接口达到这个状态
    . 定时汇报当前节点的状态给apiServer,以供调度的时候使用
    . 镜像和容器的清理工作,保证节点上镜像不会占满磁盘空间,退出的容器不会占用太多资源
    . kube-proxy服务
    . 是K8S在每个节点上运行网络代理,service资源的载体
    . 建立了pod网络和集群网络的关系(clusterip —> podip)
    . 常用三种流量调度模式
    . Userspace(废弃)
    . Iptables (濒临废弃)
    . Ipvs(推荐)
    . 负责建立和删除包括更新调度规则、通知apiServer哪里获取其他kube-prosy的调度规则变化来更新自己的

    以下是各个核心组件之间的三条网络线
    . service网络
    . Pod网络
    . 节点网络
    图片.png

    再来一张k8s的逻辑图
    图片.png
    二. CLI客户端
    . kubectl

    三. 核心附件
    . CNI网络插件 — flannel / calico
    . 服务发现用插件 — coredns
    . 服务暴露用插件 — traefik
    . GUI管理插件 — Dashboard