书籍详情
《Kubernetes源码剖析郑东旭Kubernetes核心功能实现原理架构设计内部原理实现书源》[28M]百度网盘|亲测有效|pdf下载
  • Kubernetes源码剖析郑东旭Kubernetes核心功能实现原理架构设计内部原理实现书源

  • 出版社:华心图书专营店
  • 出版时间:2020-06
  • 热度:11444
  • 上架时间:2024-06-30 09:38:03
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍



商品参数

【套装2本】KubernetesQW指南
            定价 328.80
出版社 电子工业出版社
版次 1
出版时间 2020年06月
开本 16开
作者 郑东旭
装帧 平塑勒
页数 376
字数 432000
ISBN编码 9787121389146


内容介绍


《KubernetesQW指南:从Docker到Kubernetes实践全接触(D5版)》
Kubernetes是由谷歌开源的容器集群管理系统,为容器化应用提供了资源调度、部署运行、服务发现、扩缩容等一整套功能。Kubernetes也是将“一切以服务(Service)为中心,一切围绕服务运转”作为指导思想的创新型产品,它的功能和架构设计自始至终地遵循了这一指导思想。构建在Kubernetes上的系统不仅可以D立运行在物理机、虚拟机集群或者企业私有云上,也可以被托管在公有云上。本书z计12章,分别讲解Kubernetes的基本概念、实践指南、核心原理、开发指南、网络与存储、运维指南、新特性演进等内容。全书图文并茂、内容丰富、由浅入深、讲解全面,并围绕在生产环境中可能出现的问题,给出了大量典型案例,比如安全配置方案、网络方案、共享存储方案、高可用方案及Trouble Shooting技巧等,有很强的实战指导意义。本书的内容也随着Kubernetes的版本更新不断完善,目前涵盖了Kubernetes从1.0到1.19版本的主要特性,努力为Kubernetes用户提供QFW的Kubernetes技术指南。无论是对于软件工程师、软件架构师、测试工程师、运维工程师、技术经理,还是对于ZSIT人士,本书都J具参考价值。
《Kubernetes源码剖析》
本书主要分析了Kubernetes核心功能的实现原理,是一本帮助读者了解Kubernetes架构设计及内部原理实现的书。由于Kubernetes代码量较大,源码不容易理解,所以本书将梳理相关知识点,帮助读者快速学习。本书共分为8章,D1章简要介绍了Kubernetes架构的核心组件,以及每个核心组件在架构中的作用;D2章主要介绍了Kubernetes构建过程中的源码实现;D3章主要介绍了Kubernetes的核心数据结构定义及围绕资源展开的核心功能;D4章主要介绍了kubectl命令行交互工具的实现机制;D5章主要介绍了client-go编程式交互工具的实现机制;D6章主要介绍了Etcd存储的核心实现;D7章主要介绍了kube-apiserver组件的核心实现;D8章主要介绍了kube-scheduler组件的核心实现。本书适合云计算领域的相关技术人员、Kubernetes开发者、Go语言开发者等阅读。

作者介绍

9787121409981 KubernetesQW指南:从Docker到Kubernetes实践全接触(D5版) 239.8
9787121389146 Kubernetes源码剖析 89
  


目录


《KubernetesQW指南:从Docker到Kubernetes实践全接触(D5版)》
D1章 Kubernetes入门 1
1.1 了解Kubernetes 2
1.2 为什么要用Kubernetes 5
1.3 从一个简单的例子开始 7
1.3.1 环境准备 8
1.3.2 启动MySQL服务 8
1.3.3 启动Tomcat应用 11
1.3.4 通过浏览器访问网页 12
1.4 Kubernetes的基本概念和术语 14
1.4.1 资源对象概述 14
1.4.2 集群类 15
1.4.3 应用类 19
1.4.4 存储类 40
1.4.5 安全类 44

D2章 Kubernetes安装配置指南 47
2.1 系统要求 48
2.2 使用kubeadm工具快速安装Kubernetes集群 49
2.2.1 安装kubeadm 50
2.2.2 修改kubeadm的默认配置 50
2.2.3 下载Kubernetes的相关镜像 51
2.2.4 运行kubeadm init命令安装Master节点 52
2.2.5 将新的Node加入集群 57
2.2.6 安装CNI网络插件 59
2.2.7 验证Kubernetes集群是否工作正常 60
2.3 以二进制文件方式安装Kubernetes安全高可用集群 61
2.3.1 Master高可用部署架构 61
2.3.2 创建CA根证书 62
2.3.3 部署安全的etcd高可用集群 63
2.3.4 部署安全的Kubernetes Master高可用集群 68
2.3.5 部署Node的服务 85
2.3.6 kube-apiserver基于token的认证机制 89
2.4 使用私有镜像库的相关配置 90
2.5 Kubernetes的版本升级 91
2.5.1 二进制文件升级 91
2.5.2 使用kubeadm进行集群升级 92
2.6 CRI(容器运行时接口)详解 94
2.6.1 CRI概述 94
2.6.2 CRI的主要组件 94
2.6.3 Pod和容器的生命周期管理 95
2.6.4 面向容器级别的设计思路 96
2.6.5 尝试使用新的Docker-CRI来创建容器 97
2.6.6 CRI的进展 98
2.7 kubectl命令行工具用法详解 98
2.7.1 kubectl用法概述 99
2.7.2 kubectl子命令详解 99
2.7.3 kubectl可操作的资源对象详解 103
2.7.4 kubectl的公共参数说明 105
2.7.5 kubectl格式化输出 106
2.7.6 kubectl常用操作示例 108

D3章 深入掌握Pod 113
3.1 Pod定义详解 114
3.2 Pod的基本用法 120
3.3 静态Pod 125
3.4 Pod容器共享Volume 126
3.5 Pod的配置管理 129
3.5.1 ConfigMap概述 129
3.5.2 创建ConfigMap资源对象 129
3.5.3 在Pod中使用ConfigMap 137
3.5.4 使用ConfigMap的限制条件 143
3.6 在容器内获取Pod信息(Downward API) 144
3.6.1 环境变量方式 144
3.6.2 Volume挂载方式 148
3.6.3 Downward API支持设置的Pod和Container信息 153
3.7 Pod生命周期和重启策略 154
3.8 Pod健康检查和服务可用性检查 155
3.9 玩转Pod调度 159
3.9.1 Deployment或RC:全自动调度 162
3.9.2 NodeSelector:定向调度 163
3.9.3 NodeAffinity:Node亲和性调度 165
3.9.4 PodAffinity:Pod亲和与互斥调度策略 167
3.9.5 Taints和Tolerations(污点和容忍) 171
3.9.6 Pod Priority Preemption:Pod优先级调度 176
3.9.7 DaemonSet:在每个Node上都调度一个Pod 178
3.9.8 Job:批处理调度 181
3.9.9 Cronjob:定时任务 185
3.9.10 自定义调度器 188
3.9.11 Pod容灾调度 190
3.10 Init Container(初始化容器) 192
3.11 Pod的升级和回滚 196
3.11.1 Deployment的升级 196
3.11.2 Deployment的回滚 203
3.11.3 暂停和恢复Deployment的部署操作 205
3.11.4 其他管理对象的更新策略 207
3.12 Pod的扩缩容 209
3.12.1 手动扩缩容机制 209
3.12.2 自动扩缩容机制 211
3.13 使用StatefulSet搭建MongoDB集群 233
3.13.1 前提条件 234
3.13.2 部署StatefulSet 234
3.13.3 查看MongoDB集群的状态 238
3.13.4 StatefulSet的常见应用场景 241

D4章 深入掌握Service 245
4.1 Service定义详解 246
4.2 Service的概念和原理 248
4.2.1 Service的概念 248
4.2.2 Service的负载均衡机制 252
4.2.3 Service的多端口设置 254
4.2.4 将外部服务定义为Service 256
4.2.5 将Service暴露到集群外部 257
4.2.6 Service支持的网络协议 260
4.2.7 Kubernetes的服务发现机制 261
4.2.8 Headless Service的概念和应用 263
4.2.9 端点分片与服务拓扑 265
4.3 DNS服务搭建和配置指南 274
4.3.1 修改每个Node上kubelet的DNS启动参数 276
4.3.2 部署CoreDNS服务 276
4.3.3 服务名的DNS解析 280
4.3.4 CoreDNS的配置说明 282
4.4 Node本地DNS缓存 284
4.5 Pod的DNS域名相关特性 291
4.5.1 Pod的DNS域名 291
4.5.2 为Pod自定义hostname和subdomain 292
4.5.3 Pod的DNS策略 294
4.5.4 Pod中的自定义DNS配置 295
4.6 Ingress 7层路由机制 297
4.6.1 一个完整的例子(Ingress Controller+Ingress策略+客户端访问) 298
4.6.2 Ingress资源对象详解 309
4.6.3 Ingress策略配置详解 315
4.6.4 Ingress的TLS安全设置 319

D5章 核心组件的运行机制 326
5.1 Kubernetes API Server原理解析 327
5.1.1 Kubernetes API Server概述 327
5.1.2 API Server架构解析 330
5.1.3 D特的Kubernetes Proxy API接口 335
5.1.4 集群功能模块之间的通信 336
5.1.5 API Server网络隔离的设计 338
5.2 Controller Manager原理解析 339
5.2.1 副本调度控制器 340
5.2.2 Node Controller 342
5.2.3 ResourceQuota Controller 343
5.2.4 Namespace Controller 345
5.2.5 Service Controller与Endpoints Controller 345
5.3 Scheduler原理解析 346
5.3.1 Scheduler的调度流程 347
5.3.2 Scheduler Framework 349
5.3.3 多调度器特性 351
5.4 kubelet运行机制解析 352
5.4.1 节点管理 352
5.4.2 Pod管理 353
5.4.3 容器健康检查 354
5.4.4 cAdvisor资源监控 355
5.4.5 容器运行时 357
5.5 kube-proxy运行机制解析 359
5.5.1 DY代Proxy 360
5.5.2 D二代Proxy 361
5.5.2 D三代Proxy 362

D6章 深入分析集群安全机制 364
6.1 API Server认证管理 365
6.1.1 HTTPS证书认证 366
6.1.2 HTTP Bearer Token认证 367
6.1.3 OpenID Connect TokenD三方认证 368
6.1.4 Authenticating Proxy(认证代理) 372
6.2 API Server授权管理 373
6.2.1 ABAC授权模式详解 374
6.2.2 Webhook授权模式详解 377
6.2.3 RBAC授权模式详解 380
6.2.4 Node授权模式详解 405
6.3 Admission Control 406
6.4 Service Account 410
6.5 Secret私密凭据 415
6.6 Pod安全策略 419
6.6.1 PodSecurityPolicy的工作机制 419
6.6.2 PodSecurityPolicy配置详解 421
6.6.3 PodSecurityPolicy策略示例 427
6.6.4 PodSecurityPolicy的RBAC授权 431
6.6.5 Pod安全设置(Security Context)详解 436

D7章 网络原理 445
7.1 Kubernetes网络模型 446
7.2 Docker网络基础 448
7.2.1 网络命名空间 448
7.2.2 Veth设备对 451
7.2.3 网桥 454
7.2.4 iptables和Netfilter 456
7.2.5 路由 459
7.3 Docker的网络实现 461
7.3.1 查看Docker启动后的系统情况 463
7.3.2 查看容器启动后的网络配置(容器无端口映射) 465
7.3.3 查看容器启动后的网络配置(容器有端口映射) 468
7.3.4 Docker的网络局限性 469
7.4 Kubernetes的网络实现 470
7.4.1 容器到容器的通信 470
7.4.2 Pod之间的通信 471
7.5 Pod和Service网络实战 474
7.5.1 部署一个RC/Pod 476
7.5.2 发布一个服务 481
7.6 CNI网络模型 489
7.6.1 CNM网络模型简介 489
7.6.2 CNI网络模型详解 490
7.6.3 在Kubernetes中使用网络插件 507
7.7 开源容器网络方案 508
7.7.1 Flannel插件的原理和部署示例 508
7.7.2 Open vSwitch插件的原理和部署示例 513
7.7.3 直接路由的原理和部署示例 518
7.7.4 Calico插件的原理和部署示例 521
7.8 Kubernetes的网络策略 541
7.8.1 网络策略设置说明 542
7.8.2 Selector功能说明 544
7.8.3 为命名空间配置默认的网络策略 545
7.8.4 网络策略应用示例 547
7.8.5 NetworkPolicy的发展 550
7.9 Kubernetes对IPv4和IPv6双栈的支持 551
7.9.1 为Kubernetes集群启用IPv4和IPv6双栈 551
7.9.2 Pod双栈IP地址验证 554
7.9.3 Service双栈IP地址验证 557

D8章 存储原理和应用 560
8.1 Kubernetes存储机制概述 561
8.1.1 将资源对象映射为存储卷 562
8.1.2 Node本地存储卷 569
8.2 持久卷(Persistent Volume)详解 573
8.2.1 PV和PVC的工作原理 574
8.2.2 PV详解 581
8.2.3 PVC详解 587
8.2.4 Pod使用PVC 589
8.2.5 StorageClass详解 593
8.3 动态存储管理实战:GlusterFS 600
8.3.1 准备工作 600
8.3.2 创建GlusterFS管理服务容器集群 600
8.3.3 创建Heketi服务 603
8.3.4 通过Heketi管理GlusterFS集群 607
8.3.5 定义StorageClass 610
8.3.6 定义PVC 610
8.3.7 Pod使用PVC的存储资源 613
8.4 CSI存储机制详解 614
8.4.1 CSI的设计背景 614
8.4.2 CSI的核心组件和部署架构 615
8.4.3 CSI存储插件应用实战 617
8.4.4 CSI存储快照管理 632
8.4.5 CSI的发展 638

D9章 Kubernetes开发指南 647
9.1 REST简述 648
9.2 Kubernetes API详解 650
9.2.1 Kubernetes API概述 650
9.2.2 Kubernetes API版本的演进策略 658
9.2.3 API Groups(API组) 658
9.2.4 API REST的方法说明 661
9.2.5 API Server响应说明 663
9.3 使用Fabric8访问Kubernetes API 665
9.3.1 具体应用示例 666
9.3.2 其他客户端库 679
9.4 Kubernetes API的扩展 680
9.4.1 使用CRD扩展API资源 681
9.4.2 使用API聚合机制扩展API资源 692

D10章 Kubernetes运维管理 702
10.1 Node管理 703
10.1.1 Node的隔离与恢复 703
10.1.2 Node的扩容 704
10.2 更新资源对象的Label 705
10.3 Namespace:集群环境共享与隔离 706
10.3.1 创建Namespace 706
10.3.2 定义Context 707
10.3.3 设置工作组在特定Context中工作 708
10.4 Kubernetes资源管理 710
10.4.1 计算资源管理 712
10.4.2 资源配置范围管理(LimitRange) 722
10.4.3 资源服务质量管理(Resource QoS) 730
10.4.4 资源配额管理(Resource Quotas) 738
10.4.5 ResourceQuota和LimitRange实践 744
10.4.6 Pod中多个容器共享进程命名空间 754
10.4.7 PID资源管理 757
10.4.8 节点的CPU管理策略 757
10.4.9 拓扑管理器 761
10.5 资源紧缺时的Pod驱逐机制 766
10.5.1 驱逐时机 766
10.5.2 驱逐阈值 767
10.5.3 节点状态 768
10.5.4 节点状态的振荡 769
10.5.5 回收Node级别的资源 769
10.5.6 驱逐用户的Pod 770
10.5.7 资源Z少回收量 771
10.5.8 节点资源紧缺情况下的系统行为 772
10.5.9 可调度的资源和驱逐策略实践 773
10.5.10 现阶段的问题 773
10.6 Pod Disruption Budget(主动驱逐保护) 774
10.7 Kubernetes集群监控 778
10.7.1 使用Metrics Server监控Node和Pod的CPU和内存使用数据 778
10.7.2 Prometheus+Grafana集群性能监控平台搭建 783
10.8 Kubernetes集群日志管理 803
10.8.1 容器应用和系统组件输出日志的各种场景 803
10.8.2 Fluentd+Elasticsearch+Kibana日志系统部署 807
10.8.3 部署日志采集sidecar工具采集容器日志 821
10.9 Kubernetes的审计机制 822
10.10 使用Web UI(Dashboard)管理集群 826
10.11 Helm:Kubernetes应用包管理工具 839
10.11.1 Helm的整体架构 840
10.11.2 Helm版本说明 840
10.11.3 Helm的安装 842
10.11.4 Helm的使用 843
10.11.5 Chart说明 857
10.11.6 搭建私有Chart仓库 858

D11章 Trouble Shooting指南 862
11.1 查看系统Event 863
11.2 查看容器日志 865
11.3 查看Kubernetes服务日志 866
11.4 常见问题 868
11.4.1 由于无法下载pause镜像导致Pod一直处于Pending状态 868
11.4.2 Pod创建成功,但RESTARTS数量持续增加 870
11.4.3 通过服务名无法访问服务 871
11.5 寻求帮助 872

D12章 Kubernetes开发中的新功能 875
12.1 对Windows容器的支持 876
12.1.1 在Windows Server上安装Docker 876
12.1.2 在Windows Server上部署Kubernetes Node组件 877
12.1.3 在Windows Server上部署容器应用和服务 886
12.1.4 Kubernetes支持的Windows容器特性、限制和发展趋势 892
12.2 对GPU的支持 896
12.2.1 环境准备 897
12.2.2 在容器中使用GPU资源 900
12.2.3 发展趋势 902
12.3 Pod的垂直扩缩容 902
12.3.1 VPA详解 903
12.3.2 安装Vertical Pod Autoscaler 906
12.3.3 为Pod设置垂直扩缩容 906
12.3.4 注意事项 907
12.4 Kubernetes生态系统与演进路线 908
12.4.1 Kubernetes与CNCF 908
12.4.2 Kubernetes的演进路线 910
12.4
《Kubernetes源码剖析》
D1章 Kubernetes架构 1
1.1 Kubernetes的发展历史 1
1.2 Kubernetes架构图 2
1.3 Kubernetes各组件的功能 4
1.3.1 kubectl 5
1.3.2 client-go 5
1.3.3 kube-apiserver 5
1.3.4 kube-controller-manager 6
1.3.5 kube-scheduler 7
1.3.6 kubelet 7
1.3.7 kube-proxy 8
1.4 Kubernetes Project Layout设计 9
D2章 Kubernetes构建过程 13
2.1 构建方式 13
2.2 本地环境构建 15
2.2.1 一切都始于Makefile 16
2.2.2 本地构建过程 17
2.3 容器环境构建 18
2.4 Bazel环境构建 22
2.4.1 使用Bazel构建和测试Kubernetes源码 23
2.4.2 Bazel的工作原理 25
2.5 代码生成器 26
2.5.1 Tags 27
2.5.2 deepcopy-gen代码生成器 29
2.5.3 defaulter-gen代码生成器 30
2.5.4 conversion-gen代码生成器 32
2.5.5 openapi-gen代码生成器 34
2.5.6 go-bindata代码生成器 36
2.6 代码生成过程 37
2.7 gengo代码生成核心实现 40
2.7.1 代码生成逻辑与编译器原理 41
2.7.2 收集Go包信息 42
2.7.3 代码解析 45
2.7.4 类型系统 48
2.7.5 代码生成 51
D3章 Kubernetes核心数据结构 57
3.1 Group、Version、Resource核心数据结构 57
3.2 ResourceList 59
3.3 Group 62
3.4 Version 63
3.5 Resource 65
3.5.1 资源外部版本与内部版本 66
3.5.2 资源代码定义 68
3.5.3 将资源注册到资源注册表中 71
3.5.4 资源SX版本 71
3.5.5 资源操作方法 72
3.5.6 资源与命名空间 75
3.5.7 自定义资源 77
3.5.8 资源对象描述文件定义 78
3.6 Kubernetes内置资源全图 79
3.7 runtime.Object类型基石 83
3.8 Unstructured数据 85
3.9 Scheme资源注册表 87
3.9.1 Scheme资源注册表数据结构 87
3.9.2 资源注册表注册方法 91
3.9.3 资源注册表查询方法 92
3.10 Codec编解码器 92
3.10.1 Codec编解码实例化 94
3.10.2 jsonSerializer与yamlSerializer序列化器 95
3.10.3 protobufSerializer序列化器 98
3.11 Converter资源版本转换器 100
3.11.1 Converter转换器数据结构 101
3.11.2 Converter注册转换函数 102
3.11.3 Converter资源版本转换原理 104
D4章 kubectl命令行交互 111
4.1 kubectl命令行参数详解 111
4.2 Cobra命令行参数解析 114
4.3 创建资源对象的过程 119
4.3.1 编写资源对象描述文件 120
4.3.2 实例化Factory接口 120
4.3.3 Builder构建资源对象 121
4.3.4 Visitor多层匿名函数嵌套 122
D5章 client-go编程式交互 128
5.1 client-go源码结构 128
5.2 Client客户端对象 129
5.2.1 kubeconfig配置管理 130
5.2.2 RESTClient客户端 134
5.2.3 ClientSet客户端 137
5.2.4 DynamicClient客户端 139
5.2.5 DiscoveryClient客户端 141
5.3 Informer机制 144
5.3.1 Informer机制架构设计 145
5.3.2 Reflector 149
5.3.3 DeltaFIFO 154
5.3.4 Indexer 158
5.4 WorkQueue 162
5.4.1 FIFO队列 163
5.4.2 延迟队列 165
5.4.3 限速队列 166
5.5 EventBroadcaster事件管理器 170
5.6 代码生成器 176
5.6.1 client-gen代码生成器 176
5.6.2 lister-gen代码生成器 180
5.6.3 informer-gen代码生成器 182
5.7 其他客户端 185
D6章 Etcd存储核心实现 187
6.1 Etcd存储架构设计 187
6.2 RESTStorage存储服务通用接口 189
6.3 RegistryStore存储服务通用操作 190
6.4 Storage.Interface通用存储接口 192
6.5 CacherStorage缓存层 194
6.5.1 CacherStorage缓存层设计 195
6.5.2 ResourceVersion资源版本号 199
6.5.3 watchCache缓存滑动窗口 201
6.6 UnderlyingStorage底层存储对象 204
6.7 Codec编解码数据 206
6.8 Strategy预处理 209
6.8.1 创建资源对象时的预处理操作 209
6.8.2 更新资源对象时的预处理操作 211
6.8.3 删除资源对象时的预处理操作 212
6.8.4 导出资源对象时的预处理操作 213
D7章 kube-apiserver核心实现 214
7.1 热身概念 215
7.1.1 go-restful核心原理 215
7.1.2 一次HTTP请求的完整生命周期 218
7.1.3 OpenAPI/Swagger核心原理 219
7.1.4 HTTPS核心原理 222
7.1.5 gRPC核心原理 224
7.1.6 go-to-protobuf代码生成器 225
7.2 kube-apiserver命令行参数详解 231
7.3 kube-apiserver架构设计详解 243
7.4 kube-apiserver启动流程 244
7.4.1 资源注册 245
7.4.2 Cobra命令行参数解析 248
7.4.3 创建APIServer通用配置 249
7.4.4 创建APIExtensionsServer 257
7.4.5 创建KubeAPIServer 261
7.4.6 创建AggregatorServer 266
7.4.7 创建GenericAPIServer 269
7.4.8 启动HTTP服务 270
7.4.9 启动HTTPS服务 272
7.5 权限控制 272
7.6 认证 273
7.6.1 BasicAuth认证 276
7.6.2 ClientCA认证 277
7.6.3 TokenAuth认证 278
7.6.4 BootstrapToken认证 279
7.6.5 RequestHeader认证 281
7.6.6 WebhookTokenAuth认证 282
7.6.7 ADnymous认证 284
7.6.8 OIDC认证 285
7.6.9 ServiceAccountAuth认证 288
7.7 授权 291
7.7.1 AlwaysAllow授权 295
7.7.2 AlwaysDeny授权 296
7.7.3 ABAC授权 297
7.7.4 Webhook授权 298
7.7.5 RBAC授权 300
7.7.6 Node授权 309
7.8 准入控制器 310
7.8.1 AlwaysPullImages准入控制器 315
7.8.2 PodNodeSelector准入控制器 316
7.9 进程信号处理机制 318
7.9.1 常驻进程实现 318
7.9.2 进程的优雅关闭 319
7.9.3 向systemd报告进程状态 320
D8章 kube-scheduler核心实现 321
8.1 kube-scheduler命令行参数详解 321
8.2 kube-scheduler架构设计详解 324
8.3 kube-scheduler组件的启动流程 326
8.3.1 内置调度算法的注册 327
8.3.2 Cobra命令行参数解析 328
8.3.3 实例化Scheduler对象 329
8.3.4 运行EventBroadcaster事件管理器 331
8.3.5 运行HTTP或HTTPS服务 331
8.3.6 运行Informer同步资源 332
8.3.7 LDZ选举实例化 332
8.3.8 运行sched.Run调度器 333
8.4 优先级与抢占机制 333
8.5 亲和性调度 335
8.5.1 NodeAffinity 336
8.5.2 PodAffinity 337
8.5.3 PodAntiAffinity 338
8.6 内置调度算法 339
8.6.1 预选调度算法 339
8.6.2 优选调度算法 340
8.7 调度器核心实现 342
8.7.1 调度器运行流程 342
8.7.2 调度过程 343
8.7.3 Preempt抢占机制 351
8.7.4 bind绑定机制 356
8.8 LDZ选举机制 357
8.8.1 资源锁 358
8.8.2 LDZ选举过程 360
省略部分目录