(二)Kubernetes组件说明

一、基于Borg的组件架构

       

二、K8S架构

  

  注意:高可用集群副本数量最好是 >= 3的奇数个

  1、调度器scheduler:将任务分配致不同的node节点,也就是负责接受任务,并选择合适的节点进行分配任务。整个过程是:scheduler将任务交给api server,api server 负责把任务写进etcd,scheduler不会与我们的etcd交互。

 

  2、控制器replication controller:维护我们副本的数量(期望值)

  3、api server:所有服务访问的入口

  4、kubectl:命令行管理工具

  5、etcd

    相当于Borg里面的Paxos,就是键值对数据库,用于kubernetes的持久化,存储K8S集群的所有重要信息。

    官方将它定义为一个可信赖的分布式键值存储服务,它能够为整个分布式集群存储一些关键数据,协助分布式集群的正常运转。

    推荐在Kubernetes集群中使用Etcd v3,v2版本在Kubernetesv1.11中弃用。

    etcd的内部架构图如下:

    

    说明:

 

      ① Raft:所有的读写信息都会存在里面

      ②WAL:运行日志

      ③Store:持久化磁盘

  6、kubelet

    直接跟容器引擎交互,实现容器的生命周期管理。例如:它会与我们的docker交互,操作docker创建容器等。

  7、kube proxy

    负责写入规则至IPTABLES、IPVS实现服务映射的访问。

    例如:控制Pod与Pod之间的访问,他的默认操作对象是操作防火墙(firewall)

  8、其他插件说明:

    ① CoreDNS:可以为集群中的SVC创建一个域名IP的对应关系解析

    ② Dashboard:给K8S集群提供一个B/S结构访问体系

    ③ INGRESS CONTROLLER:官方只能实现四层代理,INGRESS 可以实现七层代理。

    ④FEDETATION:提供一个可以跨集群中心多K8S统一管理功能

    ⑤PROMETHEUS:提供一个K8S集群的监控能力

    ⑥ELK:提供K8S集群日志统一分析介入平台

 

posted on 2020-12-19 21:05  向往的生活  阅读(123)  评论(0编辑  收藏  举报

导航

页面底部