kubernetes学习之路(二)组件说明

  首先说说集群的节点数量为什么多数采用3、5、7、9这样的结构,因为这样可以避免选举时票数一样造成的选举失败,如4节点两票两票。

kubernetes组件架构图:

kubernetes学习之路(二)组件说明

master节点组件:

  • kubectl:kubernetes的命令行操作组件
  • web UI:web页面控制组件
  • scheduler:调度器,负责控制任务分发到哪个node上运行
  • replication controller:简称rc,副本控制器,负责控制副本的数量,如一个任务下pod的数量
  • api server:核心组件,负责组件与组件之间的通信,是左右组件的统一入口
  • etcd:分布式数据库,专门为集群而生,负责存储kubernetes中各种任务及状态的存储

node节点组件:

  • node:运行任务,搭载着docker的节点
  • kubelet:负责控制docker,对docker进行操作
  • kube proxy:负责pod与pod之间的通信以及负载均衡,旧版本kube proxy主要通过防火墙实现通信,新版本支持ipvs
  • container:就是docker容器

其它组件:

  • COREDNS:为集群中的svc创建域名ip的对应关系解析
  • DASHBOARD:可以提供给kubernetes一个 B/S 结构访问体系,就是web ui
  • INGRESS CONTROLLER:官方只能实现四层代理,而INGRESS可以实现七层代理
  • FEDERATION:提供一个可以跨集群中心的多K8S统一管理功能
  • PROMETHEUS:k8s首选监控系统
  • ELK:日志监控系统