zoukankan      html  css  js  c++  java
  • (二)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集群日志统一分析介入平台

  • 相关阅读:
    Git的初步学习
    Git的初步学习
    微信小程序我的界面
    微信小程序我的界面
    Day2:html和css
    Day2:html和css
    Day1:html和css
    Day1:html和css
    Java之JDK7的新语法探索
    Java之JDK7的新语法探索
  • 原文地址:https://www.cnblogs.com/jichuang/p/14161119.html
Copyright © 2011-2022 走看看