1. 架构:Master/Node

Master组件–主控节点{负责集群管理(接收用户事件转化成任务分散到node节点上)}

  • Apiserver:资源操作的唯一入口,提供认证、授权、API注册和发现等机制
  • Scheduler :负责集群资源调度,按照预定的调度策略将Pod调度到相应的node节点上
  • 注:容器负载均衡部署Deployment控制器是之一
  • Controller-manager:负责维护集群的状态,比如程序部署安排、故障检测、自动扩展、滚动更新等
  • Etcd:负责存储集群中各种资源对象的信息

Node组件–工作节点{负责计算节点,管理任务(按master指令去运行任务)}

  • Kubelet:负责维护容器的生命周期,即通过控制docker,来创建、更新、销毁容器
  • Kube-proxy:为pod维护网络代理,提供负载均衡和服务发现
  • Docker:负责节点上容器的各种操作

Kubernetes六大核心组件:

  • apiserver集群统一入口,以restful方式,提供认证、授权、访问控制、API注册等
  • scheduler 调度器,决定容器pod部署到哪个的node节点上
  • controller-manager 负责维护集群状态,如:故障检测、自动扩展、滚动更新等;(具体部署容器到目标节点使用的控制器)注:容器负载均衡部署Deployment控制器是之一
  • etcd存储系统:用于保存集群所有信息 ,是一个分布式的高性能的数据库(key-value/redis)
  • kubelet负责维护容器的生命周期(1.拉取镜像2.运行容器)
  • docker
    1. 核心概念:

    Master:集群控制节点,每个集群需要至少一个master节点负责集群的管控

    Node:工作负载节点,由master分配容器到这些node工作节点上,然后node节点上的docker负责容器的运行

    Pod:kubernetes的最小控制单元,容器都是运行在pod中的,一个pod中可以有1个或者多个容器

    Controller:控制器,通过它来实现对pod的管理,比如启动、停止、伸缩的数量等等

    Service:pod对外服务的统一入口,下面可以维护者同一类的多个pod

    Label:标签,用于对pod进行分类,同一类pod会拥有相同的标签

    NameSpace:命名空间,用来隔离pod的运行环境

    1. 如何设计一个容器管理平台:

    1.集群架构,至少 2台机器,master主节点,node工作节点master根据维护者,写的yaml,对容器的运行描述,创建具体的容器,到node工作节点

    2,.该容器管理平台,应该自动识别,目标节点的,状态,选择最合适的节点部署 新容器

    3.容器管理平台,能实现确保,应用的副本数是健康,正确的,后端的容器数量

    4.容器内的负戟均衡,反向代理,如何配置 (k8s的组件就可以实现)

    架构图是在叩丁狼老师那听课截图的,如果涉及版权通知我删除呀~