k8s组件功能介绍

k8s组件分为master节点组件和node节点组件:在这里插入图片描述

master节点组件:

apiserver提供集群管理的REST API接口,包括认证授权、数据校验以及集群状态变更等

  • 鉴权、准入控制,请求的合法性验证
  • 只有API Server才直接操作etcd
  • 其他模块通过API Server查询或修改数据 ,集群访问的统一网关
  • 提供其他模块之间的数据交互和通信的枢纽
  • 对外所有用户暴露统一的restful API接口

scheduler负责分配调度Pod到集群内的node节点

  • 监听kube-apiserver,查询还未分配Node的Pod
  • 根据调度策略为这些Pod分配节点,把pod调度到一个合适的节点运行

controller-manager由一系列的控制器组成,它通过apiserver监控整个集群的状态,并确保集群处于预期的工作状态

  • kube-controller-manager:Controller Manager还包括一些子控制器(副本控制器、节点控制器、命名空间控制器和服务账号控制器等),控制器作为集群内部的管理控制中心,负责集群内的Node、Pod副本、服务端点(Endpoint)、命名空间(Namespace)、服务账号(ServiceAccount)、资源定额(ResourceQuota)的管理,当某个Node意外宕机时,Controller Manager会及时发现并执行自动化修复流程,确保集群中的pod副本始终处于预期的工作状态。
  • controller-manager控制器每间隔5秒检查一次节点的状态。
  • 如果controller-manager控制器没有收到自节点的心跳,则将该node节点被标记为不可达。
  • controller-manager将在标记为无法访问之前等待40秒。
  • 如果该node节点被标记为无法访问后5分钟还没有恢复,controller-manager会删除当前node节点的所有pod并在其它可用节点重建这些pod。

etcd组件:

k8s集群后端数据存储的键值数据库,集群个数必须是奇数,节点一般三个即可满足高可用,过多反而不好,影响数据同步效率,对k8s来说,非常重要,需做好备份恢复

node节点组件介绍:

kubelet组件:

  • 监听节点node运行状态,汇报给master
  • 调用docker守护监控,完成pod的创建、更新、删除 等操作(k8s版本<= 1.23);1.24版本默认容器运行时为containerd

kube-proxy组件:

  • k8s中service概念的具体实现
  • 通过管理iptables或者IPVS规则来实现网络的转发

容器运行时

k8s版本 < 1.24版本之前是docker, >=1.24版本以后是containerd,负责调起runc进程,提供容器具体的运行环境

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Kubernetes是一个高度可扩展的容器编排平台,它由多个组件组成,每个组件都有不同的职责和功能。下面是Kubernetes中各个组件的详细介绍: 1. kube-apiserver:Kubernetes API Server是所有操作的入口,负责接收和处理API请求,然后将其存储在etcd中。它还控制Kubernetes中所有的资源对象,如pods、services、replication controllers等。 2. etcd:Kubernetes使用etcd作为其分布式键值存储,用于存储集群状态和配置信息。etcd是Kubernetes的基础,它提供了高可用性、强一致性和高性能的数据存储。 3. kube-scheduler:Kubernetes调度器负责将新创建的Pod分配到可用的节点上。它基于一系列规则和策略来选择最佳的节点。 4. kube-controller-manager:Kubernetes控制器管理器是一组控制器的集合,它们用于监控和控制Kubernetes集群中的各种资源对象。其中包括Node Controller、Replication Controller、Endpoints Controller等。 5. kubelet:Kubelet是Kubernetes节点上的代理程序,负责管理节点上的容器和容器组。它会定期从API Server获取Pod的配置信息,并根据配置信息创建、启动、停止和销毁容器。 6. kube-proxy:Kubernetes代理程序是负责在节点之间进行网络代理和负载均衡的组件。它通过iptables或IPVS规则实现服务发现和路由。 7. Container Runtime:Kubernetes支持多种容器运行时,包括Docker、CRI-O和containerd等。容器运行时负责启动、停止和管理容器。 总之,Kubernetes中的各个组件都是相互关联的,它们协同工作以提供高度可用、可扩展、自动化的容器编排平台。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值