暂无商品咨询信息 [发表商品咨询]
"《云原生Kubernetes自动化运维实践》以一名大型企业集群运维工程师的实战经验为基础,全面系统地阐述Kubernetes(K8s)在自动化运维领域的技术应用。《云原生Kubernetes自动化运维实践》共16章,内容由浅入深,逐步揭示K8s的原理及实际操作技巧。第1章引领读者踏入Kubernetes的世界,详细介绍其起源、核心组件的概念以及集群安装方法。第2~4章深入剖析Pod控制器、Label标签、容器钩子、探针、Service服务发现与负载均衡机制。第5~7章则探讨Ingress-Nginx服务网关的应用、存储卷管理、配置和密钥管理的高级功能。第8~10章聚焦于鉴权机制、容器运行时的选择与配置,以及GitLab企业级代码仓库的部署和管理。第11~13章涵盖Jenkins持续集成交付工具、ArgoCD声明式持续交付,以及云原生负载均衡MetalLB的应用。第14章和第15章分别介绍云原生日志与监控集成架构,以及Istio微服务时代的服务网格领航者。最后,第16章通过一系列实战案例,展示在K8s环境中安装并实验多种服务的详细过程。
《云原生Kubernetes自动化运维实践》不仅整合了多种自动化运维工具,还提供了丰富的运维案例,无论是初学者还是有一定经验的运维工程师,都能从中获得宝贵的知识和实践经验,提升自身的技术水平。"
高鹏举,现任国家电网公司高级运维开发工程师。在Linux相关技术领域拥有深厚的造诣,尤其在容器化、虚拟化、自动化运维、系统监控、脚本编写以及服务网格等方面具备丰富的实践经验和深入的研究。凭借其扎实的技术功底与广泛的项目经历,成功主导并实施了多个国有企业的关键项目。此外,他还活跃于各大技术社区,累计发表了超过2000篇关于运维开发的高质量教程文章,广受读者赞誉。
目 录
第 1 章 走进Kubernetes的世界 1
1.1 为什么使用Kubernetes 1
1.2 Kubernetes节点组件 2
1.2.1 Master节点运行的组件 2
1.2.2 Node节点运行的组件 2
1.3 Kubernetes集群的搭建与配置 3
1.3.1 Kubeadm工具介绍 3
1.3.2 基础环境配置 4
1.3.3 升级内核版本 10
1.3.4 三大组件的安装 12
1.3.5 集群镜像处理 13
1.3.6 集群初始化 14
1.3.7 Node节点加入集群 14
1.3.8 Calico网络插件安装 16
1.3.9 Metrics-Server服务的安装 17
1.3.10 Kuboard管理平台安装 20
1.4 本章小结 22
第 2 章 Pod控制器 23
2.1 Pod、Kubectl与YAML 23
2.1.1 Pod及其操作 24
2.1.2 Kubectl命令行工具 25
2.1.3 YAML文件 27
2.2 Replication 28
2.3 ReplicaSet 31
2.4 Deploymant 36
2.4.1 Deployment概述 36
2.4.2 Deployment创建与访问 36
2.4.3 滚动更新策略实例 38
2.4.4 更新/回滚/暂停/恢复 41
2.4.5 扩容的3种方式 45
2.5 StatefulSet 46
2.5.1 StatefulSet概述 46
2.5.2 StatefulSet创建服务 47
2.5.3 Ping域名实验 49
2.5.4 解析域名实验 50
2.5.5 创建StatefulSet服务自动申请PV实验 51
2.6 DaemonSet 55
2.6.1 DaemonSet概述 55
2.6.2 DaemonSet实例 56
2.7 CronJob 57
2.7.1 CronJob概述 57
2.7.2 CronJob资源清单详解 58
2.7.3 CronJob实验 59
2.7.4 CronJob实战备份MySQL数据库 61
2.8 Job 64
2.8.1 Job概述 64
2.8.2 Job实验 64
2.9 本章小结 66
第 3 章 Label、容器钩子、探针 67
3.1 Label标签 67
3.1.1 Label概述 67
3.1.2 Label实验 68
3.2 InitC 70
3.2.1 InitC概述 71
3.2.2 InitC实验 71
3.2.3 部署Elasticsearch服务时配置InitC 73
3.3 容器钩子 75
3.3.1 容器钩子概述 75
3.3.2 容器钩子实验 76
3.4 探针 78
3.4.1 探针概述 78
3.4.2 StartUp Probe启动探针实验 79
3.4.3 Readiness Probe就绪探针实验 80
3.4.4 LivenessProbe存活探针实验 82
3.5 本章小结 83
第 4 章 Service服务发现与负载均衡 84
4.1 Service原理 84
4.2 ClusterIP 85
4.2.1 ClusterIP概述 85
4.2.2 ClusterIP实验 86
4.3 NodePort 88
4.3.1 NodePort概述 88
4.3.2 NodePort实验 89
4.4 Headless Service 91
4.4.1 Headless Service概述 91
4.4.2 Headless Service实验 92
4.5 ExternalName 94
4.5.1 ExternalName概述 95
4.5.2 ExternalName实验 95
4.6 LoadBalancer 98
4.6.1 LoadBalancer概述 98
4.6.2 如何指定LoadBalancer类型的服务IP 98
4.7 Service端口范围及解除限制 99
4.7.1 Service端口范围概述 99
4.7.2 Service端口范围解除限制 99
4.8 使用Service代理K8s外部应用 100
4.8.1 使用Service代理K8s外部应用概述 101
4.8.2 使用Service代理K8s外部应用实验 101
4.9 本章小结 103
第 5 章 Ingress-Nginx服务网关 104
5.1 Ingress-Nginx概述 104
5.2 Ingress-Nginx安装 104
5.3 Annotations注解 109
5.3.1 流量复制 109
5.3.2 IP白名单 110
5.3.3 IP黑名单 111
5.3.4 域名转发 111
5.3.5 返回字符串 112
5.3.6 文件上传大小 113
5.3.7 域名HTTPS访问 113
5.3.8 对接外部的认证服务 115
5.3.9 配置默认页面 116
5.3.10 Nginx如何获取客户端真实IP 117
5.3.11 重定向 117
5.3.12 重写 118
5.3.13 多域名指向同一个后端服务 118
5.4 本章小结 119
第 6 章 Kubernetes存储与持久化 120
6.1 Kubernetes存储类概述 120
6.2 Kubernetes持久卷声明 121
6.3 持久卷的生命周期 121
6.4 动态申请持久卷实验 122
6.4.1 NFS共享存储搭建 122
6.4.2 nfs-client-provisioner存储类搭建 124
6.4.3 服务使用存储类动态申请资源实验 129
6.5 PV/PVC详解 131
6.5.1 PV/PVC概述 131
6.5.2 PVC的创建流程 131
6.5.3 PV访问模式 132
6.5.4 PV回收策略 132
6.5.5 PV/PVC卷状态 133
6.6 Deployment直连NFS存储 134
6.7 本章小结 135
第 7 章 ConfigMap配置和Secret密钥管理 136
7.1 ConfigMap:非敏感配置信息的集中管理 136
7.1.1 ConfigMap概述 136
7.1.2 使用目录方式创建ConfigMap 137
7.1.3 使用文件方式创建ConfigMap 139
7.1.4 使用字面值方式创建ConfigMap 139
7.1.5 设置ConfigMap不允许更改 140
7.1.6 通过envfrom方式指定ConfigMap 140
7.1.7 通过valueFrom方式指定ConfigMap 142
7.1.8 Nginx通过ConfigMap管理配置文件 143
7.2 Secret:敏感信息的安全存储与访问 147
7.2.1 Secret概述 147
7.2.2 使用文件方式创建Secret 147
7.2.3 使用YAML方式创建Secret 149
7.2.4 Secret权限解析 149
7.2.5 使用Docker的config.json方式创建Secret 149
7.2.6 使用Kubectl创建Docker Registry认证的Secret 150
7.3 本章小结 151
第 8 章 Kubernetes鉴权机制 152
8.1 Kubernetes鉴权机制概述 152
8.2 鉴权机制的工作流程 152
8.3 角色/角色绑定概述 153
8.4 用户鉴权实战 154
8.5 本章小结 160
第 9 章 容器运行时Containerd 161
9.1 Containerd概述 161
9.2 安装与配置Containerd 162
9.2.1 安装Containerd 162
9.2.2 配置Containerd阿里云镜像加速器 164
9.2.3 配置Containerd使用自建镜像仓库 164
9.3 使用nerdctl管理Containerd 165
9.3.1 安装nerdctl 165
9.3.2 nerdctl常用命令示例 166
9.4 使用nerdctl构建镜像 167
9.4.1 安装BuildKit和cni-plugins 168
9.4.2 构建镜像 169
9.5 本章小结 170
第 10 章 GitLab企业级代码仓库 171
10.1 GitLab目录结构 171
10.2 部署GitLab 172
10.3 GitLab的配置与使用 183
10.3.1 基础设置 183
10.3.2 创建项目 184
10.3.3 修改克隆地址 185
10.3.4 拉取/提交代码 188
10.4 本章小结 190
第 11 章 Jenkins持续集成交付工具 191
11.1 Jenkins概述 191
11.2 Kubernetes集群部署Jenkins 192
11.3 Jenkins对接K8s实现动态Slave 199
11.3.1 基础设置并对接K8s 199
11.3.2 自由风格项目实现动态Slave 203
11.3.3 Pipeline流水线项目实现动态Slave 205
11.4 本章小结 208
第 12 章 ArgoCD声明式持续交付 209
12.1 ArgoCD概述 209
12.2 Kubernetes部署ArgoCD 210
12.3 ArgoCD的配置及使用 215
12.3.1 ArgoCD连接Kubernetes 215
12.3.2 使用ArgoCD CLI集成GitLab并创建App 215
12.4 本章小结 221
第 13 章 云原生负载均衡之MetalLB 222
13.1 自建LoadBalancer种类 222
13.2 MetalLB的核心概念与架构 223
13.2.1 MetalLB的核心概念 224
13.2.2 MetalLB架构 224
13.3 Kubernetes部署MetalLB 225
13.3.1 检查是否开启IPVS功能 225
13.3.2 配置并创建MetaLB服务 226
13.3.3 创建LoadBalancer类型的服务 228
13.3.4 使用MetalLB进行服务的外部访问 229
13.4 本章小结 230
第 14 章 Helm与Loki-Stack搭建日志监控系统 231
14.1 Helm包管理与部署 231
14.1.1 Helm概述 231
14.1.2 CentOS 7系统安装Helm3 232
14.2 Loki-Stack部署与实践 233
14.2.1 Loki与Loki-Stack概述 233
14.2.2 Helm3部署Loki-Stack 234
14.2.3 外部访问Grafana 237
14.2.4 日志监控查询 238
14.2.5 导入仪表盘面板 239
14.2.6 监控告警 242
14.3 本章小结 246
第 15 章 Istio微服务时代的服务网格领航者 247
15.1 Istio概述 247
15.2 Istio核心组件 248
15.2.1 Istio-Pilot 248
15.2.2 Istio-Telemetry 248
15.2.3 Istio-Policy 249
15.2.4 Istio-Citadel 249
15.2.5 Istio-Sidecar-Injector 250
15.2.6 Istio-Proxy 250
15.2.7 Istio-Ingress-Gateway 251
15.2.8 Istio-Envoy 251
15.3 部署Istio 251
15.3.1 Istioctl的安装 251
15.3.2 Istioctl安装Istio 253
15.4 Sidecar边车容器注入 256
15.4.1 Sidecar手动注入 256
15.4.2 Sidecar自动注入 259
15.4.3 Sidecar取消自动注入 260
15.5 4种配置资源概念详解 261
15.5.1 VirtualService 261
15.5.2 DestinationRule 261
15.5.3 ServiceEntry 262
15.5.4 Gateway 262
15.6 VirtualService关键字配置示例 262
15.6.1 使用weight关键字拆分流量 262
15.6.2 使用timeout关键字设置请求超时时间 263
15.6.3 使用retries关键字设置重试 264
15.6.4 使用fault关键字设置故障注入 264
15.6.5 VirtualService资源清单详解 265
15.7 Istio流量治理 265
15.7.1 请求头httpHeaderName 266
15.7.2 HTTP流量镜像 269
15.7.3 重写 274
15.7.4 重定向 277
15.7.5 流量权重-蓝绿与金丝雀发布 282
15.7.6 超时 287
15.7.7 重试 293
15.7.8 断路器/熔断 303
15.7.9 故障注入 313
15.8 本章小结 316
第 16 章 Kubernetes服务部署实战 317
16.1 K8s部署MinIO开源对象存储 317
16.2 K8s部署Metabase数据库连接工具 321
16.3 K8s部署phpMyAdmin数据库连接工具 326
16.4 K8s部署Nacos配置中心 330
16.5 本章小结 338
基本信息 | |
---|---|
出版社 | 清华大学出版社 |
ISBN | 9787302679349 |
条码 | 9787302679349 |
编者 | 高鹏举 著 |
译者 | -- |
出版年月 | 2025-03-01 00:00:00.0 |
开本 | 其他 |
装帧 | 平装 |
页数 | 352 |
字数 | 528 |
版次 | 1 |
印次 | 1 |
纸张 | 一般胶版纸 |
暂无商品评论信息 [发表商品评论]
暂无商品咨询信息 [发表商品咨询]