Kubernetes:基础的架构

打印 上一主题 下一主题

主题 984|帖子 984|积分 2952

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
kubernetes的一个简朴机构图形

     k8s 重要分为两个大结构 :
  1 控制面:master 是集群的大脑和心脏
  2 数据面:worker 重要在master 的指挥下进行工作,也称之为node
  
   kubectl 是k8s的管理工具
  我们可以使用kubectl get node来查察节点的状态  因为 Master 和 Node 的划分不是绝对的。当集群的规模较小,工作负载较少的时候,Master 也可以承担 Node 的工作
  

  
  使用kubectl get pod 来查察pod的状态
  

  
   master节点内部的结构
  Kubernetes 的节点内部也具有复杂的结构,是由很多的模块构成的,这些模块又可以分成组件(Component)和插件(Addon)两类。
  组件是k8s的核心功能的特性,而插件是一些附件的功能,是一些锦上添花的作用。
  
  Master的组件构成有哪些?
  apiserver 是 Master 节点,是整个 Kubernetes 系统的唯一入口,它对外公开了一系列的 RESTful API,而且加上了验证、授权等功能,全部的组件都必须通过apiserver来沟通。
  
  etcd 是一个高可用的分布式 Key-Value 数据库,用来恒久化存储系统里的各种资源对象和状态,重要做K8S的设置。 任何其他组件想要读写ETCD 必须通过apiserver来实现
  
  scheduler 负责容器的编排工作,查抄节点的资源状态,把pod调理到符合的节点来运行,因为节点状态和 Pod 信息都存储在 etcd 里,以是 scheduler 必须通过 apiserver 才能获得。
  
  controller-manager 负责维护容器和节点等资源的状态,实现故障检测、服务迁徙、应用伸缩等功能。必须通过apiserver 获取etcd中的节点和资源状态来进行工作。
  
  通过 kubectl get pod -n kube-system 我们可以查察组件的状态

    node节点内部都有哪些组件?
  kubelet 是 Node 节点的代理,负责管理 Node 相干的绝大部分操纵,Node 上只有它能够与 apiserver 通信,实现状态陈诉、命令下发、启停容器等功能,负责Node节点的运行维护。
  kube-proxy 的作用有点特殊,它是 Node 的网络代理,负责管理容器的网络通信, Pod 转发 TCP/UDP 数据包。
  container-runtime  是容器和镜像的实际使用者 ,负责创建容器,管理 Pod 的生命周期。
    末了我们总结下团体的调理流程:
  kubelet  向 master的apiserver 上报节点的状态,并通过apiserver存入到etcd中
  kube-proxy 负责tcp和udp的数据包 让容器可以对外提供服务
  scheduler 通过apiserver 从etcd中获取到当前节点的状态,从而调理podapiserver 下发命令给某个 Node 的 kubelet,kubelet 调用 container-runtime 启动容器。
  controller-manager  apiserver 获得节点状态,监控异常环境。
  
  

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

万万哇

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表