新書推薦:
《
生成式人工智能:AIGC与多模态技术应用实践指南
》
售價:NT$
495.0
《
石油帝国的兴衰:英国的工业化与去工业化
》
售價:NT$
445.0
《
古典的回響:溪客舊廬藏明清文人繪畫
》
售價:NT$
1990.0
《
根源、制度和秩序:从老子到黄老学(王中江著作系列)
》
售價:NT$
550.0
《
索恩丛书·北宋政治与保守主义:司马光的从政与思想(1019~1086)
》
售價:NT$
345.0
《
掌故家的心事
》
售價:NT$
390.0
《
农为邦本——农业历史与传统中国
》
售價:NT$
340.0
《
小麦文明:“黄金石油”争夺战
》
售價:NT$
445.0
|
內容簡介: |
本书介绍的OpenShift是基于Docker和Kubernetes构建的开源的容器云,是为帮助企业、组织搭建及管理基于容器的应用平台产生的解决方案。通过OpenShift,企业可以快速地搭建稳定、安全、高效的容器应用平台。本书深入浅出地介绍如何搭建OpenShift容器云平台,并在这个平台上进行应用的开发和部署。探讨在OpenShift上如何满足软件研发常见的需求,如持续集成和交付,微服务化、数据持久化等。同时,探讨OpenShift的软件定义网络、高可用、配额控制等与运维息息相关的话题。
|
關於作者: |
陈耿,Red Hat高级技术顾问,认证架构师。Red Hat中国OpenShift团队的技术专家。专注于PaaS及DevOps领域相关工作。从2001年接触Linux起便是开源社区的忠实粉丝。陈耿的爱好是旅游和摄影,他的背包和摄像机已经陪伴他走过超过20个国家和地区。
|
目錄:
|
目录?Contents
序言
前言
致谢
基础篇
第1章 开源容器云概述2
1.1 容器时代的IT2
1.2 开源容器云3
1.3 OpenShift4
1.4 Docker、Kubernetes与OpenShift6
1.4.1 容器引擎6
1.4.2 容器编排6
1.4.3 容器应用云7
1.5 OpenShift社区版与企业版8
第2章 初探OpenShift容器云10
2.1 启动OpenShift Origin10
2.1.1 准备主机11
2.1.2 准备操作系统11
2.1.3 操作系统配置11
2.1.4 安装Docker12
2.1.5 下载OpenShift Origin安装包13
2.1.6 安装及启动OpenShift Origin13
2.1.7 登录OpenShift Origin控制台14
2.2 运行第一个容器应用14
2.2.1 创建项目14
2.2.2 部署Docker镜像15
2.2.3 访问容器应用18
2.2.4 一些疑问19
2.3 完善OpenShift集群19
2.3.1 命令行工具19
2.3.2 以集群管理员登录21
2.3.3 添加Router22
2.3.4 添加Registry23
2.3.5 添加Image Stream24
2.3.6 添加Template25
2.4 部署应用27
2.5 本章小结32
第3章 OpenShift架构探秘33
3.1 架构概览33
3.1.1 基础架构层34
3.1.2 容器引擎层34
3.1.3 容器编排层34
3.1.4 PaaS服务层35
3.1.5 界面及工具层35
3.2 核心组件详解35
3.2.1 Master节点36
3.2.2 Node节点37
3.2.3 Project与Namespace38
3.2.4 Pod38
3.2.5 Service40
3.2.6 Router与Route41
3.2.7 Persistent Storage42
3.2.8 Registry42
3.2.9 Source to Image43
3.2.10 开发及管理工具集44
3.3 核心流程详解44
3.3.1 应用构建44
3.3.2 应用部署45
3.3.3 请求处理45
3.3.4 应用更新46
3.4 本章小结46
第4章 OpenShift企业部署47
4.1 部署架构47
4.1.1 多环境单集群47
4.1.2 多环境多集群48
4.1.3 多个数据中心48
4.2 高级安装模式49
4.2.1 主机准备50
4.2.2 安装前预配置50
4.2.3 执行安装53
4.2.4 安装后配置54
4.3 离线安装57
4.4 集群高可用58
4.4.1 主控节点的高可用58
4.4.2 计算节点的高可用59
4.4.3 组件的高可用59
4.4.4 应用的高可用60
4.5 本章小结60
开发篇
第5章容器应用的构建与部署自动化62
5.1 一个Java应用的容器化之旅62
5.2 OpenShift构建与部署自动化64
5.2.1 快速构建部署一个应用65
5.2.2镜像构建:Build Config与Build69
5.2.3镜像部署:Deployment Config与Deploy72
5.2.4 服务连通:Service与Route76
5.3 弹性伸缩77
5.3.1 Replication Controller77
5.3.2 扩展容器实例77
5.3.3 状态自恢复78
5.4 应用更新发布78
5.4.1 触发更新构建78
5.4.2 更新部署80
5.5 本章小结80
第6章 持续集成与部署81
6.1 部署Jenkins服务81
6.2 触发项目构建83
6.2.1 创建Jenkins项目84
6.2.2 添加构建步骤84
6.2.3 触发构建85
6.3 构建部署流水线85
6.3.1 创建开发测试环境项目85
6.3.2 创建集成测试环境项目86
6.3.3 创建生产环境项目87
6.3.4 配置访问权限87
6.3.5 创建集成测试环境部署配置87
6.3.6 创建生产环境部署配置88
6.3.7 创建DEV构建配置88
6.3.8 创建SIT构建配置89
6.3.9 创建RELEASE构建配置90
6.3.10 配置流水线92
6.4 流水线可视化93
6.4.1 安装流水线插件93
6.4.2 创建流水线视图93
6.5 OpenShift流水线95
6.5.1 部署Jenkins实例95
6.5.2 部署示例应用95
6.5.3 查看流水线定义96
6.5.4 触发流水线构建97
6.5.5 修改流水线配置99
6.6 本章小结100
第7章 应用的微服务化101
7.1 容器与微服务101
7.1.1 微服务概述101
7.1.2 微服务与容器101
7.2 微服务容器化102
7.2.1基于现有的构建系统容器化微服务103
7.2.2 基于S2I容器化微服务103
7.3 服务部署105
7.3.1 单个微服务的部署105
7.3.2 多个微服务的部署105
7.4 服务发现106
7.4.1 通过Service进行服务发现107
7.4.2 服务目录与链接108
7.5 健康检查108
7.5.1 Readniess与Liveness108
7.5.2 健康检查类型109
7.6 更新发布110
7.6.1 滚动更新110
7.6.2 发布回滚112
7.6.3 灰度发布112
7.7 服务治理117
7.7.1 API网关117
7.7.2 微服务框架117
7.8 本章小结118
第8章 应用数据持久化119
8.1 无状态应用与有状态应用119
8.1.1 非持久化的容器119
8.1.2 容器数据持久化120
8.2 持久化卷与持久化卷请求120
8.3 持久化卷与储存123
8.3.1 Host Path124
8.3.2 NFS124
8.3.3 GlusterFS124
8.3.4 Ceph125
8.3.5 OpenStack Cinder126
8.4 存储资源定向匹配127
8.4.1 创建持久化卷127
8.4.2 标记标签127
8.4.3 创建持久化卷请求127
8.4.4 请求与资源定向匹配128
8.4.5
|
內容試閱:
|
Preface?前言云起之时开源有道我仍然记得,在2000年年初,国内软件开发领域最热门的操作系统、语言、开发工具、数据库等基本上都是大型商业公司的产品。那时Linux已经存在,但是还不算主流。在我所工作的网络中心中,大部分服务器使用的是Windows Server或者Sun Solaris操作系统。市场上需求最火爆的开发平台是Visual C++、Visual Basic和已经基本消失不见的Delphi。然而17年后的今天,当再次审视当前所处的环境时,我们会惊讶地发现,开源社区的产品已然出现在各个领域:从操作系统、开发工具、编程语言,到中间件、数据库,再到虚拟化、基础架构云、应用平台云等。可以说当前的时代是名副其实的开源的时代,企业可以通过开源社区的创新构建一个完全开源的企业架构堆栈。
经过前几年云计算变革的推进,OpenStack目前已经成为了企业构建私有基础架构云的一个主流选择。当前,我们正处于容器变革的过程中。在我看来,容器在未来将会成为云计算一种重要的应用交付和部署格式,越来越多的应用会以容器的方式交付和部署在庞大的云计算集群中。在这种情况下,企业必须有一个如OpenStack一般健壮的平台肩负起大规模容器集群的部署、编排和管理等方面的任务。
作为Red Hat的一份子,我有幸在OpenShift容器云早期出现时就关注和负责相关的项目。我见证了OpenShift这个项目的发展,并为之取得的成绩感到骄傲。OpenShift作为一个容器云,它提供了众多契合企业大规模容器集群场景的功能,满足了企业在构建容器云方面的各种需求。在许多实际的项目中,我惊讶于OpenShift灵活的架构总能以某种方式解决用户所面对的问题。
作为一名开源社区的忠实粉丝,我为OpenShift项目取得的成绩感到骄傲,也对OpenShift这个平台充满了信心。因此,我希望通过书籍这个媒介让更多的人了解OpenShift,体验到OpenShift带来的价值。
本书主要内容容器是当前IT业界的一个热门话题,因为容器以及围绕其展开的生态系统正在改变云计算的面貌。目前,许多用户已经不再处于讨论“要不要使用容器”的阶段,而是进入讨论“如何用好容器”的阶段。容器技术有许多优点,在许多应用场景中有着巨大的潜力,但是用好容器技术可能比容器技术本身更为复杂。在许多人的眼里,容器就是Docker。然而现实是,要在一个企业或组织里大规模地使用容器,除了容器引擎,我们还需要考虑容器编排、调度、安全、应用部署、构建、高可用、网络、存储等方方面面的问题。企业必须有一套整体的解决方案来应对这些挑战。
本书介绍的OpenShift是基于Docker和Kubernetes构建的开源的容器云,是为帮助企业、组织搭建及管理基于容器的应用平台而产生的解决方案。通过OpenShift,企业可以快速搭建稳定、安全、高效的容器应用平台。在这个平台上:
可以构建企业内部的容器应用市场,为开发人员快速提供应用开发所依赖的中间件、数据库等服务。
通过自动化的流程,开发人员可以快速进行应用的构建、容器化及部署。
通过OpenShift,用户可以贯通从应用开发到测试,再到上线的全流程,开发、测试和运维等不同的角色可以在一个平台上进行协作。
OpenShift可以提高应用从研发到上线的效率和速度,缩短产品上市的时间,可以有效地帮助企业推进DevOps,提升生产效率。
本书将通过深入浅出的方式一步步介绍如何通过OpenShift容器云构建企业容器云平台,并在这个平台上进行应用的开发和部署。我们将探讨在OpenShift上如何满足软件研发常见的需求,如持续集成和交付、微服务化、数据持久化等。同时,我们也将探讨OpenShift的软件定义网络、高可用、配额控制等与运维息息相关的话题。本书会从开发和运维两个视角来审视构建和应用企业容器云的注意事项。
全书分为基础篇、开发篇及运维篇。
基础篇(第1~4章)介绍容器云、企业容器云建设及OpenShift容器云的情况,帮助读者快速了解相关领域的知识。
开发篇(第5~9章)重点讲解如何使用OpenShift容器云满足应用研发重点关注的需求,如持续集成、微服务、数据持久化等话题,让读者了解如何通过容器云平台提升应用研发的效率。
运维篇(第10~14章)介绍OpenShift容器云对运维需求的支持情况,涉及网络、安全、权限及二次开发等运维关注的话题。
希望通过本书让读者完整地了解构建企业容器云平台涉及的各个方面,以及如何使用OpenShift来满足各个方面的需求。
本书的亮点来自Red Hat资深技术顾问、认证架构师的一线经验和原创心得。
不照搬或翻译官方文档堆砌文字,不空泛地讲理念。
精心设计章节编排,语言通俗易懂,内容循序渐进,帮助你掌握容器云的理念。
丰富的动手示例让你了解背后的技术细节并掌握实际的操作。
兼顾开发和运维的不同关注点,探讨容器云如何助力企业IT。
需要注意的是,本书并不是OpenShift的产品手册,也不打算成为一本大而全的功能手册,所以不会枚举OpenShift的所有功能。如果你是要查找OpenShift某个功能的详细参数列表,OpenShift文档是你绝对的不二选择。本书的目的是通过循序渐进的方式,让你了
|
|