首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在哪部分代码中,调度程序从kubernetes中的etcd和API服务器获取pod和节点信息?

在Kubernetes中,调度程序从etcd和API服务器获取pod和节点信息的代码部分是kube-scheduler组件。

kube-scheduler是Kubernetes集群中的一个核心组件,负责根据预定义的调度策略,将新创建的pod分配到合适的节点上运行。它通过与etcd和API服务器进行交互,获取集群中的资源信息和调度策略,以便做出最佳的调度决策。

具体来说,kube-scheduler在调度过程中会执行以下步骤:

  1. 从API服务器获取未分配的pod列表和节点列表。
  2. 通过调用API服务器的REST接口,获取集群中所有节点的详细信息,包括节点的资源使用情况、标签、污点等。
  3. 从etcd中获取调度策略的配置信息,例如节点亲和性、互斥性、资源限制等。
  4. 根据获取到的信息和配置,进行调度算法的计算和决策,选择最合适的节点来运行pod。
  5. 将调度结果更新到API服务器,标记相应的pod已经被调度到了哪个节点上。

需要注意的是,kube-scheduler并不直接与etcd和API服务器进行通信,而是通过Kubernetes的控制平面组件kube-apiserver来间接获取这些信息。kube-apiserver作为Kubernetes集群的API入口,负责接收和处理来自各个组件的请求,并将其转发到etcd进行存储和检索。

推荐的腾讯云相关产品是TKE(腾讯云容器服务),它是腾讯云提供的一种托管式Kubernetes服务。TKE提供了高度可扩展的集群管理能力,可以帮助用户轻松部署、管理和扩展Kubernetes集群。您可以通过以下链接了解更多关于腾讯云容器服务的信息:https://cloud.tencent.com/product/tke

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【重识云原生】第六章容器6.3.1节——K8S核心组件总述

RestFul接口,用于接收外部资源请求,是整个集群统一入口,请求信息交由etcd进行存储 Scheduler:资源调度器,负责集群资源调度,按照预定调度策略将Pod调度到相应node节点上 ControllerManager...:控制管理器,负责维护集群状态,比如程序部署安排、故障检测、自动扩展、滚动更新等,每个Node节点都会对应一个控制器对其进行管理 etcd:负责存储集群各种资源对象信息,用于保存集群相关数据 1.2...注册节点信息,并定时向 API Server 发送节点新消息,API Server 在接收到新消息后,将信息写入 etcd 2.6.2 Pod 管理 2.6.2.1 获取 Pod 清单         ...加 List 方式监听 "/registry/nodes/$ 当前节点名" “/registry/pods” 目录,将获取信息同步到本地缓存。         ...Kubelet 通过 cAdvisor 获取其所在节点及容器数据。Heapster 通过带着关联标签 Pod 分组这些信息,这些数据将被推到一个可配置后端,用于存储可视化展示。

1.3K20

n1-Kubernetes名称概念解释一览

2.API-Server为k8s系统组件间提供交流平台,并且是与etcd 通信唯一组件,其他组件不会直接 etcd 通信,而是通过 API 服务器来修改集群状态。...列表第一个插件可以提取请求客户端用户名、用户 ID 信息,并返回给 API 服务器API 服务器会停止调用剩余认证插件并继续进入授权阶段。...我们通常不会去指定 pod 应该运行在哪个集群节点上而是将这项工作交给调度器。...Kubelet 基于 API 服务器/本地文件目录 pod 定义运行 pod,当 pod API 服务器删除时,Kubelet 终止容器,并通知服务器 pod 已经被终止了。...2.每个Pod运行着一个特殊被称为Pause容器,其它则为业务容器; 3.简单说:Pod 是一组容器(可包含一个或多个应用程序容器),以及共享存储(卷 Volumes)、IP 地址有关如何运行容器信息

76710
  • K8s 很难么?带你从头到尾捋一遍,不信你学不会!

    密钥与配置管理 Kubernetes 允许您存储管理敏感信息,例如密码、OAuth 令牌 ssh 密钥。您可以在不重建容器镜像情况下部署更新密钥应用程序配置,也无需在堆栈配置暴露密钥。...kubelet: 是工作节点执行操作 agent,负责具体容器生命周期管理,根据数据库获取信息来管理容器,并上报 pod 运行状态等。...Scheduler 是作为单独程序运行,启动之后会一直坚挺 API Server,获取 PodSpec.NodeName 为空 Pod,对每个 Pod 都会创建一个 binding,表明该 Pod...使用pod反亲和性来确保在不同节点调度一个pod多个副本,从而通过计划计划外集群节点停机来确保服务可用性。...kube-proxy:运行在每个计算节点上,负责 Pod 网络代理。定时 etcd 获取到 service 信息来做相应策略。

    2.1K20

    这样设计太妙了!K8S 神秘架构终于揭开面纱!

    与大多数分布式计算平台架构一样,Kubernetes集群至少包含一个主节点多个计算节点。主服务器负责公开应用程序接口(API),安排部署并管理整个集群。...它们向应用程序公开计算,网络存储资源。节点可以是在云中运行虚拟机(VM)或在数据中心内运行裸机服务器。...根据定义需求和资源可用性,master 将 pod 调度到特定节点上。该节点从容器镜像注册表拉取镜像,并与本地容器运行时协调以启动容器。...master 查询 etcd 以检索节点pod 容器状态各种参数。 核心组件 etcd 分布式 KV 存储,保存了整个k8s集群状态配置。...API Server 发送请求到 etcd 集群,查询与请求相关元数据资源信息,然后确定将请求转发到哪个节点 持久化对象编辑。

    38940

    最详细 K8S 学习笔记总结(2021最新版)!建议收藏

    密钥与配置管理 Kubernetes 允许您存储管理敏感信息,例如密码、OAuth 令牌 ssh 密钥。您可以在不重建容器镜像情况下部署更新密钥应用程序配置,也无需在堆栈配置暴露密钥。...kubelet: 是工作节点执行操作 agent,负责具体容器生命周期管理,根据数据库获取信息来管理容器,并上报 pod 运行状态等。...Scheduler 是作为单独程序运行,启动之后会一直坚挺 API Server,获取 PodSpec.NodeName 为空 Pod,对每个 Pod 都会创建一个 binding,表明该 Pod...使用pod反亲和性来确保在不同节点调度一个pod多个副本,从而通过计划计划外集群节点停机来确保服务可用性。...kube-proxy:运行在每个计算节点上,负责 Pod 网络代理。定时 etcd 获取到 service 信息来做相应策略。

    8.8K16

    Kubernetes架构及相关服务详解

    API服务器与其他组件之间通信基本上是由其他组件发起, //获取Master节点服务健康状况 #kubectl get componentstatuses 11.1.2.k8s如何使用etcd...资源如何存储在etcd   flannel操作etcd使用是v2API,而kubernetes操作etcd使用v3API,所以在下面我们执行etcdctl时候需要设置ETCDCTL_API环境变量...它做是,启动控制器,以及一些其他组件来监控一键部署资源变更,是得组件可以再集群元数据变化时候执行任何需要做任务, 11.1.4.了解调度器   调度器指定pod运行在哪个集群节点上。   ...调度器不会命令选中节点取运行pod调度器做就是通过api服务器更新pod定义。然后api服务器再去通知kubelet该pod已经被调用。...第一个任务,在api服务器创建一个node资源来注册该节点;第二任务,持续监控api服务器是否把该节点分配给pod;第三任务,启动pod;第四任务,持续监控运行容器,向api服务器报告他们状态,事件资源消耗

    1.2K40

    新手必须知道 Kubernetes 架构

    实际上,etcdKubernetes 存储集群状态元数据唯一地方。唯一直接与 etcd 对话组件是 Kubernetes API Server。...API Server API Server 是 Kubernetes 唯一与 etcd 直接交互组件。...Scheduler 调度程序是一个控制平面进程,它将 pod 分配给节点。它监视没有分配节点新创建 pod,并且对于调度程序发现每个 pod调度程序负责为该 pod 找到运行最佳节点。...然后它会通知 API Server 有关所选节点信息,此过程称为绑定。 节点选择分为两步: 过滤 所有节点列表以获取 pod 可以调度可接受节点列表。...运行容器活性探测,在探测失败时重新启动容器,在容器 Pod API Server 删除时终止容器,并通知服务器 Pod 已终止。

    71630

    K8S(kubernetes)概述

    ,使得用户无需考虑容器IP问题 5.机密配置管理 管理机密数据应用程序配置,而不需要把敏感数据暴露在径向力,提高敏感数据安全性,并可以将一些常用配置存储在k8s,方便应用程序调用 6.存储编排...三、kubernetes集群架构与组件 kubernetes集群架构拓补图 注: API server是所有请求唯一入口 api server管理所有的事务,并把信息记录到etcd数据库 etcd...有一个自动服务发现特性机制,etcd会搭建有三个节点集群,实现三副本 scheduler 调度器用来调度资源,查看业务节点资源情况,确定在哪个node上创建pod,把指令告知给api server...etcd 分布式键值存储系统,用户保存集群状态数据,比如pod、service等对象信息 2.node组件 kubelet kubelet时master在node节点代理agent,管理本node...运行容器生命周期 比如创建容器、pod挂载数据卷、下载sercet、获取容器节点状态等工作,kubelet将每个pod转换成一组容器 kube-proxy 在node节点上实现pod网络代理,维护网络规则四层负载均衡工作

    92110

    新手必须知道 Kubernetes 架构

    实际上,etcdKubernetes 存储集群状态元数据唯一地方。唯一直接与 etcd 对话组件是 Kubernetes API Server。...为客户端实现监视机制(类似于 etcd)以监视更改。这允许调度程序 Controller Manager 等组件以松散耦合方式与 API Server 交互。...Scheduler 调度程序是一个控制平面进程,它将 pod 分配给节点。它监视没有分配节点新创建 pod,并且对于调度程序发现每个 pod调度程序负责为该 pod 找到运行最佳节点。...然后它会通知 API Server 有关所选节点信息,此过程称为绑定。 节点选择分为两步: 过滤所有节点列表以获取 pod 可以调度可接受节点列表。...运行容器活性探测,在探测失败时重新启动容器,在容器 Pod API Server 删除时终止容器,并通知服务器 Pod 已终止。

    58620

    Kubernetes RUSH

    ** 节点控制器云提供商获取当前租户主机信息。...**节点控制器执行以下功能: 使用云平台 API 获取对应服务器唯一标识符更新 Node 对象; 利用特定云平台信息为 Node 对象添加注解标签,例如节点所在区域 (Region)所具有的资源...主要作用简单来说就是通过一定调度算法,将pod调度到更合适节点上。 etcd 一致且高可用键值存储,用作 Kubernetes 所有集群数据后台数据库。...API 服务器负责提供 HTTP API,以供用户、集群不同部分集群外部组件相互通信。...控制面到节点 控制面(API 服务器)到节点有两种主要通信路径。 第一种是 API 服务器到集群每个节点上运行 kubelet 进程。

    12010

    Kubernetes架构原来这么简单

    时光回溯 我们来了解一下为何 Kubernetes 能够裨益四方 传统部署时代:早期,各个组织是在物理服务器上运行应用程序。由于无法限制在物理服务器运行应用程序资源使用,因此会导致资源分配问题。...例如,如果在同一台物理服务器上运行多个应用程序, 则可能会出现一个应用程序占用大部分资源情况,而导致其他应用程序性能下降。...Kubernetes 组件 K8S 是属于主从架构(Master-Slave 架构),即有 Master 节点负责集群调度、管理运维,Slave 节点是集群运算工作负载节点。..., Docker run, scheduler会调用API ServerAPIetcd创建一个bound pod对象,描述在一个工作节点上绑定运行所有pod信息。...运行在每个工作节点kubelet也会定期与etcd同步bound pod信息,一旦发现应该在该工作节点上运行bound pod对象没有更新,则调用Docker API创建并启动pod容器 8、

    1.2K41

    【K8S专栏】什么是Kubernetes

    (3)一旦 kube-scheduler 返回一个适合调度目标节点后,kube-apiserver 就把任务节点信息存入etcd,并创建任务。...在生产级Kubernetesetcd通常会以集群方式存在,安全原因,它只能从 API 服务器访问。...例如,如果应用程序需要 1GB 内存 2 个 CPU 内核,那么该应用程序 pod 将被安排在至少具有这些资源节点上。每次需要调度 pod 时,调度程序都会运行。...抽象成CRI、CNI、CSI 负责汇报节点健康状态以及资源信息 负责Pod健康检查状态汇报 Kube-proxy kube-proxy 是集群每个节点上运行网络代理, 实现 Kubernetes...它跨集群各种隔离网络将请求转发到正确 pod/容器。kube-proxy 维护节点网络规则。这些网络规则允许集群内部或外部网络会话与 Pod 进行网络通信。

    39540

    IT运维面试问题总结-LVS、Keepalived、HAProxy、Kubernetes、OpenShift等

    etcd本身分布式架构存储信息访问支持负载均衡。etcd集群化以后,每个etcd核心节点都可以处理用户请求。所以,把数据量小但是访问频繁消息数据直接存储到etcd也可以实现负载均衡效果。...,若监测结果与设定正常结果不一致,将此服务对应节点服务器集群剔除。...其主要作用有: 资源获取:代替客户端实现从原始服务器资源获取; 加速访问:代理服务器可能离原始服务器更近,从而起到一定加速作用; 缓存作用:代理服务器保存原始服务器获取资源,从而实现客户端快速获取...集群内各个功能模块通过API Server将信息存入etcd,当需要获取操作这些数据时,则通过API Server提供REST接口(用GET、LIST或WATCH方法)来实现,从而实现各模块之间信息交互...Kubernetes Scheduler通过调度算法调度为待调度Pod列表每个PodNode列表中选择一个最适合Node来实现Pod调度

    5.2K61

    n1-Kubernetes名称概念解释一览

    2.API-Server为k8s系统组件间提供交流平台,并且是与etcd 通信唯一组件,其他组件不会直接 etcd 通信,而是通过 API 服务器来修改集群状态。...列表第一个插件可以提取请求客户端用户名、用户 ID 信息,并返回给 API 服务器API 服务器会停止调用剩余认证插件并继续进入授权阶段。...我们通常不会去指定 pod 应该运行在哪个集群节点上而是将这项工作交给调度器。...Kubelet 基于 API 服务器/本地文件目录 pod 定义运行 pod,当 pod API 服务器删除时,Kubelet 终止容器,并通知服务器 pod 已经被终止了。...2.每个Pod运行着一个特殊被称为Pause容器,其它则为业务容器; 3.简单说:Pod 是一组容器(可包含一个或多个应用程序容器),以及共享存储(卷 Volumes)、IP 地址有关如何运行容器信息

    45020

    kubernetes 容器编排系统介绍

    它维护REST对象将持久化到etcd。 Scheduler:负责集群资源调度,为新建pod分配机器。这部分工作分出来变成一个组件,意味着可以很方便地替换成其他调度器。...它会定期etcd获取分配到本机pod,并根据pod信息启动或停止相应容器。同时,它也会接收apiserverHTTP请求,汇报pod运行状态。 Kube Proxy:负责为pod提供代理。...它会定期etcd获取所有的service,并根据service信息创建代理。当某个客户pod要访问其他pod时,访问请求会经过本机proxy做转发。...Kubelet在启动时通过API Server注册节点信息,并定时向API Server发送节点信息API Server接收到这些信息后,将这些信息写入etcd。...简单地说,就是通过调度算法调度,为待调度pod列表每个podnode列表中选择一个最适合node。

    14.9K30

    k8s架构与组件详解

    3.一旦 kube-scheduler 返回一个适合调度目标节点后,kube-apiserver 就把任务节点信息存入etcd,并创建任务。...etcd etcd 是兼具一致性高可用性键值数据库,可以作为保存 Kubernetes 所有集群数据后台数据库(例如 Pod 数量、状态、命名空间等)、API 对象和服务发现细节。...在生产级k8setcd通常会以集群方式存在,安全原因,它只能从 API 服务器访问。 etcd也是k8s生态关键应用。关于 etcd 可参考 etcd 文档[1]。...例如,如果应用程序需要 1GB 内存 2 个 CPU 内核,那么该应用程序 pod 将被安排在至少具有这些资源节点上。每次需要调度 pod 时,调度程序都会运行。...调度程序必须知道可用总资源以及分配给每个节点上现有工作负载资源。

    3.8K30

    你没见过 K8S 大总结

    密钥与配置管理 Kubernetes 允许您存储管理敏感信息,例如密码、OAuth 令牌 ssh 密钥。您可以在不重建容器镜像情况下部署更新密钥应用程序配置,也无需在堆栈配置暴露密钥。...kubelet: 是工作节点执行操作 agent,负责具体容器生命周期管理,根据数据库获取信息来管理容器,并上报 pod 运行状态等。...Scheduler 是作为单独程序运行,启动之后会一直坚挺 API Server,获取 PodSpec.NodeName 为空 Pod,对每个 Pod 都会创建一个 binding,表明该 Pod...使用pod反亲和性来确保在不同节点调度一个pod多个副本,从而通过计划计划外集群节点停机来确保服务可用性。...kube-proxy:运行在每个计算节点上,负责 Pod 网络代理。定时 etcd 获取到 service 信息来做相应策略。

    1.2K00

    k8s之旅-1

    image.png Kubernetes是为生产环境而设计容器调度管理系统 Kubernetes集群组成部分 分布式存储etcd:保存集群状态 服务节点Minion,etcd现在称为Node:...控制节点Master:运行节点管理控制模块 k8s组件 Cluster : 集群是指由k8s使用一系列物理机、虚拟机其他基础资源来运行用户应用程序。...Node: 一个node就是一个运行着k8s物理机或虚拟机,并且pod可以在其上面被调度Pod : 一个pod对应一个由相关容器卷组成容器组。...配置组织集群, 同时集群各个节点etcd存储交互也是通过Apiserver进行交互。...获取pod运行在哪节点信息 2.显示所有rc kubectl get rc 3.显示所有service kubectl get service 4.删除rc kubectl delete rc

    49510

    10-Kubernetes进阶之原理架构学习及操作配置

    集群各个功能模块通过API Server将信息存入etcd之中,当需要获取这些信息时则通过API Server提供REST接口实现, 从而实现各个组件之间交互; 即API Server本身是无状态服务...(里面是待调度Pod全部计算节点信息),经过黑盒内部调度算法策略处理输出为最优节点,而后将Pod调度在该节点之上; Q: 上述过程看似简单但在实际生产环境调度过程,由很多问题需要进行考虑...Kubernetes调度器使用PredicatesPriorites来决定一个Pod应该运行在哪一个节点上, 即调度分为以下几个部分: 首先是预选过程,过滤掉不满足条件节点,称为 Predicates...调度器最核心逻辑并不复杂 : Scheduler首先监听apiserver ,获取没有被调度Pod全部节点列表,而后根据一定算法策略节点中选择一个作为调度结果,最后向apiserver写入...获取调度Pod(spec.schedulerName 是my-scheduler,并且spec.nodeName 为空),同样地,用kubectlapiserver获取nodes信息,然后随机选择一个

    1.2K10
    领券