前言
第1章Kubernetes系统基础 1
1.1容器技术概述 1
1.1.1容器技术的功用 2
1.1.2容器简史 3
1.1.3Docker的功能限制 4
1.2Kubernetes概述 4
1.2.1Kubernetes简史 4
1.2.2Kubernetes特性 5
1.2.3Kubernetes概念和术语 6
1.3Kubernetes集群组件 10
1.3.1Master组件 10
1.3.2Node组件 12
1.3.3核心附件 13
1.4Kubernetes网络模型基础 13
1.4.1网络模型概述 13
1.4.2集群上的网络通信 15
1.5本章小结 16
第2章Kubernetes快速入门 17
2.1Kubernetes的核心对象 17
2.1.1Pod资源对象 18
2.1.2Controller 19
2.1.3Service 20
2.1.4部署应用程序的主体过程 21
2.2部署Kubernetes集群 22
2.2.1kubeadm部署工具 22
2.2.2集群运行模式 24
2.2.3准备用于实践操作的集群环境 25
2.2.4获取集群环境相关的信息 26
2.3kubectl使用基础与示例 26
2.4命令式容器应用编排 29
2.4.1部署应用(Pod) 30
2.4.2探查Pod及应用详情 33
2.4.3部署Service对象 36
2.4.4扩容和缩容 38
2.4.5修改及删除对象 40
2.5本章小结 41
第3章资源管理基础 42
3.1资源对象及API群组 42
3.1.1Kubernetes的资源对象 43
3.1.2资源及其在API中的组织形式 46
3.1.3访问Kubernetes REST API 48
3.2对象类资源格式 49
3.2.1资源配置清单 50
3.2.2metadata嵌套字段 51
3.2.3spec和status字段 52
3.2.4资源配置清单格式文档 53
3.2.5资源对象管理方式 54
3.3kubectl命令与资源管理 56
3.3.1资源管理操作概述 56
3.3.2kubectl的基本用法 57
3.4管理名称空间资源 59
3.4.1查看名称空间及其资源对象 60
3.4.2管理Namespace资源 61
3.5Pod资源的基础管理操作 61
3.5.1陈述式对象配置管理方式 62
3.5.2声明式对象配置管理方式 64
3.6本章小结 65
第4章管理Pod资源对象 66
4.1容器与Pod资源对象 66
4.2管理Pod对象的容器 68
4.2.1镜像及其获取策略 69
4.2.2暴露端口 70
4.2.3自定义运行的容器化应用 71
4.2.4环境变量 72
4.2.5共享节点的网络名称空间 73
4.2.6设置Pod对象的安全上下文 74
4.3标签与标签选择器 75
4.3.1标签概述 75
4.3.2管理资源标签 77
4.3.3标签选择器 78
4.3.4Pod节点选择器nodeSelector 79
4.4资源注解 80
4.4.1查看资源注解 81
4.4.2管理资源注解 82
4.5Pod对象的生命周期 82
4.5.1Pod的相位 82
4.5.2Pod的创建过程 83
4.5.3Pod生命周期中的重要行为 84
4.5.4容器的重启策略 87
4.5.5Pod的终止过程 87
4.6Pod存活性探测 88
4.6.1设置exec探针 89
4.6.2设置HTTP探针 90
4.6.3设置TCP探针 92
4.6.4存活性探测行为属性 93
4.7Pod就绪性探测 94
4.8资源需求及资源限制 96
4.8.1资源需求 96
4.8.2资源限制 98
4.8.3容器的可见资源 99
4.8.4Pod的服务质量类别 100
4.9本章小结 101
第5章Pod控制器 103
5.1关于Pod控制器 103
5.1.1Pod控制器概述 104
5.1.2控制器与Pod对象 105
5.1.3Pod模板资源 106
5.2ReplicaSet控制器 106
5.2.1ReplicaSet概述 107
5.2.2创建ReplicaSet 108
5.2.3ReplicaSet管控下的Pod对象 109
5.2.4更新ReplicaSet控制器 111
5.2.5删除ReplicaSet控制器资源 114
5.3Deployment控制器 114
5.3.1创建Deployment 115
5.3.2更新策略 116
5.3.3升级Deployment 119
5.3.4金丝雀发布 121
5.3.5回滚Deployment控制器下的应用发布 123
5.3.6扩容和缩容 123
5.4DaemonSet控制器 124
5.4.1创建DaemonSet资源对象 124
5.4.2更新DaemonSet对象 126
5.5Job控制器 127
5.5.1创建Job对象 128
5.5.2并行式Job 129
5.5.3Job扩容 130
5.5.4删除Job 130
5.6CronJob控制器 131
5.6.1创建CronJob对象 131
5.6.2CronJob的控制机制 132
5.7ReplicationController 133
5.8Pod中断预算 133
5.9本章小结 134
第6章Service和Ingress 136
6.1Service资源及其实现模型 136
6.1.1Service资源概述 136
6.1.2虚拟IP和服务代理 138
6.2Service资源的基础应用 140
6.2.1创建Service资源 140
6.2.2向Service对象请求服务 141
6.2.3Service会话粘性 142
6.3服务发现 143
6.3.1服务发现概述 143
6.3.2服务发现方式:环境变量 145
6.3.3ClusterDNS和服务发现 146
6.3.4服务发现方式:DNS 146
6.4服务暴露 147
6.4.1Service类型 147
6.4.2NodePort类型的Service资源 149
6.4.3LoadBalancer类型的Service资源 150
6.4.4ExternalName Service 151
6.5Headless类型的Service资源 152
6.5.1创建Headless Service资源 153
6.5.2Pod资源发现 153
6.6Ingress资源 154
6.6.1Ingress和Ingress Controller 154
6.6.2创建Ingress资源 155
6.6.3Ingress资源类型 157
6.6.4部署Ingress控制器(Nginx) 159
6.7案例:使用Ingress发布tomcat 161
6.7.1准备名称空间 161
6.7.2部署tomcat实例 162
6.7.3创建Service资源 163
6.7.4创建Ingress资源 164
6.
展开