zoukankan      html  css  js  c++  java
  • kubernetes入门(02)kubernetes的架构

    一、kubernetes的主从架构

    kubectl,全称 Kubernetes Control Plane,它表示Kubernetes为了实现最终的目标而构建的一组集群范围内的进程,这组进程相互协调,保证整个集群系统达到用户所期望的目标状态,比如,容器失败自动调度并重启,应用服务的扩容缩容,等等。

    Kubectl 管理了Kubernetes集群中的所有Kubernetes对象及其状态,这些对象包括Pod、Service、Volume、Namespace、ReplicaSet、Deployment、StatefulSet、DaemonSet、Job等等。

    Kubernetes Control Plane主要包含两部分,一部分是Kubernetes集群Master上一组关键进程,另一个部分是在每个工作的Node节点上的一组关键进程。

     

     

    二、Kubernetes Master

    Kubernetes Master主要由kube-apiserver、kube-controller-manager和kube-scheduler三个进程组成,它们运行在集群中一个单独的节点上,具体说明如下:

    1、kube-apiserver进程

    想要操作Kubernetes集群中的任何对象,都需要经过kube-apiserver,它封装了对Kubernetes对象的所有操作,以REST接口方式提供给想要与Kubernetes交互的任何客户端。经过kube-apiserver的所有对Kubernetes对象的修改操作都将持久化到etcd存储中。

    2、kube-controller-manager进程

    kube-controller-manager进程负责运行各种Controller,这些Controller主要包括:

    • Node Controller
    • Replication Controller
    • Endpoints Controller
    • Service Account
    • Token Controller

    3、kube-scheduler进程

    kube-scheduler进程负责Kubernetes集群内部的资源调度,主要负责监视Kubernetes集群内部已创建但没有被调度到某个Node上的Pod,然后将该Pod调度到一个选定的Node上面运行。

    三、Kubernetes Node

    Kubernetes集群中,每个工作的Node节点上主要运行如下两个进程:

    1、kubelet进程

    kubelet负责监视指派到它所在Node上的Pod,还负责处理如下工作:

    • 为Pod挂载Volume
    • 下载Pod拥有的Secret
    • 运行属于Pod的容器
    • 周期性地检查Pod中的容器是否存活
    • 向Master报告当前Node上Pod的状态信息
    • 向Master报告当前Node的状态信息

    2、kube-proxy进程

    在Kubernetes集群中,每个Node上面都有一个该网络代理进程,它主要负责为Pod对象提供代理:定期从etcd存储中获取所有的Service对象,并根据Service信息创建代理。当某个Client要访问一个Pod时,请求会经过该Node上的代理进程进行请求转发。

    3、docker 容器引擎

    四、学习脑图

  • 相关阅读:
    关于螺旋矩阵的问题
    JDK 1.5 for 循环的新写法
    Java基础视频笔记(三)
    关于接口的理解
    常用的DOS命令
    Java基础视频笔记(二)
    Eclipse的常用快捷键备忘
    Java基础视频笔记(四):泛型
    异常设计准则
    多重继承和虚继承的内存布局(转)
  • 原文地址:https://www.cnblogs.com/lexiaofei/p/7778360.html
Copyright © 2011-2022 走看看