新書推薦:
《
帕纳索传来的消息(文艺复兴译丛)
》
售價:NT$
495.0
《
DK威士忌大百科
》
售價:NT$
1340.0
《
小白学编织
》
售價:NT$
299.0
《
Android游戏开发从入门到精通 第2版 王玉芹
》
售價:NT$
495.0
《
西班牙内战:秩序崩溃与激荡的世界格局:1936-1939
》
售價:NT$
990.0
《
非对称创新:中国企业赶超战略 魏江 刘洋
》
售價:NT$
495.0
《
潜能觉醒
》
售價:NT$
395.0
《
初平:汉末群雄混战(190—195)
》
售價:NT$
245.0
|
編輯推薦: |
本书以Kubernetes实战为主线,从企业应用场景出发,介绍了Kubernetes的架构模式、集群安装、组件、应用的容器化、Jenkins的持续集成和持续部署以及服务网格Service Mesh等内容,可帮助读者从零开始快速搭建容器集群,并应用于公司业务实践。
|
內容簡介: |
本书以实战为主线,深入浅出地介绍了Kubernetes在企业生产环境中的应用。全书共6章,第1章讲解Kubernetes的高可用安装,分为kubeadm和二进制安装方式,可以让读者快速上手,了解Kubernetes的架构模式。第2章介绍了Kubernetes的理论基础。第3章主要讲解Kubernetes常见应用的容器化,并部署至Kubernetes集群实现高可用,同时介绍了Kubernetes的各个组件和资源。第4章主要介绍持续集成和持续部署,包括Jenkins*的功能Pipeline的使用,从Pipeline的语法到项目实操,传统Java和Spring Cloud应用的容器化以及自动化构建部署。第5章主要讲解了Kubernetes的Nginx Ingress的安装和常用配置,以适用于生产环境的各种需求。第6章讲解了备受关注的Server Mesh,使用Istio代替微服务架构中的网络功能、实现限速、分流和路由等内容。 本书技术先进,注重实操,解决了Kubernetes在生产环境中使用和安装过程中遇到的大量问题,本书特别适合想尽快将Kubernetes应用于其公司业务中的Kubernetes初学者、开发人员、运维工程师和架构师使用。
|
關於作者: |
杜宽,Kubernetes技术爱好者,现就职于国内某知名集团公司,主要负责Kubernetes架构、业务容器化设计等工作。
|
目錄:
|
目录
第1章 Kubernetes高可用安装 1
1.1 KUBEADM高可用安装K8S集群(1.11.X和1.12.X) 1
1.1.1 基本环境配置 2
1.1.2 内核升级 3
1.1.3 基本组件安装 5
1.1.4 集群初始化 6
1.1.5 Calico组件的安装 13
1.1.6 高可用Master 14
1.1.7 Node节点的配置 15
1.1.8 Metrics-Server部署 16
1.1.9 Dashboard部署 17
1.2 KUBEADM高可用安装K8S集群(1.13.X和1.14.X) 19
1.2.1 基本组件的安装 19
1.2.2 集群初始化 20
1.2.3 Calico组件的安装 22
1.2.4 高可用Master 22
1.2.5 Node节点的配置 25
1.3 二进制高可用安装K8S集群(1.13.X和1.14.X) 26
1.3.1 基本组件安装 27
1.3.2 CNI安装 28
1.3.3 生成证书 29
1.3.4 系统组件配置 33
1.3.5 TLS Bootstrapping配置 40
1.3.6 Node节点的配置 42
1.3.7 Kube-Proxy配置 45
1.3.8 Calico配置 47
1.3.9 CoreDNS的配置 48
1.3.10 Metrics-Server配置 49
1.3.11 Dashboard配置 49
1.4 小结 51
第2章 Docker及Kubernetes基础 52
2.1 DOCKER基础 52
2.1.1 Docker介绍 52
2.1.2 Docker基本命令 52
2.1.3 Dockerfile的编写 59
2.2 KUBERNETES基础 61
2.2.1 Master节点 61
2.2.2 Node节点 62
2.2.3 Pod 62
2.2.4 Label和 Selector 66
2.2.5 Replication Controller和ReplicaSet 68
2.2.6 Deployment 70
2.2.7 StatefulSet 77
2.2.8 DaemonSet 87
2.2.9 ConfigMap 91
2.2.10 Secret 99
2.2.11 HPA 105
2.2.12 Storage 107
2.2.13 Service 120
2.2.14 Ingress 124
2.2.15 Taint和Toleration 127
2.2.16 RBAC 131
2.2.17 CronJob 138
2.3 小结 140
第3章 Kubernetes常见应用安装 141
3.1 安装GFS到K8S集群中 141
3.1.1 准备工作 141
3.1.2 创建GFS集群 142
3.1.3 创建Heketi服务 142
3.1.4 创建GFS集群 143
3.1.5 创建StorageClass 148
3.1.6 测试使用GFS动态存储 148
3.1.7 测试数据 149
3.1.8 测试Deployment 150
3.2 安装HELM到K8S集群中 153
3.2.1 基本概念 153
3.2.2 安装Helm 154
3.2.3 Helm的使用 155
3.3 安装REDIS集群模式到K8S集群中 156
3.3.1 各文件介绍 156
3.3.2 创建Redis命名空间 161
3.3.3 创建Redis集群PV 161
3.3.4 创建集群 161
3.3.5 创建slot 162
3.4 安装RABBITMQ集群到K8S集群中 163
3.4.1 各文件解释 163
3.4.2 配置NFS 167
3.4.3 创建集群 167
3.4.4 查看资源 167
3.4.5 访问测试 168
3.5 安装GITLAB到K8S集群中 168
3.5.1 各文件介绍 169
3.5.2 创建GitLab 173
3.5.3 访问GitLab 173
3.5.4 创建项目 174
3.5.5 创建用户权限 176
3.5.6 添加SSH Key 178
3.5.7 项目开发 179
3.6 安装JENKINS到K8S集群中 182
3.6.1 各文件介绍 182
3.6.2 安装Jenkins 184
3.6.3 访问Jenkins 185
3.7 安装HARBOR到K8S集群中 186
3.7.1 安装Harbor 186
3.7.2 访问Harbor 189
3.7.3 在K8S中使用Harbor 190
3.8 安装PROMETHEUS GRAFANA到K8S集群中 192
3.8.1 修改配置信息 192
3.8.2 一键安装Prometheus 192
3.8.3 验证安装 194
3.8.4 访问测试 195
3.8.5 卸载 197
3.8.6 监控ElasticSearch集群 197
3.8.7 监控报警配置实战 203
3.9 安装EFK到K8S集群中 205
3.9.1 对节点打标签(Label) 205
3.9.2 创建持久化卷 206
3.9.3 创建集群 206
3.9.4 访问Kibana 207
3.10 小结 208
第4章 持续集成与持续部署 209
4.1 CICD介绍 209
4.1.1 CI和CD的区别 209
4.1.2 持续集成(CI) 210
4.1.3 持续交付(CD) 210
4.1.4 持续部署 210
4.2 JENKINS 流水线介绍 211
4.2.1 什么是流水线 211
4.2.2 Jenkins流水线概念 211
4.2.3 声明式流水线 212
4.2.4 脚本化流水线 212
4.2.5 流水线示例 213
4.3 PIPELINE语法 214
4.3.1 声明式流水线 214
4.3.2 脚本化流水线 223
4.4 JENKINSFILE的使用 224
4.4.1 创建Jenkinsfile 224
4.4.2 处理Jenkinsfile 227
4.5 GITLABJENKINSHARBOR KUBERNETES集成应用 233
4.5.1 基本概念 233
4.5.2 基本配置 233
4.5.3 新建任务(Job) 235
4.5.4 Jenkins凭据的使用 236
4.6 自动化构建JAVA应用 238
4.6.1 定义Dockerfile 238
4.6.2 定义Jenkinsfile 238
4.6.3 定义Deployment 240
4.6.4 Harbor项目创建 241
4.6.5 创建任务(Job) 242
4.6.6 执行构建 243
4.7 自动化构建NODEJS应用 247
4.7.1 定义Dockerfile 247
4.7.2 定义Deployment 247
4.7.3 定义Jenkinsfile 248
4.8 自动化构建SPRING CLOUD应用 250
4.8.1 自动化构建Eureka 250
4.8.2 自动化构建Config 255
4.8.3 自动化构建Zuul 259
4.9 WEBHOOK介绍 262
4.9.1 安装Webhook插件 262
4.9.2 配置Jenkins 263
4.9.3 配置GitLab 263
4.10 自动化构建常见问题的解决 264
4.10.1 解决代码拉取速度慢的问题 265
4.10.2 解决Maven构建慢的问题 266
4.10.3 解决NPM Install的问题 267
4.11 小结 269
第5章 Nginx Ingress安装与配置 270
5.1 NGINX INGRESS的安装 270
5.2 NGINX INGRESS的简单使用 271
5.3 NGINX INGRESS REDIRECT 272
5.4 NGINX INGRESS REWRITE 273
5.5 NGINX INGRESS错误代码重定向 274
5.6 NGINX INGRESS SSL 274
5.7 NGINX INGRESS匹配请求头 275
5.8 NGINX INGRESS基本认证 277
5.9 NGINX INGRESS黑白名单 278
5.9.1 配置黑名单 278
5.9.2 配置白名单 278
5.10 NGINX INGRESS速率限制 279
5.11 使用NGINX实现灰度金丝雀发布 280
5.11.1 创建v1版本 280
5.11.2 创建v2版本 281
5.11.3 创建Ingress 281
5.11.4 测试灰度发布 282
5.12 小结 282
第6章 Server Mesh服务网格 283
6.1 服务网格的基本概念 283
6.2 服务网格产品 284
6.3 ISTIO介绍 285
6.3.1 Istio架构 285
6.3.2 名词解释 286
6.3.3 流量管理 286
6.4 ISTIO的安装 290
6.4.1 安装文件下载 290
6.4.2 安装Istio 290
6.4.3 配置自动注入sidecar 291
6.5 ISTIO配置请求路由 291
6.6 ISTIO熔断 293
6.6.1 创建测试用例 293
6.6.2 配置熔断规则 293
6.6.3 测试熔断 294
6.7 ISTIO故障注入 295
6.7.1 基于HTTP延迟触发故障 295
6.7.2 使用HTTP Abort触发故障 299
6.8 ISTIO速率限制 299
6.8.1 配置速率限制 299
6.8.2 测试速率限制 302
6.9 小结 302
|
內容試閱:
|
前言
Kubernetes在近几年,乃至未来5到10年,都会是技术圈一个很火的名词,Kubernetes由谷歌(Google)开源,它构建在谷歌15年生产环境经验的基础之上,开源的背后有着来自社区的强大技术团队共同维护和更新。Kubernetes的诞生不仅解决了公司架构带来的问题,而且也大大减少了运维成本,可以轻轻松松管理上万个容器节点。目前很多公司都在致力于对容器和Kubernetes的推进,将公司现有的业务拆分为微服务,然后对其进行容器化,所以目前对容器和容器编排工具的学习,是每个技术人员义不容辞的责任。
本书主要以Kubernetes实战为主,大部分内容都是基于公司实际的应用场景,可直接用于公司生产线上。本书第一章主要讲解Kubernetes的高可用安装,分为kubeadm和二进制安装方式,可以让读者先入为主,了解Kubernetes的架构模式,更快入手。第二章结合实操讲解Kubernetes的理论知识。第三章是应用篇,主要讲解的是公司一些常用的应用,并且对其进行容器化,然后部署在Kubernetes集群中,实现高可用,使读者对Kubernetes的各个组件和资源有一个更好的认识。第4章主要讲解持续集成和持续部署,这也是DevOps中很重要的一部分,本章主要讲解的是Jenkins最新的功能Pipeline的使用,从Pipeline的语法入手到项目的实操,对传统Java和Spring Cloud应用的容器化以及自动化构建部署,学习完本章内容读者可以更好地在公司业务上实现以流水线为基础的持续部署。第5章主要讲解Kubernetes的Ingress,作为Kubernetes集群的入口,使用常见的Nginx作为ingress,会使运维人员更加得心应手,也讲解了Nginx的一些常用配置,以适用于生产环境的各种需求和问题。最后一章讲解的是目前很火的Server Mesh,主要讲解了Istio的常用配置,比如使用Istio代替微服务架构中的网络功能、实现限速、分流和路由等。本书可以让读者迅速进入到Kubernetes的世界,本书的实操内容非常详细,解决了Kubernetes在使用和安装过程中遇到的大量问题,能让读者以较短的时间将其应用到公司业务上。
本书还配备了完整的命令代码,请扫描下述二维码下载:
由于笔者水平所限,书中难免会出现缪误,请业界高手专家不吝指教,也欢迎各位读者朋友给笔者发邮件进行交流。
杜宽
2019.5.23
|
|