15-Kubernetes

作者: 紫荆秋雪_文 | 来源:发表于2021-12-20 10:54 被阅读0次

    一、Kubernetes

    1、Kubernetes 是什么

    二、Kubernetes原理

    1、maste-node 架构

    • master:主节点,可以有很多
    • node:work节点(工作节点),可以有很多,这是真正运行应用的节点


      maste-node 架构.png

    2、工作原理 工作原理.png

    master节点(Control Plane [控制面板])

    master 节点控制整个集群

    1、master节点上的核心组件

    • 1、Controller Manager(c-m):控制管理器
    • 2、etcd:键值数据库(如Redis)
    • 3、scheduler:调度器
    • 4、api server:api网关,所有的控制都需要通过api-server
    • 5、kubelet
    • 6、kube-proxy


      master节点.png

    2、node节点(work工作节点)

    • kubelet:每个node节点上必须的组件
    • kube-proxy:网络代理


      node节点.png
    • docker run 启动的是一个 container(容器),容器是docker的基本单位,一个应用是一个容器
    • kubelet run 启动的一个应用称为一个Pod,Pod是k8s的基本单位
    • Pod 是容器的一个再封装
    master节点-node节点.png

    三、Master与Node交互原理 Master与Node交互原理.png

    如让 k8s 部署一个Tomcat

    • 0、开机默认所有节点的kubelet,Master节点的scheduler(调度器)、controller-manager(控制管理器)一直监听Master的api-server发来的事件变化
    • 1、程序员使用命令行工具: kubectl ; kubectl create deploy tomcat --image=tomcat8(告诉master让集群使用tomcat8镜像,部署一个tomcat应用)
    • 2、kubectl命令行内容发给api-server,api-server保存次次创建信息到 etcd
    • 3、etcd 给api-server上报部署Tomcat事件,
    • 4、controller-manager监听到了api-server的部署Tomcat事件
    • 5、controller-manager处理这个部署Tomcat的事件,controller-manager会生成 Pod 的部署信息
    • 6、controller-manager 把 Pod 的信息交给 api-server,再次保存到etcd
    • 7、etcd 上报事件给api-server
    • 8、scheduler负责监听Pod信息,拿到 Pod信息的内容,计算选择一个适合部署这个 Pod 的节点
    • 9、scheduler会把 Pod部署到那个节点 的信息交给 api-server
    • 10、api-server 会把 Pod部署到那个节点 的信息保存到etcd
    • 11、etcd 上报事件【Pod部署到那个节点 】给api-server
    • 12、其他work节点的kubelet专门监听 【Pod部署到那个节点】 事件,集群所有节点kubelet从api-server就拿到了 【Pod部署到那个节点】 事件
    • 13、每个node节点的kubelet判断是否属于自己
    • 14、如果是自己该完成任务,该node的kubelet启动这个pod。汇报给master当前启动好的所有信息

    相关文章

      网友评论

        本文标题:15-Kubernetes

        本文链接:https://www.haomeiwen.com/subject/jirgfrtx.html