OpenShift云原生架构:原理与实践pdf下载

OpenShift云原生架构:原理与实践百度网盘pdf下载

作者:
简介:OpenShift云原生架构:原理与实践
出版社:机械工业出版社
出版时间:2020-02-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

内容简介
  本书是一本专注于OpenShift企业用户经验总结的着作,以实现企业数字化转型为最终目标,深度讲解并实践基于OpenShift的云原生架构,以云原生应用的构建部署、DevOps、Service Mesh、Serverless和Spark数据科学为核心内容,基于OpenShift构建企业数字化转型云原生技术中台。通过阅读本书,读者就能以云原生方式,简单轻松地集成当前最主流的开源技术。
目录
前言
第1章 PaaS赋能云原生时代数字化转型
1.1 PaaS重塑云计算时代
1.1.1 PaaS统一云计算架构
1.1.2 PaaS构建云计算未来
1.1.3 PaaS赋能微服务架构
1.1.4 PaaS加速DevOps实践
1.1.5 PaaS构筑云原生时代
1.2 PaaS赋能企业数字化转型
1.2.1 数字化转型的本质
1.2.2 PaaS赋能企业中台
1.2.3 PaaS助力数字化转型
1.3 企业级PaaS平台OpenShift介绍
1.3.1 OpenShift及其发展简史
1.3.2 OpenShift与云原生架构
1.3.3 OpenShift与Kubernetes
1.4 本章小结
第2章 OpenShift架构设计与原理
2.1 OpenShift总体架构
2.1.1 OpenShift设计哲学
2.1.2 OpenShift核心组件
2.1.3 OpenShift核心概念
2.1.4 OpenShift部署架构
2.2 OpenShift网络之SDN
2.2.1 OpenShift SDN网络配置
2.2.2 OpenShift Node节点上的SDN
2.2.3 OpenShift SDN网络隔离
2.2.4 OpenShift典型网络访问场景
2.3 OpenShift网络之路由器
2.3.1 从集群外访问OpenShift中的服务
2.3.2 OpenShift HAProxy路由器介绍
2.3.3 OpenShift路由规则介绍
2.3.4 OpenShift路由服务高可用
2.4 OpenShift网络之DNS
2.4.1 OpenShift Pod内部DNS配置
2.4.2 OpenShift Node节点DNS配置
2.4.3 OpenShift集群内DNS查询流程
2.5 OpenShift存储
2.5.1 Docker卷
2.5.2 OpenShift存储卷
2.5.3 OpenShift持久化卷
2.5.4 静态创建持久化卷
2.5.5 动态创建持久化卷
2.6 OpenShift权限控制
2.6.1 OpenShift权限概述
2.6.2 OpenShift权限认证
2.6.3 OpenShift基于角色的权限访问控制
2.6.4 OpenShift安全上下文约束
2.7 OpenShift服务目录
2.7.1 OpenShift服务目录概述
2.7.2 OpenShift服务目录概念理解
2.7.3 OpenShift服务目录使用介绍
2.8 本章小结
第3章 OpenShift集群部署与运维
3.1 OpenShift集群规划与部署准备
3.1.1 集群软件版本规划
3.1.2 集群规模与资源需求
3.1.3 集群高可用架构设计
3.1.4 集群主机环境需求
3.1.5 集群主机系统准备
3.2 OpenShift开发测试环境快速部署
3.2.1 OpenShift容器与二进制方式快速启动
3.2.2 OpenShift自定义脚本一键自动部署
3.2.3 OpenShift开发测试环境Minishift
3.3 OpenShift集群生产环境自动部署
3.3.1 OpenShift集群部署介绍
3.3.2 OpenShift集群自动部署配置
3.3.3 OpenShift集群在线自动部署
3.3.4 OpenShift集群离线自动部署
3.4 OpenShift集群运维与管理
3.4.1 OpenShift集群扩容
3.4.2 OpenShift集群升级
3.4.3 OpenShift集群备份
3.4.4 OpenShift集群恢复
3.5 本章小结
第4章 OpenShift云原生应用构建与部署
4.1 OpenShift应用构建与部署概述
4.1.1 OpenShift应用构建介绍
4.1.2 OpenShift镜像流介绍
4.1.3 OpenShift应用部署介绍
4.2 OpenShift应用构建
4.2.1 BuildConfig资源对象
4.2.2 Docker构建
4.2.3 源代码构建
4.2.4 jenkinsPipeline构建
4.3 OpenShift应用部署
4.3.1 DeploymentConfig资源对象
4.3.2 Rolling与Recreate部署
4.4 OpenShift资源模板
4.4.1 OpenShift资源模板介绍
4.4.2 OpenShift资源模板制作与应用实践
4.5 本章小结
第5章 OpenShift云原生DevOps构建
5.1 DevOps发展简介
5.1.1 DevOps发展背景介绍
5.1.2 DevOps流水线介绍
5.2 Jenkins持续集成
5.2.1 OpenShift云原生部署Jenkins
5.2.2 Jenkins OpenShift插件应用介绍
5.3 GitLab代码仓库
5.3.1 OpenShift云原生部署GitLab
5.3.2 Jenkins与GitLab在OpenShift上的集成
5.4 SonarQube代码扫描
5.4.1 OpenShift云原生部署SonarQube
5.4.2 Jenkins与SonarQube在OpenShift上的集成
5.5 Nexus制品库
5.5.1 OpenShift云原生部署Nexus
5.5.2 Jenkins与Nexus在OpenShift上的集成
5.6 构建JeeSite应用DevOps流水线实战
5.7 本章小结
第6章 Service Mesh及其
6.1 传统微服务架构
6.1.1 微服务与SOA
6.1.2 Spring Cloud框架
6.1.3 Dubbo框架
6.1.4 微服务现状分析
6.2 云原生微服务架构
6.2.1 Service Mesh
6.2.2 Linkerd
6.2.3 Enovy
6.2.4 Istio
6.2.5 Docker、Kubernetes与Istio
6.3 Istio在OpenShift上的实现
6.3.1 OpenShift集群快速部署与实现
6.3.2 OpenShift上部署Istio集群
6.3.3 OpenShift上部署Istio微服务
6.4 基于OpenShift的Istio功能验证与测试
6.4.1 微服务监控与跟踪
6.4.2 微服务流量控制
6.4.3 微服务故障注入
6.4.4 微服务请求熔断
6.4.5 微服务Egress路由
6.4.6 微服务可视化
6.5 本章小结
第7章 Serverless及其在OpenShift
7.1 软件架构演变历史
7.1.1 单体架构
7.1.2 SOA架构
7.1.3 微服务架构
7.1.4 Serverless架构
7.2 深入认识Serverless架构
7.2.1 Serverless与云原生
7.2.2 Serverless与微服务
7.2.3 Serverless与PaaS
7.2.4 Serverless与FaaS
7.3 Serverless发展现状
7.3.1 AWS Lambda
7.3.2 OpenWhisk
7.3.3 OpenFaaS
7.3.4 Kubeless
7.3.5 Serverless现状分析
7.4 Serverless统一平台Knative
7.4.1 构建系统Build
7.4.2 服务系统Serving
7.4.3 事件系统Eventing
7.5 基于OpenShift的Knative实现
7.5.1 部署OpenShift
7.5.2 部署Istio
7.5.3 部署Knative Serving
7.5.4 部署Serverless应用
7.6 Knative应用验证与测试
7.6.1 事件驱动
7.6.2 自动伸缩
7.7 本章小结
第8章 Spark数据科学及其在OpenShift上的实践
8.1 Spark计算框架介绍
8.1.1 Spark组件
8.1.2 Spark的优势和特性
8.2 Spark与数据科学
8.3 Spark on K8S介绍
8.4 Spark数据科学在OpenShift上的实现
8.4.1 数据科学项目Radanalyticsio介绍
8.4.2 Spark集群在OpenShift上的生命周期管理
8.4.3 Spark应用在OpenShift上的自动部署实现
8.5 Spark数据科学之云原生自然语言处理
8.5.1 自然语言处理与Word2vec
8.5.2 自然语言处理开源项目Ophicleide
8.5.3 自然语言处理云原生部署实现
8.5.4 自然语言处理应用验证与测试
8.6 Spark数据科学之云原生推荐引擎
8.6.1 推荐引擎介绍
8.6.2 推荐引擎开源项目Jiminy
8.6.3 推荐引擎云原生部署与实现
8.6.4 推荐引擎应用验证与测试
8.7 本章小结
前言
  前言
  为什么要写这本书
  “未来已来,只是尚未流行。”
  ——威廉·吉布森
  查尔斯·狄更斯的《双城记》中有句耳熟能详的名言:“这是一个最好的时代,也是一个最坏的时代。”作为技术从业者,在这个数字化浪潮和技术变革接连发生的时代,我对这句话感慨颇深!当前,全社会都在经历新型数字经济基础设施的解耦、重构,也正在经历一场技术架构的大迁徙,我们的经济基础设施正在由传统IT架构向云计算架构体系迁移,以云计算为核心的数字化转型正在席卷全球,各行各业都在迈向数字化和智能化经济时代。伴随着我国极高的消费端数字化普及程度,复杂多变、个性需求高、体验至上和以用户为中心的商业模式,正在倒逼供给侧和产业端向数字化和智能化转型,而数字化时代需要面临的消费者主权崛起及其带来的复杂商业系统,则要求我们必须基于云计算架构、基于新兴技术群,对传统商业系统基础设施进行敏捷化和智能化的重构升级,以实现企业在应对复杂商业系统的多变性和不确定性时,具有实时响应和精准决策的能力。事实上,纵观人类社会的发展史,每一次产业革命的到来,无不以基础设施的更新、迭代和重构为代价。为此,我们的IT基础设施经历了物理机、虚拟化、云计算、容器,直至无服务器计算的发展,而与之对应的应用架构也经历了单体、多层、SOA、微服务到函数计算的发展。
  面对商业系统的日趋复杂和技术变革的持续演进,当前阶段,我们应该聚焦的不是敷衍、无视技术的进步和传统基础设施的臃肿落后,不是犹豫、徘徊是否拥抱云计算,也不是在自我封闭中量化、评估数字化转型的风险和收益,而是应该思考如何利用新技术快速构筑企业新型竞争力,如何以最快捷、最稳健和最敏捷的方式走向云原生时代,更应该思考如何以云计算为核心,以新兴技术群为能力,解耦并重构传统基础设施,进而迈向智能化和数字化时代。为了实现这些目标,企业需要聚合云计算、大数据、人工智能、区块链、IoT、边缘计算和5G通信等新兴前沿技术,打造企业数字化转型赋能平台、技术中台和创新引擎。为此,企业级云原生PaaS平台应运而生。作为云计算三大模式之一的PaaS,在企业数字化转型加剧和云计算发展进入深水区的今天,凭借其在应对数字化时代传统复杂应用上云、个性需求与日俱增、市场需求敏捷响应、中台战略加速落地和新兴技术持续集成等方面的能力,正以强劲增长的态势赶超以通用计算能力为主的IaaS和具有特定行业属性的SaaS,并真正成为云计算的未来!因此,以云原生PaaS平台为引擎,构建企业技术中台,已成为企业数字化转型的必由之路!
  作为以Kubernetes为核心的平台,OpenShift已成为当下最受欢迎的企业级云原生PaaS平台。在企业数字化转型时代,OpenShift的价值和意义,并不在于其作为云计算PaaS服务模式的存在,而在于其拓展并延伸了PaaS的内涵,带来了全栈融合云时代,实现了应用生命周期的全栈自动化,打通了传统企业通往云原生、DevOps、微服务和Serverless等新世界的隧道,而且打通的是一条极为宽敞光明的大道,而在过往,这些都是横亘在企业通往数字化道路上的“珠峰”。通过开源容器云OpenShift,企业可快速构建自己专属的云原生PaaS平台,同时,利用OpenShift强大的云原生技术集成创新能力,企业能简单快速地打造具备全栈自动、弹性灵活、敏捷迭代、全域赋能的强大技术中台,进而重塑企业全新的数字经济基础设施,最终助推企业迈向数字化时代。
  鉴于OpenShift在企业数字化转型道路上所展现出来的价值和意义,考虑到当前市面上仍然缺乏一本从终端企业用户的实践经验出发,并通过实战方式介绍基于OpenShift构建云原生企业技术中台的实践书籍,我们决定编写此书,希望能够帮助企业用户深入理解并掌握OpenShift容器云平台的设计和架构原理。通过云原生架构的讲解、应用自动构建部署的介绍,以及DevOps、Service Mesh、Serverless和Spark数据科学在OpenShift云原生PaaS平台上的集成和应用实践,希望能够帮助企业用户快速构建全域赋能数字化转型的技术中台。同时,也希望本书能够为开源社区的技术普及和推广贡献微薄之力,为广大技术爱好者提供实践参考,为广大处于数字化转型中的企业用户提供实践思路和前行者的经验。
  未来已来,只是尚未流行!希望本书能与大家携手前行,共迎未来!
  读者对象
  ·负责企业数字化转型的CTO/CIO/CDO,或者信息技术总监等
  ·开源社区、开源云计算的贡献者和爱好者
  ·云原生技术爱好者、架构师
  ·PaaS平台从业者、云计算爱好者
  ·OpenShift实施部署工程师、运维工程师
  ·DevOps或CI/CD实践者
  ·云原生应用开发工程师、云原生应用运维工程师
  ·微服务、Serverless技术爱好者
  ·云原生数据科学爱好者、大数据工程师
  ·对云计算进行研究实践的科研院校学生或教师
  本书特色
  本书是一本专注于OpenShift企业用户经验总结的着作,以实现企业数字化转型为最终目标,深度讲解并实践基于OpenShift的云原生架构,以云原生应用的构建部署、DevOps、Service Mesh、Serverless和Spark数据科学为核心内容,基于OpenShift构建企业数字化转型云原生技术中台。通过阅读本书,读者就能以云原生方式,简单轻松地集成当前最主流的开源技术。
  如何阅读本书
  本书是企业数字化转型时代基于OpenShift构建企业云原生技术中台的匠心之作。作者基于多年在企业用户中从事云计算和数字化转型的实战经验,从开源云原生PaaS平台OpenShift的架构设计和原理讲起,深入介绍了OpenShift平台的部署及运维实践,并以实战方式介绍云原生应用的构建编排和生命周期管理,同时介绍了DevOps、Service Mesh、Serverless和Spark数据科学在OpenShift平台上的云原生实现,并以此为基础构建了企业数字化转型所必需的技术中台。
  阅读本书之前,读者应具备一定的云计算知识,并对企业数字化转型的迫切需求和动机具有初步了解,对开源云计算及其相关运维工具,如Linux、OpenStack、Ansible等具有一定的了解,对DevOps、微服务、Serverless和Spark等技术具备概念性的了解。
  全书分为8章,各章具体内容如下。
  第1章主要介绍了云原生PaaS平台在企业数字化转型中的关键作用,不仅讲解了PaaS与云计算、微服务、DevOps、Serverless和云原生之间的关系,PaaS平台如何赋能企业数字化转型,还对企业级云原生PaaS平台OpenShift进行了初步介绍。
  第2章深入讲解了OpenShift云原生PaaS平台的架构设计与原理。本章从OpenShift的总体架构讲起,详细阐述了OpenShift内部的网络架构、路由器、DNS、存储卷、权限控制和服务目录等功能组件的实现原理。
  第3章系统讲述了OpenShift集群的部署与运维实践,主要介绍了OpenShift集群部署前的准备工作和资源需求,同时介绍了如何针对开发测试环境和生产环境实现OpenShift集群的高可用部署,以及如何对OpenShift集群进行运维管理。
  第4章重点讲解了基于OpenShift平台的云原生应用的自动构建与部署,包括对基于OpenShift的云原生应用自动构建与部署的流程、方法,以及OpenShift应用部署资源模板和应用实践。
  第5章介绍了如何在OpenShift上实现云原生DevOps工具链,从DevOps发展背景和历程讲起,详细介绍了持续集成工具Jenkins在OpenShift上的云原生实现,DevOps工具链GitLab、SonarQube和Nexus在OpenShift上的云原生实现及其与Jenkins的集成,并通过实战方式介绍了如何实现JeeSite应用的DevOps流水线。
  第6章主要介绍了微服务架构在OpenShift上的实践,在介绍传统微服务架构和云原生微服务架构基础之上,以新一代微服务架构Service Mesh为主旨,剖析了Istio在OpenShift上的实现,以及基于Istio的微服务应用在OpenShift上的实践,并对Istio的功能特性进行了验证测试。
  第7章重点讲解了Serverless架构在OpenShift上的实践,在详细介绍了软件架构演变历程的基础之上,深入分析了Service Mesh与云原生、微服务、PaaS和FaaS之间的关系,同时对Serverless的现状进行了概述,对Knative功能模块进行了深入分析,对Knative在OpenShift上的实现进行了讲解,同时在OpenShift上实现了基于Knative的Serverless应用,并对Knative的功能特性进行了验证测试。
  第8章重点介绍了以Spark为核心的数据科学应用及其在OpenShift上的云原生实践。详细介绍了Spark计算框架及其与数据科学的关系,同时对Spark在Kubernetes上的实现进行了详细介绍。通过Radanalyticsio项目,详细介绍了Spark集群在OpenShift上的实现过程,并基于云原生Spark集群,详细介绍了自然语言和推荐引擎应用案例在OpenShift上的实现过程。
  勘误和支持
  在本书的写作过程中,我们参考了很多OpenShift、Kubernetes和CNCF等官方社区的资料以及历届各种开源技术峰会的讨论文档与视频,同时也参考了很多开源软件的官方资料和技术专家的经验分享,我们诚恳希望能够为OpenShift爱好者、云原生架构爱好者,以及数字化转型从业者呈现一本理论基础与应用实践相结合的参考书籍。但是由于技术变化很快,加之笔者水平有限,书中难免存在不恰当和谬误观点,若读者发现书中有任何不妥之处,恳请读者朋友批评指正。另外,鉴于OpenShift版本的迭代更新,本书主要以当前最为稳定的OpenShift 3.11为主,并有部分OpenShift 4.2的功能介绍。读者如果在阅读过程中有任何问题和意见,恳请将其发送至邮箱yfc@hzbook.com,我们会认真听取大家的宝贵意见。我们将实时跟进社区技术的发展变化,读者可通过关注微信公众号“OpenShift开源社区”获取最新的技术文章或者进行意见反馈。
  致谢
  本书的编写历时一年有余,在工作和生活极为繁忙的阶段,我仍然坚持每日查阅资料和整理文章,其间得到了招商银行很多同事和领导的关心,同时也得到了很多前IBM同事和领导的支持,在此一并谢过,正是你们的关心和支持,才使得我在繁忙的工作之余仍然怀着一颗敬畏之心进行写作。在本书的策划和写作期间,机械工业出版社华章分社的杨福川先生给予了极大的关心和帮助,在此感谢杨福川先生对本书的策划以及罗词亮、张锡鹏对全文的审阅校对,正是你们的辛勤付出才有了本书的顺利问世。
  另外,还要感谢我的妻子杨彩凤女士在写作期间对我的照顾与理解,在多少个深夜与凌晨,正是你的理解与支持,我才能全身心投入写作中。在此也要感谢我的父母,感谢你们的默默养育和辛勤付出。
  最后,感谢所有为本书的编写提供了帮助、支持与鼓励的朋友们。
  山金孝
  2020年2月于重庆
精彩书摘
  如今,各行业都在关注和讨论着的智能经济、数字化转型、智能制造、人工智能、工业互联网、5G与边缘计算等,实质上都是在描述一件事情——人类正在重构新的技术架构体系,正在经历一场技术架构的大变迁!这场技术架构的变革牵引着我们从传统信息技术时代进入基于云计算技术的架构体系时代。在智能经济和数字化时代,复杂商业系统的不确定性需求与日俱增,基于传统IT架构的信息系统或解决方案正在面临业务系统“孤岛林立”、复杂臃肿、数据碎片化、迭代交付缓慢、市场需求响应迟钝等困境。为了满足企业的发展需求,我们需要一整套构建于云计算架构体系上的软件应用系统、新型商业模式和智能运维体系,并实现传统IT架构下业务系统的云化迁移和改造,打造基于“大中台、小前台”的平台赋能支撑体系,实现当代信息系统的主要特性,包括业务系统数据共享与互通、功能复用与快速迭代、需求敏捷开发与高效交付、应用流水线部署与滚动升级、资源弹性扩展与实时在线、运维自动化与智能化等。
  商业的逻辑在于竞争,竞争的本质在于对企业各种社会资源的获取与整合能力,以及响应交付效率。软件应用系统作为当代企业竞争手段与工具的重要载体,直接决定了企业在智能经济和数字化时代的生存与发展。因此,能够实时响应用户需求、敏捷交付实现业务逻辑的云计算架构体系成为企业的必然选择。在基于云计算的应用架构体系中,存在由下至上和由上至下两种抽象,现阶段我们所看到、听到和正在学习研究的诸多技术架构和各种云原生技术栈,其目的都是实现这两种抽象。