首页 > 其他分享 >k8s 调度

k8s 调度

时间:2024-01-06 13:00:36浏览次数:37  
标签:副本 调度 节点 集群 Pod k8s pod

k8s 调度_Server


k8s 调度

Scheduler 是 kubernetes 的调度器,主要的任务是把定义的 pod 分配到集群的节点上。听起来非常简单,但有很多要考虑的问题:

  • 公平:如何保证每个节点都能被分配资源
  • 资源高效利用:集群所有资源最大化被使用
  • 效率:调度的性能要好,能够尽快地对大批量的 pod 完成调度工作
  • 灵活:允许用户根据自己的需求控制调度的逻辑
    Sheduler 是作为单独的程序运行的,启动之后会一直监听 API Server,获取 PodSpec.NodeName 为空的 pod,对每个 pod 都会创建一个 binding,表明该 pod 应该放到哪个节点上

K8s调度策略

deployment:全自动调度

Deployment的主要功能之一就是自动部署一个容器应用的多份副本,以及持续监控副本的数量,在集群内始终维持用户指定的副本数量。从调度策略上来说,Pod由系统全自动完成调度。它们各自最终运行在哪个节点上,完全由Master的Scheduler经过一系列算法计算得出,用户无法干预调度过程和结果。

NodeSelector:定向调度

NodeAffinity:Node亲和性调度

Pod Priority Preemption:Pod优先级调度




标签:副本,调度,节点,集群,Pod,k8s,pod
From: https://blog.51cto.com/u_7050893/9127162

相关文章

  • K8s 学习_组件说明
    1.k8s的组件分类主要分为mater组件,(apiserver,etcd,ControllerManager,schedule)2.Node组件Node主要负责容器的各种依赖环境,并接受Master管理,每个Node的构成:Kubelete,ContainerRuntime,Kube-pxoxy.3.核心组件k8s还依赖于一组的附件组件,通常是由第三方的提供的特定的应用程序。......
  • K8s_pod
    Pod:Pod是K8S的最小资源单位,经过yaml语法来来将docker镜像转化为Poddocker生命周期:1.启动initC 2.启动前执行Start3.同时启动readliness(就绪检测)和liveness(存活检测)4.关闭前执行Stop参考资料:http://www.noobyard.com/article/p-nqajybzb-da.html......
  • k8s_资源清单
    在k8s中,一般使用yaml格式的文件来创建符合我们预期期望的pod,这样的yaml文件我们一般称为资源清单。2.资源清单格式:apiVersion:group/apiversion#如果没有给定group名称,那么默认为core,可以使用kubectlapi-versions#获取当前k8s版本上所有的apiVersion版本信息(每个......
  • FAQ-k8s-harbor拉取镜像权限问题-imagePullSecrets
    一、配置1、dockervim/etc/docker/daemon.json{"insecure-registries":["192.168.10.122"]}systemctldaemon-reloadsystemctlrestartdocker二、方式一1、登录dockerlogin192.168.10.122-uadmin-pHarbor123452、查看config.json文件cat~/.docker/co......
  • K8s客户端软件Lens与OpenLens
    最近公司将系统部署迁移到k8s集群上,但是多个环境(sit\uat\pre)并未将日志集成入elk,且并未将多环境集群的kubeconfig文件合并。查看日志属于高频操作,每次都需要kubectlusecontext、kubectl-n$namespacelogs-f$pod_name,极其麻烦。在此背景下,开始寻找比较好用的k8s......
  • 记录一次K8s pod被杀的排查过程
    问题描述今天下午运维反馈说我们这一个pod一天重启了8次,需要排查下原因。一看Kiban日志,jvm没有抛出过任何错误,服务就直接重启了。显然是进程被直接杀了,初步判断是pod达到内存上限被K8soomkill了。因为我们xmx和xsx设置的都是3G,而pod的内存上限设置的是6G,所以出现这种情况还挺诡......
  • 太强了!全新一代分布式任务调度与计算框架!
    大家好,我是Java陈序员。我们在工作开发中,离不开任务调度。通过指定的间隔时间执行各类操作,来完成无需用户操作的任务。目前市场上,有一些编程语言本身自带的定时任务工具,如Java中Timer。也有一些比较成熟的定时任务框架,如Quartz。现在大部分系统都是使用分布式,分布式的任务调度......
  • k8s集群部署报错问题合集
    1、报错-- thenumberofavailableCPUs1islessthantherequired2解决方法:如图中报错,至少需要2核CPU,增加CPU核数2、报错kubeletserviceisnotenabled###解决方法:kubelet没有开启开机自启动,按照提示运行:systemctlenablekubelet.service3、thisversionofkubeadm......
  • 部署Kubernetes(K8s)高可用群集需要多个步骤和考虑因素
    部署一个Kubernetes(K8s)高可用群集需要多个步骤和考虑因素。以下是详细步骤:规划和准备:评估集群需求,包括资源(CPU、内存、存储)、网络、安全和可扩展性。选择部署环境:公有云、私有云、混合云或本地数据中心。选择合适的Kubernetes发行版,例如kubeadm、Kops、Rancher或云提供商的托管服务......
  • k8s多集群管理工具--kuboard v3
    docker拉取镜像安装部署kuboard:v31、###docker拉取镜像dockerpullswr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v32、###启动kuboard容器dockerrun-d\--restart=unless-stopped\--name=kuboard\-p8081:80/tcp\-p30081:10081/tcp\-eKUBOARD_EN......