kubernetes K8S基础

  因为kubernetes字母k和s之间有8个字母,所以简写为k8s,k8s是容器的编排工具,用来管理容器的运行与调度

k8s特性

  • 自动调度   向k8s控制面发送指令,控制面会决定如何调度
  • 故障自愈   挂掉的容器会在集群其他节点拉活
  • 多副本
  • 负载均衡
  • 跨主机的容器网络互通
  • 服务发现
  • 服务注册
  • 网络策略

k8s组成

 k8s由控制面和数据面组成,控制面就是管理节点,数据面就是工作节点

  1. 控制面包含的组件
    -  kube-apiserver 负责接收并响应用户请求
    -  kube-scheduler 调度器,负责选择合适的节点运行容器
    -  kube-controller-manager 负责监视整个集群的状态,并确保集群中的容器总是按照期望运行
    -  etcd kubernetes集群的数据库,用于保存kubernetes集群的所有数据信息
  2. 数据面包含的组件
    -  容器运行时  containerd
    -  kubelet  接收控制面的指令,在工作节点上调用容器运行时创建容器
    -  kube-proxy

k8s工作原理

  kube-apiserver接收用户请求并响应用户请求,kube-scheduler、kube-controller-manager、kubelet会向kube-apiserver传递心跳,表示节点或服务存活,kube-apiserver记录工作节点状态写入etcd,也会周期性的向kube-apiserver请求是否任务需要完成;
  一旦用户下达了指令,例如创建容器,kube-apiserver就会接收请求,并写入etcd,当scheduler向kube-apiserver请求任务时,kube-apiserver会将接收的创建容器的请求发送给kube-scheduler,同时也会请求kubelet节点状态,scheduler通过调度算法来决定在哪个kubelet节点创建容器,并反馈给kube-apiserver,kube-apiserver将信息记录到etcd中;
  当kubelet向api请求任务时,kube-apiserver在etcd中查询到节点有创建容器的任务,就会将任务丢给对应kubelet去创建;
  kube-controller-manager向kube-apiserver请求任务,kube-apiserver会将集群信息发送给kube-controller-manager去检查。一旦发现任务不达标,就给将信息发送给kube-apiserver,kube-apiserver会记录在etcd中,当kubelet请求时,api会重新分配任务

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 研究事物发展过程中的各个发展阶段上的矛盾的特殊性,不但必须在其联结上,在其总体上去看,而且必须从各个阶段中矛盾的各...
    杜文硕阅读 162评论 0 0
  • 投射我儿读书明理,修身做人,每天情绪平和稳定,阳光快乐,越来越会调节自己的情绪和压力。 投射我儿对家人、他人、社会...
    花开生两面阅读 44评论 0 0
  • 大荔县心理咨询协会郭亚婵坚持分享第938天: 学习打卡第26天: 三、扩大知觉而非颠覆框架的提问 意图 ...
    快乐有我_c00f阅读 94评论 0 0
  • 通过三天培训学习,本人切实感觉到了自身的提高,在此感谢上级领导安排的此次学习,使自我的理论基础,道德水准,业务修养...
    施可丰井维洋阅读 64评论 0 0
  • 昨天又去跑了一块耕地,流失的土斑。,快递就在过路机后面,这小心条的公路下面。路很陡,弯也很直,而且还下着雨,还好是...
    桂亘阅读 92评论 0 1