初识k8s

Kubernetes核心组件

Master组件

  1. API Service
    API Service是k8s控制平面的前端,支持不同类型应用的生命周期编排;是集群的网关接口通过http/https协议将RESTful API提供给用户相应请求,并将结果状态存入etcd
  2. 集群状态存储器(etcd)
    K8s集群的所有状态信息存入持久化存储系统etcd中;etcd还为其存储的数据提供监听机制,用于监控和推送变更
  3. 控制器管理器(kube-controller-manager)
    控制器负责实现用户通过API Service提交的终态声明,它通过一系列操作步骤驱动API对象的当前状态逼近或等同于期望状态
  4. 调度器(kube-scheduler)
    K8s系统上的调度是指为API Service接受到的每一个pod创建请求,并在集群上为其分配出一个最佳工作节点

Node组件

  1. Kubelet
    Kubelet是k8s中最重要的组件之一,是运行予每个Node之上的节点代理服务,负责接收并执行master发来的指令,以管理当前Node上pod对象的容器等任务
  2. 容器运行时(runtime)
    Pod是一组容器组成的集合并包含这些容器的管理机制,它并为额外定义进程的边界或其他更多抽象,因此正在负责运行容器的依然是底层的运行时
  3. Kube-proxy
    Kube-proxy会把API Service上的Service资源对象转换为当前节点上的IP tables或者ipvs的规则,这些规则能够将那些发送往该service对象ChusterIP的流量分发至它的后端pod端点之上

其他核心组件

  1. CoreDNS
    K8s定制dns应用程序,实现名称解析和服务发现等功能实现
  2. Dashboard
    基于web的用户接口,用于可视化k8s集群
  3. Kubectl
    通过API Service操作k8s各种资源对象

kubernetes pod调度流程

1、用户创建pod,请求给apiseerver,apiserver将pod属性信息(metadata)写入etcd。
2、.apiserver触发watch机制准备创建pod,信息转发给调度器,调度器使用调度算法选择node,调度器将node信息给apiserver,apiserver 将绑定的node信息写入etcd。
3、apiserver又通过watch机制,调用kubelet,指定pod信息,触发runtime(运行时)创建容器。
4、创建完成之后反馈给kubelet,kubelet又将pod的状态信息给apiserver,apiserver又将pod的状态信息写入etcd。
5、其中kubectl get pods命令调用的时etcd_的信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值