10 2021 档案
摘要:专题-亲和性调度(Author - XiaoYang) 简介 在未分析和深入理解scheduler源码逻辑之前,本人在操作配置亲和性上,由于官方和第三方文档者说明不清楚等原因,在亲和性理解上有遇到过一些困惑,如: 亲和性的operator的 “In”底层是什么匹配操作?正则匹配吗?“Gt/Lt”底层
阅读全文
摘要:调度器初始化 概述 今天我们要做一些琐碎的知识点分析,比如调度器启动的时候默认配置是怎么来的?默认生效了哪些调度算法?自定义的算法是如何注入的?诸如这些问题,我们顺带会看一下调度器相关的一些数据结构的含义。看完前面这些节的分析后再看完本篇文章你可能会有一种醍醐灌顶的感觉哦~ 从 --config 开
阅读全文
摘要:抢占调度 Pod priority Pod 有了 priority(优先级) 后才有优先级调度、抢占调度的说法,高优先级的 pod 可以在调度队列中排到前面,优先选择 node;另外当高优先级的 pod 找不到合适的 node 时,就会看 node 上低优先级的 pod 驱逐之后是否能够 run 起
阅读全文
摘要:优选过程 走近priority过程 !FILENAME pkg/scheduler/core/generic_scheduler.go:186 priorityList, err := PrioritizeNodes(pod, g.cachedNodeInfoMap, metaPrioritiesI
阅读全文
摘要:预选过程 预选流程 predicate过程从pkg/scheduler/core/generic_scheduler.go:389 findNodesThatFit()方法就算正式开始了,这个方法根据给定的predicate functions过滤所有的nodes来寻找一堆可以跑pod的node集。
阅读全文
摘要:一般调度过程 进入Scheduler的第三层逻辑 今天分析的代码,就已经算kube-scheduler的第三层逻辑了,我们要找到预选和优选的入口,讲完太长,干脆后面单独分2节讲预选和优选过程。所以本小节会比较简短哦~ 今天我们从pkg/scheduler/core/generic_scheduler
阅读全文
摘要:调度器框架 写在前面 今天我们从pkg/scheduler/scheduler.go出发,分析Scheduler的整体框架。前面讲Scheduler设计的时候有提到过源码的3层结构,pkg/scheduler/scheduler.go也就是中间这一层,负责Scheduler除了具体node过滤算法外
阅读全文
摘要:调度器设计 概述 我们先整体了解一下Scheduler的设计原理,然后再看这些过程是如何用代码实现的。关于调度器的设计在官网有介绍,我下面结合官网给的说明,简化掉不影响理解的复杂部分,和大家介绍一下Scheduler的工作过程。 官方描述如下: The Kubernetes scheduler ru
阅读全文
摘要:scheduler调度器源码解析 kube-scheduler是K8s集群的三大重要组件之一,负责集群运行的所有容器的调度工作,深入理解该组件可以说是入门k8s源码的灵魂所在;本文基于hutao大神的文章加入自己的理解对该组件进行深入的源码解析: 0. scheduler是一个多实例高可用选主的组件
阅读全文
摘要:部署 Flannel 网络 kubernetes 要求集群内各节点能通过 Pod 网段互联互通,本文档介绍使用 Flannel上创建互联互通的 Pod 网段的步骤。 使用的变量 本文档用到的变量定义如下: NODE_IP=100.69.218.95 # 当前部署节点的 IP ETCD_ENDPOIN
阅读全文
摘要:部署master组件 kubernetes master 包含的组件: kube-apiserver kube-scheduler kube-controller-manager 三个组件需要部署在同一节点上。 kube-scheduler、kube-controller-manager 和 kub
阅读全文
摘要:部署 kubectl 命令行工具 kubectl 默认从 ~/.kube/config 配置文件获取访问 kube-apiserver 地址、证书、用户名等信息 #一键安装kubectl 需保证yum源中存在资源 $ yum install kubectl 创建 admin 证书 kubectl 与
阅读全文
摘要:镜像部署ETCD kubernetes 系统使用 etcd 数据库存储所有数据,该数据库是很好的学习范例,此处不展开相关资料。 使用的变量 #IPADR=100.69.218.95 当前部署的机器 IP #对外暴露端口2379 通信端口2380 部署步骤 创建证书 为了保证通信安全,客户端(如 et
阅读全文
摘要:创建 CA 证书和秘钥 kubernetes 系统各组件需要使用 TLS 证书对通信进行加密,本文档使用 CloudFlare 的 PKI 工具集 cfssl 来生成 Certificate Authority (CA) 证书和秘钥文件,CA 是自签名的证书,用来签名后续创建的其它 TLS 证书。
阅读全文
摘要:组件版本与集群环境 组件配置 Centos7 Kubernetes 1.11.8 Docker 1.13.1 Etcd 3.2.18 Flanneld 0.7.1 vxlan 网络 TLS 认证通信 (etcd、kubernetes、kubectl) RBAC 授权 kubelet TLS Boot
阅读全文
摘要:单机版Kubernetes(k8s)搭建教程 本文章将从零开始搭建基本的k8s环境,使用的组件版本为Kubernetes v1.11.8。 现有的教程如下: 基于自动化工具如kubeadm搭建,在单机上可快速搭建实例用于基本测试。 完全基于二进制部署 至少需要多个节点用于部署 本文实现方式: 主要采
阅读全文

浙公网安备 33010602011771号