当前位置: 首页 > news >正文

k8s调度约束

List-Watch

Kubernetes 是通过 List-Watch的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦。

List-Watch机制

工作机制:用户通过 kubectl请求给 APIServer 来建立一个 Pod。APIServer会将Pod相关元信息存入 etcd 中,待写入操作完成,APIServer 即会返回确认信息至客户端。当etcd 接受创建 Pod 信息后,会发送ReplicaSet事件给 APIServer。由于 Controller Manager 会监听(Watch,通过https的6443端口)APIServer 中的事件。此时 APIServer 接受到了 Create 事件,就会发送给 Controller Manager。Controller Manager 在接到 Create 事件以后,调用其中的 Replication Controller 来保证 Node 上面需要创建的副本数量。在 Controller Manager 创建 Pod 副本以后,APIServer 会在 etcd 中记录这个 Pod 的详细信息。之后etcd 会将创建 Pod 的信息通过事件发送给 APIServer。Scheduler 在监听(Watch)APIServer,它会将待调度的 Pod 按照调度算法和策略绑定到集群中 Node 上。Scheduler 调度完毕以后会更新更详细 Pod 的信息,并将上面的 Pod 信息更新至 API Server,由 APIServer 更新至 etcd 中,保存起来。etcd 将更新成功的事件发送给 APIServer,APIServer 也开始反映此 Pod 对象的调度结果。kubelet 是在 Node 上面运行的进程,它也通过 List-Watch 的方式监听(Watch,通过https的6443端口)APIServer 发送的 Pod 更新的事件。kubelet 会尝试在当前节点上调用 Docker 启动容器,并将 Pod 以及容器的结果状态回送至 APIServer。APIServer 将 Pod 状态信息存入 etcd 中。在 etcd 确认写入操作成功完成后,APIServer将确认信息发送至相关的 kubelet,事件将通过它被接受。

 命令

指定调度节点

apiVersion: apps/v1  
kind: Deployment  
metadata:name: myapp
spec:replicas: 3selector:matchLabels:app: myapptemplate:metadata:labels:app: myappspec:nodeName: node01containers:- name: myappimage: soscscs/myapp:v1ports:- containerPort: 80
查看pod
kubectl get pods -o wide查看详细事件(发现未经过 scheduler 调度分配)
kubectl describe pod myapp-6bc58d7775-6wlpp

http://www.lryc.cn/news/214194.html

相关文章:

  • 面经(面试经验)第一步,从自我介绍开始说起
  • S/4 HANA 中的 Email Template
  • \r\n和\n的区别 回车/换行 在不同系统下的区别
  • 机械应用笔记
  • 机房精密空调发生内部设备通信故障不一会压缩机就停止工作,怎么处理?
  • 手机端运维管理系统——图扑 HT for Web
  • 中期科技:智慧公厕打造智能化城市设施,提升公共厕所管理与服务体验
  • innovus: set_ccopt_property的基本用法
  • 打造美团外卖新体验,HarmonyOS SDK持续赋能开发者共赢鸿蒙生态
  • Realtek 5G pcie网卡 RTL8126-CG简介
  • 新版Idea显示Git提交人信息
  • 外贸网站建设攻略:如何建设一个高效的外贸网站
  • 【机器学习合集】模型设计之网络宽度和深度设计 ->(个人学习记录笔记)
  • 使用Objective-C和ASIHTTPRequest库进行Douban电影分析
  • 2.数据结构-链表
  • B站数据质量保障体系建设与实践
  • uniapp开发小程序无法上传图片的解决方法
  • shell基础回顾
  • [云原生案例1.] 构建LNMP架构并运行Wordpress个人博客平台
  • C++归并排序算法的应用:计算右侧小于当前元素的个数
  • python类如何实例化对象
  • 基于GB28181-2022实现web无插件播放H265视频
  • Linux多线程服务端编程:使用muduo C++网络库 学习笔记 第六章 muduo网络库简介
  • 「免费活动」敏捷武林上海站 | 与 Scrum.org CEO 面对面
  • 深入大模型与ChatGPT
  • ubuntu(18.04)中架设HiGlass docker镜像服务,已尝试mcool、bedpe、wig格式文件
  • 通过API和无代码开发,邻医云如何连接电商平台,集成CRM和客服系统
  • Python selenium元素的定位
  • Android图形系统之HWComposer、ComposerHal、ComposerImpl、Composer、Hwc2::Composer实例总结(十四)
  • MASK-RCNN tensorflow环境搭建