OpenShift云原生架构:原理与实践

OpenShift云原生架构:原理与实践
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
2020-04
版次: 1
ISBN: 9787111649656
定价: 99.00
装帧: 其他
开本: 16开
纸张: 胶版纸
页数: 460页
14人买过
  • 这是一本匠心之作,它将带领你深入了解OpenShift和如何基于OpenShift构建云原生应用,以及如何通过以OpenShift为代表的PaaS平台实现数字化转型。
      本书的三位作者都是云计算和OpenShift领域的一线资深专家和布道者,本书以他们多年来在云计算和企业数字化转型领域的实战经验为背景,深入剖析了OpenShift的架构设计、实现原理,以及集群的部署和运维;深度讲解基于OpenShift的云原生架构,以及如何以微服务、DevOps、Service Mesh、Serverless和Spark为核心构建企业云原生技术平台。
      全书共8章,每一章的内容都干货十足:
      第1章介首先绍了云原生PaaS平台如何重塑云计算以及它在数字化转型中的作用,然后对OpenShift做了宏观的介绍。
      第2章从源代码的角度对OpenShift的设计哲学、架构设计和核心功能模块的实现原理进行了深入剖析。
      第3章从工程实践的角度详细讲解了OpenShift集群的部署、运维和管理。
      第4章重点讲解了基于OpenShift平台的云原生应用自动构建与部署。
      第5章介绍如何在OpenShift上实现云原生DevOps工具链。
      第6章主要讲解了Service Mesh技术,以及基于Istio的微服务在OpenShift上的云原生实践。
      第7章重点阐述了Serverless技术,以及基于Knative的无服务器应用在OpenShift上的云原生实践。
      第8章主要讲解了以Spark为核心的数据科学应用及其在OpenShift上的云原生实践。 山金孝

    资深云计算技术专家、架构师,腾讯云TVP、阿里云MVP。现就职于招商局集团数字化中心,曾就职于招商银行、IBM和中国移动。开源技术爱好者,云计算推广、布道与实践者,国内较早接触OpenStack和OpenShift的一线技术专家,目前致力于开源云原生技术的研究、推广与实践工作。作为由传统IT架构转型为云计算领域的技术专家,当前正致力于推动企业的智能化和数字化转型。

    著有《OpenStack高可用集群》(上、下册)、《企业私有云建设指南》等云计算书籍,译有《精通OpenStack》和《机器学习即服务》等书,在国内外核心期刊发表过多篇CVPR论文。另外,他还是IBM认证高级技术专家、DB2高级DBA,Oracle认证OCP及Red Hat认证系统工程师,维护有“OpenShift开源社区”微信公众号。

    潘晓华

    资深DevOps实践专家、运维专家,现为兴业数金云原生技术专家,曾为招银云创容器云平台与DevOps负责人。近10年IT从业经验,具有丰富的项目实施、应用架构设计与研发经验。多年来深耕敏捷IT和DevOps领域,是开源社区的积极参与者、贡献者,以及国内较早接触OpenShift的一线技术专家,通过技术博客“潘晓华Michael”,积极推动了OpenShift在国内的应用和实践落地。

    刘世民

    资深云计算技术专家,现为易航科技云服务事业部总经理。十几年IT从业经验,曾先后就职于华为、IBM和EMC,担任过云计算创业公司CTO。云计算技术爱好者、实践者和推广者,乐于总结和分享,维护有“世民谈云计算”技术博客和微信公众号。 目  录  Contents

    前言

    第1章 PaaS赋能云原生时代数字化转型  1

    1.1 PaaS重塑云计算时代  1

    1.1.1 PaaS统一云计算架构  1

    1.1.2 PaaS构建云计算未来  3

    1.1.3 PaaS赋能微服务架构  6

    1.1.4 PaaS加速DevOps实践  7

    1.1.5 PaaS构筑云原生时代  9

    1.2 PaaS赋能企业数字化转型  12

    1.2.1 数字化转型的本质  12

    1.2.2 PaaS赋能企业中台  13

    1.2.3 PaaS助力数字化转型  15

    1.3 企业级PaaS平台OpenShift介绍  17

    1.3.1 OpenShift及其发展简史  17

    1.3.2 OpenShift与云原生架构  18

    1.3.3 OpenShift与Kubernetes  20

    1.4 本章小结  22

    第2章 OpenShift架构设计与原理  23

    2.1 OpenShift总体架构  23

    2.1.1 OpenShift设计哲学  23

    2.1.2 OpenShift核心组件  29

    2.1.3 OpenShift核心概念  31

    2.1.4 OpenShift部署架构  46

    2.2 OpenShift网络之SDN  47

    2.2.1 OpenShift SDN网络配置  48

    2.2.2 OpenShift Node节点上的SDN  49

    2.2.3 OpenShift SDN网络隔离  54

    2.2.4 OpenShift典型网络访问场景  55

    2.3 OpenShift网络之路由器  62

    2.3.1 从集群外访问OpenShift中的服务  62

    2.3.2 OpenShift HAProxy路由器介绍  65

    2.3.3 OpenShift路由规则介绍  67

    2.3.4 OpenShift路由服务高可用  74

    2.4 OpenShift网络之DNS  75

    2.4.1 OpenShift Pod内部DNS配置  76

    2.4.2 OpenShift Node节点DNS配置  77

    2.4.3 OpenShift 集群内DNS查询流程  79

    2.5 OpenShift存储  81

    2.5.1 Docker卷  82

    2.5.2 OpenShift存储卷  84

    2.5.3 OpenShift 持久化卷  86

    2.5.4 静态创建持久化卷  89

    2.5.5 动态创建持久化卷  94

    2.6 OpenShift权限控制  99

    2.6.1 OpenShift权限概述  99

    2.6.2 OpenShift权限认证  101

    2.6.3 OpenShift基于角色的权限访问控制  107

    2.6.4 OpenShift安全上下文约束  111

    2.7 OpenShift服务目录  114

    2.7.1 OpenShift服务目录概述  114

    2.7.2 OpenShift服务目录概念理解  116

    2.7.3 OpenShift服务目录使用介绍  117

    2.8 本章小结  121

    第3章 OpenShift集群部署与运维  123

    3.1 OpenShift集群规划与部署准备  123

    3.1.1 集群软件版本规划  124

    3.1.2 集群规模与资源需求  125

    3.1.3 集群高可用架构设计  127

    3.1.4 集群主机环境需求  130

    3.1.5 集群主机系统准备  133

    3.2 OpenShift开发测试环境快速部署  137

    3.2.1 OpenShift容器与二进制方式快速启动  137

    3.2.2 OpenShift自定义脚本一键自动部署  139

    3.2.3 OpenShift开发测试环境Minishift   141

    3.3 OpenShift集群生产环境自动部署  144

    3.3.1 OpenShift集群部署介绍  144

    3.3.2 OpenShift集群自动部署配置  147

    3.3.3 OpenShift集群在线自动部署  151

    3.3.4 OpenShift集群离线自动部署  154

    3.4 OpenShift集群运维与管理  160

    3.4.1 OpenShift集群扩容  160

    3.4.2 OpenShift集群升级  162

    3.4.3 OpenShift集群备份  167

    3.4.4 OpenShift集群恢复  172

    3.5 本章小结  176

    第4章 OpenShift云原生应用构建与部署  177

    4.1 OpenShift应用构建与部署概述  177

    4.1.1 OpenShift应用构建介绍  177

    4.1.2 OpenShift镜像流介绍  179

    4.1.3 OpenShift应用部署介绍  180

    4.2 OpenShift应用构建  180

    4.2.1 BuildConfig资源对象  181

    4.2.2 Docker构建  199

    4.2.3 源代码构建  205

    4.2.4 jenkinsPipeline构建  212

    4.3 OpenShift应用部署  216

    4.3.1 DeploymentConfig资源对象  216

    4.3.2 Rolling与Recreate部署  220

    4.4 OpenShift资源模板  224

    4.4.1 OpenShift资源模板介绍  225

    4.4.2 OpenShift资源模板制作与应用实践  228

    4.5 本章小结  232

    第5章 OpenShift云原生DevOps构建  233

    5.1 DevOps发展简介  233

    5.1.1 DevOps发展背景介绍  233

    5.1.2 DevOps流水线介绍  237

    5.2 Jenkins持续集成  239

    5.2.1 OpenShift云原生部署Jenkins  240

    5.2.2 Jenkins OpenShift插件应用介绍  242

    5.3 GitLab代码仓库  246

    5.3.1 OpenShift云原生部署GitLab  247

    5.3.2 Jenkins与GitLab在OpenShift上的集成  250

    5.4 SonarQube代码扫描  255

    5.4.1 OpenShift云原生部署SonarQube  256

    5.4.2 Jenkins与SonarQube在OpenShift上的集成  261

    5.5 Nexus制品库  268

    5.5.1 OpenShift云原生部署Nexus  268

    5.5.2 Jenkins与Nexus在OpenShift上的集成  270

    5.6 构建JeeSite应用DevOps流水线实战  273

    5.7 本章小结  284

    第6章 Service Mesh及其在OpenShift上的实践  285

    6.1 传统微服务架构  285

    6.1.1 微服务与SOA  286

    6.1.2 Spring Cloud框架  287

    6.1.3 Dubbo框架   289

    6.1.4 微服务现状分析  290

    6.2 云原生微服务架构  292

    6.2.1 Service Mesh  292

    6.2.2 Linkerd  294

    6.2.3 Enovy  296

    6.2.4 Istio  299

    6.2.5 Docker、Kubernetes与Istio  302

    6.3 Istio在OpenShift上的实现  304

    6.3.1 OpenShift集群快速部署与实现  304

    6.3.2 OpenShift上部署Istio集群  305

    6.3.3 OpenShift上部署Istio微服务  310

    6.4 基于OpenShift的Istio功能验证与测试  314

    6.4.1 微服务监控与跟踪  314

    6.4.2 微服务流量控制  320

    6.4.3 微服务故障注入  328

    6.4.4 微服务请求熔断  332

    6.4.5 微服务Egress路由  338

    6.4.6 微服务可视化  340

    6.5 本章小结  345

    第7章 Serverless及其在OpenShift上的实践  346

    7.1 软件架构演变历史  346

    7.1.1 单体架构  346

    7.1.2 SOA架构  347

    7.1.3 微服务架构  348

    7.1.4 Serverless架构  349

    7.2 深入认识Serverless架构  350

    7.2.1 Serverless与云原生  350

    7.2.2 Serverless与微服务  352

    7.2.3 Serverless与PaaS  353

    7.2.4 Serverless与FaaS  354

    7.3 Serverless发展现状  355

    7.3.1 AWS Lambda  355

    7.3.2 OpenWhisk  357

    7.3.3 OpenFaaS  361

    7.3.4 Kubeless  362

    7.3.5 Serverless现状分析  363

    7.4 Serverless统一平台Knative  364

    7.4.1 构建系统Build  366

    7.4.2 服务系统Serving  368

    7.4.3 事件系统Eventing  373

    7.5 基于OpenShift的Knative实现  378

    7.5.1 部署OpenShift  378

    7.5.2 部署Istio  380

    7.5.3 部署Knative Serving  380

    7.5.4 部署Serverless应用  382

    7.6 Knative应用验证与测试  384

    7.6.1 事件驱动  384

    7.6.2 自动伸缩  386

    7.7 本章小结  395

    第8章 Spark数据科学及其在OpenShift上的实践  396

    8.1 Spark计算框架介绍  396

    8.1.1 Spark组件  397

    8.1.2 Spark的优势和特性  398

    8.2 Spark与数据科学  399

    8.3 Spark on K8S介绍  401

    8.4 Spark数据科学在OpenShift上的实现  406

    8.4.1 数据科学项目Radanalyticsio介绍  406

    8.4.2 Spark集群在OpenShift上的生命周期管理  408

    8.4.3 Spark应用在OpenShift上的自动部署实现  417

    8.5 Spark数据科学之云原生自然语言处理  424

    8.5.1 自然语言处理与Word2vec  424

    8.5.2 自然语言处理开源项目Ophicleide  425

    8.5.3 自然语言处理云原生部署实现  425

    8.5.4 自然语言处理应用验证与测试  433

    8.6 Spark数据科学之云原生推荐引擎  436

    8.6.1 推荐引擎介绍  436

    8.6.2 推荐引擎开源项目Jiminy  437

    8.6.3 推荐引擎云原生部署与实现  438

    8.6.4 推荐引擎应用验证与测试  443

    8.7 本章小结  445
  • 内容简介:
    这是一本匠心之作,它将带领你深入了解OpenShift和如何基于OpenShift构建云原生应用,以及如何通过以OpenShift为代表的PaaS平台实现数字化转型。
      本书的三位作者都是云计算和OpenShift领域的一线资深专家和布道者,本书以他们多年来在云计算和企业数字化转型领域的实战经验为背景,深入剖析了OpenShift的架构设计、实现原理,以及集群的部署和运维;深度讲解基于OpenShift的云原生架构,以及如何以微服务、DevOps、Service Mesh、Serverless和Spark为核心构建企业云原生技术平台。
      全书共8章,每一章的内容都干货十足:
      第1章介首先绍了云原生PaaS平台如何重塑云计算以及它在数字化转型中的作用,然后对OpenShift做了宏观的介绍。
      第2章从源代码的角度对OpenShift的设计哲学、架构设计和核心功能模块的实现原理进行了深入剖析。
      第3章从工程实践的角度详细讲解了OpenShift集群的部署、运维和管理。
      第4章重点讲解了基于OpenShift平台的云原生应用自动构建与部署。
      第5章介绍如何在OpenShift上实现云原生DevOps工具链。
      第6章主要讲解了Service Mesh技术,以及基于Istio的微服务在OpenShift上的云原生实践。
      第7章重点阐述了Serverless技术,以及基于Knative的无服务器应用在OpenShift上的云原生实践。
      第8章主要讲解了以Spark为核心的数据科学应用及其在OpenShift上的云原生实践。
  • 作者简介:
    山金孝

    资深云计算技术专家、架构师,腾讯云TVP、阿里云MVP。现就职于招商局集团数字化中心,曾就职于招商银行、IBM和中国移动。开源技术爱好者,云计算推广、布道与实践者,国内较早接触OpenStack和OpenShift的一线技术专家,目前致力于开源云原生技术的研究、推广与实践工作。作为由传统IT架构转型为云计算领域的技术专家,当前正致力于推动企业的智能化和数字化转型。

    著有《OpenStack高可用集群》(上、下册)、《企业私有云建设指南》等云计算书籍,译有《精通OpenStack》和《机器学习即服务》等书,在国内外核心期刊发表过多篇CVPR论文。另外,他还是IBM认证高级技术专家、DB2高级DBA,Oracle认证OCP及Red Hat认证系统工程师,维护有“OpenShift开源社区”微信公众号。

    潘晓华

    资深DevOps实践专家、运维专家,现为兴业数金云原生技术专家,曾为招银云创容器云平台与DevOps负责人。近10年IT从业经验,具有丰富的项目实施、应用架构设计与研发经验。多年来深耕敏捷IT和DevOps领域,是开源社区的积极参与者、贡献者,以及国内较早接触OpenShift的一线技术专家,通过技术博客“潘晓华Michael”,积极推动了OpenShift在国内的应用和实践落地。

    刘世民

    资深云计算技术专家,现为易航科技云服务事业部总经理。十几年IT从业经验,曾先后就职于华为、IBM和EMC,担任过云计算创业公司CTO。云计算技术爱好者、实践者和推广者,乐于总结和分享,维护有“世民谈云计算”技术博客和微信公众号。
  • 目录:
    目  录  Contents

    前言

    第1章 PaaS赋能云原生时代数字化转型  1

    1.1 PaaS重塑云计算时代  1

    1.1.1 PaaS统一云计算架构  1

    1.1.2 PaaS构建云计算未来  3

    1.1.3 PaaS赋能微服务架构  6

    1.1.4 PaaS加速DevOps实践  7

    1.1.5 PaaS构筑云原生时代  9

    1.2 PaaS赋能企业数字化转型  12

    1.2.1 数字化转型的本质  12

    1.2.2 PaaS赋能企业中台  13

    1.2.3 PaaS助力数字化转型  15

    1.3 企业级PaaS平台OpenShift介绍  17

    1.3.1 OpenShift及其发展简史  17

    1.3.2 OpenShift与云原生架构  18

    1.3.3 OpenShift与Kubernetes  20

    1.4 本章小结  22

    第2章 OpenShift架构设计与原理  23

    2.1 OpenShift总体架构  23

    2.1.1 OpenShift设计哲学  23

    2.1.2 OpenShift核心组件  29

    2.1.3 OpenShift核心概念  31

    2.1.4 OpenShift部署架构  46

    2.2 OpenShift网络之SDN  47

    2.2.1 OpenShift SDN网络配置  48

    2.2.2 OpenShift Node节点上的SDN  49

    2.2.3 OpenShift SDN网络隔离  54

    2.2.4 OpenShift典型网络访问场景  55

    2.3 OpenShift网络之路由器  62

    2.3.1 从集群外访问OpenShift中的服务  62

    2.3.2 OpenShift HAProxy路由器介绍  65

    2.3.3 OpenShift路由规则介绍  67

    2.3.4 OpenShift路由服务高可用  74

    2.4 OpenShift网络之DNS  75

    2.4.1 OpenShift Pod内部DNS配置  76

    2.4.2 OpenShift Node节点DNS配置  77

    2.4.3 OpenShift 集群内DNS查询流程  79

    2.5 OpenShift存储  81

    2.5.1 Docker卷  82

    2.5.2 OpenShift存储卷  84

    2.5.3 OpenShift 持久化卷  86

    2.5.4 静态创建持久化卷  89

    2.5.5 动态创建持久化卷  94

    2.6 OpenShift权限控制  99

    2.6.1 OpenShift权限概述  99

    2.6.2 OpenShift权限认证  101

    2.6.3 OpenShift基于角色的权限访问控制  107

    2.6.4 OpenShift安全上下文约束  111

    2.7 OpenShift服务目录  114

    2.7.1 OpenShift服务目录概述  114

    2.7.2 OpenShift服务目录概念理解  116

    2.7.3 OpenShift服务目录使用介绍  117

    2.8 本章小结  121

    第3章 OpenShift集群部署与运维  123

    3.1 OpenShift集群规划与部署准备  123

    3.1.1 集群软件版本规划  124

    3.1.2 集群规模与资源需求  125

    3.1.3 集群高可用架构设计  127

    3.1.4 集群主机环境需求  130

    3.1.5 集群主机系统准备  133

    3.2 OpenShift开发测试环境快速部署  137

    3.2.1 OpenShift容器与二进制方式快速启动  137

    3.2.2 OpenShift自定义脚本一键自动部署  139

    3.2.3 OpenShift开发测试环境Minishift   141

    3.3 OpenShift集群生产环境自动部署  144

    3.3.1 OpenShift集群部署介绍  144

    3.3.2 OpenShift集群自动部署配置  147

    3.3.3 OpenShift集群在线自动部署  151

    3.3.4 OpenShift集群离线自动部署  154

    3.4 OpenShift集群运维与管理  160

    3.4.1 OpenShift集群扩容  160

    3.4.2 OpenShift集群升级  162

    3.4.3 OpenShift集群备份  167

    3.4.4 OpenShift集群恢复  172

    3.5 本章小结  176

    第4章 OpenShift云原生应用构建与部署  177

    4.1 OpenShift应用构建与部署概述  177

    4.1.1 OpenShift应用构建介绍  177

    4.1.2 OpenShift镜像流介绍  179

    4.1.3 OpenShift应用部署介绍  180

    4.2 OpenShift应用构建  180

    4.2.1 BuildConfig资源对象  181

    4.2.2 Docker构建  199

    4.2.3 源代码构建  205

    4.2.4 jenkinsPipeline构建  212

    4.3 OpenShift应用部署  216

    4.3.1 DeploymentConfig资源对象  216

    4.3.2 Rolling与Recreate部署  220

    4.4 OpenShift资源模板  224

    4.4.1 OpenShift资源模板介绍  225

    4.4.2 OpenShift资源模板制作与应用实践  228

    4.5 本章小结  232

    第5章 OpenShift云原生DevOps构建  233

    5.1 DevOps发展简介  233

    5.1.1 DevOps发展背景介绍  233

    5.1.2 DevOps流水线介绍  237

    5.2 Jenkins持续集成  239

    5.2.1 OpenShift云原生部署Jenkins  240

    5.2.2 Jenkins OpenShift插件应用介绍  242

    5.3 GitLab代码仓库  246

    5.3.1 OpenShift云原生部署GitLab  247

    5.3.2 Jenkins与GitLab在OpenShift上的集成  250

    5.4 SonarQube代码扫描  255

    5.4.1 OpenShift云原生部署SonarQube  256

    5.4.2 Jenkins与SonarQube在OpenShift上的集成  261

    5.5 Nexus制品库  268

    5.5.1 OpenShift云原生部署Nexus  268

    5.5.2 Jenkins与Nexus在OpenShift上的集成  270

    5.6 构建JeeSite应用DevOps流水线实战  273

    5.7 本章小结  284

    第6章 Service Mesh及其在OpenShift上的实践  285

    6.1 传统微服务架构  285

    6.1.1 微服务与SOA  286

    6.1.2 Spring Cloud框架  287

    6.1.3 Dubbo框架   289

    6.1.4 微服务现状分析  290

    6.2 云原生微服务架构  292

    6.2.1 Service Mesh  292

    6.2.2 Linkerd  294

    6.2.3 Enovy  296

    6.2.4 Istio  299

    6.2.5 Docker、Kubernetes与Istio  302

    6.3 Istio在OpenShift上的实现  304

    6.3.1 OpenShift集群快速部署与实现  304

    6.3.2 OpenShift上部署Istio集群  305

    6.3.3 OpenShift上部署Istio微服务  310

    6.4 基于OpenShift的Istio功能验证与测试  314

    6.4.1 微服务监控与跟踪  314

    6.4.2 微服务流量控制  320

    6.4.3 微服务故障注入  328

    6.4.4 微服务请求熔断  332

    6.4.5 微服务Egress路由  338

    6.4.6 微服务可视化  340

    6.5 本章小结  345

    第7章 Serverless及其在OpenShift上的实践  346

    7.1 软件架构演变历史  346

    7.1.1 单体架构  346

    7.1.2 SOA架构  347

    7.1.3 微服务架构  348

    7.1.4 Serverless架构  349

    7.2 深入认识Serverless架构  350

    7.2.1 Serverless与云原生  350

    7.2.2 Serverless与微服务  352

    7.2.3 Serverless与PaaS  353

    7.2.4 Serverless与FaaS  354

    7.3 Serverless发展现状  355

    7.3.1 AWS Lambda  355

    7.3.2 OpenWhisk  357

    7.3.3 OpenFaaS  361

    7.3.4 Kubeless  362

    7.3.5 Serverless现状分析  363

    7.4 Serverless统一平台Knative  364

    7.4.1 构建系统Build  366

    7.4.2 服务系统Serving  368

    7.4.3 事件系统Eventing  373

    7.5 基于OpenShift的Knative实现  378

    7.5.1 部署OpenShift  378

    7.5.2 部署Istio  380

    7.5.3 部署Knative Serving  380

    7.5.4 部署Serverless应用  382

    7.6 Knative应用验证与测试  384

    7.6.1 事件驱动  384

    7.6.2 自动伸缩  386

    7.7 本章小结  395

    第8章 Spark数据科学及其在OpenShift上的实践  396

    8.1 Spark计算框架介绍  396

    8.1.1 Spark组件  397

    8.1.2 Spark的优势和特性  398

    8.2 Spark与数据科学  399

    8.3 Spark on K8S介绍  401

    8.4 Spark数据科学在OpenShift上的实现  406

    8.4.1 数据科学项目Radanalyticsio介绍  406

    8.4.2 Spark集群在OpenShift上的生命周期管理  408

    8.4.3 Spark应用在OpenShift上的自动部署实现  417

    8.5 Spark数据科学之云原生自然语言处理  424

    8.5.1 自然语言处理与Word2vec  424

    8.5.2 自然语言处理开源项目Ophicleide  425

    8.5.3 自然语言处理云原生部署实现  425

    8.5.4 自然语言处理应用验证与测试  433

    8.6 Spark数据科学之云原生推荐引擎  436

    8.6.1 推荐引擎介绍  436

    8.6.2 推荐引擎开源项目Jiminy  437

    8.6.3 推荐引擎云原生部署与实现  438

    8.6.4 推荐引擎应用验证与测试  443

    8.7 本章小结  445
查看详情
12