• 当当正版 基于Kubernetes的云原生DevOps 第2版 [美]贾斯汀 多明格斯(Justin Domingus),[英]约翰 阿伦德尔(John Arundel) 9787519883829 中国电力出版社
21年品牌 40万+商家 超1.5亿件商品

当当正版 基于Kubernetes的云原生DevOps 第2版 [美]贾斯汀 多明格斯(Justin Domingus),[英]约翰 阿伦德尔(John Arundel) 9787519883829 中国电力出版社

新华书店直发 全新正版 急速发货 开票联系客服

48.37 3.8折 128 全新

库存14件

北京西城
认证卖家担保交易快速发货售后保障

作者[美]贾斯汀 多明格斯(Justin Domingus),[英]约翰 阿伦德尔(John Arundel)

出版社中国电力出版社

ISBN9787519883829

出版时间2023-12

装帧平装

开本16开

定价128元

货号29672574

上书时间2024-10-20

建德书局的书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
前言

前言在IT 运维领域,开发运维的核心原则已广为人知并得到了广泛采用,然而,如今情况正在发生变化。一个名为Kubernetes 的新应用程序平台已被全世界各个不同行业的公司迅速采用。随着越来越多的应用程序和企业从传统服务器迁移到Kubernetes 环境,人们开始关心如何在这个新世界中开展开发运维的工作。本书讲解了以Kubernetes 为标准平台的云原生世界中开发运维的含义。不仅可以帮助你从Kubernetes 生态系统中挑选最佳工具和框架,而且还呈上了一套使用这些工具和框架的统一方式,此外还提供了久经考验可在实际生产环境中运行的解决方案。主要内容你将学习Kubernetes 是什么,它来自何处,以及它对软件开发和运维的未来有何影响。你将学习容器的工作原理,如何构建和管理容器,以及如何设计云原生服务和基础设施。你将了解自行构建并运行Kubernetes 集群与使用托管服务之间的利弊。你将学习流行的Kubernetes 安装工具(比如kops 和kubeadm)的功能、局限性以及优缺点。你还将了解亚马逊、谷歌以及微软提供的主流Kubernetes 托管产品的概况。你将学习大量实践经验,包括如何编写和部署Kubernetes 应用程序,如何配置和操作Kubernetes 集群,以及如何使用Helm 等工具自动化云基础设施与部署。你将了解Kubernettes 对安全、身份验证和权限的支持,包括基于角色的访问控制(RBAC),以及在生产中保护容器和Kubernetes 的最佳实践。你将学习如何设置Kubernetes 的持续集成和部署;有关Git 运维等知识;如何备份和还原数据;如何测试集群的一致性和可靠性;如何监控、跟踪、记录和汇总指标;以及如何保证Kubernetes 基础设施兼具可扩展性、弹性和高性价比。为了方便说明,我们引入了一个非常简单的演示应用程序。你可以通过本书Git代码库中的代码来学习所有的示例。本书面向的读者对象本书主要面向负责服务器、应用程序和服务的IT 运维人员,以及负责构建云原生服务或将现有应用程序迁移到Kubernetes 和云的开发人员。我们不要求你了解有关Kubernetes 或容器的前提知识,书中涵盖这些基本知识,所以请不用担心。经验丰富的Kubernetes 用户也可以从本书中找到很多有价值的材料,比如本书涵盖了RBAC、持续部署、secret 管理以及可观察性等高级主题。无论你的专业水平如何,我们都希望你可以从本书中找到有用的信息。本书解决的主要问题在计划和创作本书期间,我们与数百人就云原生和Kubernetes 进行了交流,其中既有行业领导者和专家,也有初学者。以下他们希望本书能够解决的问题:? “我希望了解为什么我应该投入时间学习这项技术。它能够帮助我和我的团队解决哪些问题?”? “Kubernetes 看起来很棒,但是学习曲线相当陡峭。建立一个快速的演示很容易,但是运维和故障排除似乎非常有难度。我们希望获得一些可靠的指导,了解人们如何在现实世界中运行Kubernetes 集群,以及我们可能会遇到哪些问题。”? “希望提供一些真知灼见。对于新手团队来说,Kubernetes 生态系统提供了太多选择。当有多种方式都可以完成同一项工作时,哪一种才是最好的?我们该如何选择?”而其中最重要的问题是:“如何在不破坏公司现有状况的情况下使用Kubernetes ?”在撰写本书时,我们牢记包括上述问题在内的许多问题,并竭尽全力回答这些问题。这些问题是否得到了解答?请仔细阅读本书吧。排版约定本书使用了下述排版约定。斜体(Italic)表示新术语、URL、示例电子邮件地址、文件名、扩展名、路径名和目录。等宽字体(Constant Width)表示程序列表,以及在段落内部引用程序元素,例如变量或函数名、数据库、数据类型、环境变量、语句和关键字。等宽粗体字(Constant Width bold)表示运行命令时你需要键入的文本。斜体等宽字体(Constant Width Italic)表示应该替换成用户提供的值。使用代码示例你可以通过如下链接下载本书的补充材料(代码示例,练习等):https://github.com/cloudnativedevops/demo。如果你对本书有一些评论或技术上的建议,请发送电子邮件到 bookquestions@oreilly.com。本书的目的是帮助你完成工作。一般来说,你可以在自己的程序或者文档中使用本书附带的示例代码。你无需联系我们获得使用许可,除非你要复制大量的代码。例如,使用本书中的多个代码片段编写程序就无需获得许可。但以CD-ROM 的形式销售或者分发O’Reilly 书中的示例代码则需要获得许可。回答问题时援引本书内容以及书中示例代码,无需获得许可。在你自己的项目文档中使用本书大量的示例代码时,则需要获得许可。我们不强制要求署名,但如果你这么做,我们深表感激。署名一般包括书名、作者、出版社和国际标准图书编号。例如:“Cloud Native DevOps with Kubernetes by Justin Domingus and John Arundel (O’Reilly). Copyright 2022 John Arundel and Justin Domingus, 978-1-492-04076-7”。如果你觉得自身情况不在合理使用或上述允许的范围内,请通过邮件和我们联系,地址是 permissions@oreilly.com。O’Reilly 在线学习平台(O’Reilly Online Learning)近40 年来,O’Reilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。公司独有的专家和改革创新者网络通过O’Reilly 书籍、文章以及在线学习平台,分享他们的专业知识和实践经验。O’Reilly 在线学习平台按照您的需要提供实时培训课程、深入学习渠道、交互式编程环境以及来自O’Reilly 和其他200 多家出版商的大量书籍与视频资料。更多信息,请访问网站:https://www.oreilly.com/。联系我们任何有关本书的意见或疑问,请按照以下地址联系出版社。美国:O’Reilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472中国:北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035)奥莱利技术咨询(北京)有限公司这本书有专属网页,你可以在那儿找到本书的勘误、示例和其他信息。地址是:http://bit.ly/cloud-nat-dev-ops。如果你对本书有一些评论或技术上的建议,请发送电子邮件到errata@oreilly.com.cn。要了解O’Reilly 图书、培训课程和新闻的更多信息,请访问我们的网站,地址是:http://www.oreilly.com。我们的Facebook:http://facebook.com/oreilly。我们的Twitter:http://twitter.com/oreillymedia。我们的Youtube:http://www.youtube.com/oreillymedia。致谢本书得以付梓,我要感谢很多人阅读本书的初稿,并为我们提供了宝贵反馈和建议,还有通过其他方式予以支持的人,包括(但不限于)Abby Bangser、Adam J. McPartlan、Adrienne Domingus、Alexis Richardson、Aron Trauring、Camilla Montonen、Gabe Medrash、Gabriell Nascimento、Hannah Klemme、Hans Findel、Ian Crosby、Ian Shaw、Ihor Dvoretskyi、Ike Devolder、Jeremy Yates、Jér?me Petazzoni、Jessica Deen、John Harris、Jon Barber、Kitty Karate、Marco Lancini、Mark Ellens、Matt North、Michel Blanc、Mitchell Kent、Nicolas Steinmetz、Nigel Brown、Patrik Dudit?、Paul van der Linden、Philippe Ensarguet、Pietro Mamberti、Richard Harper、Rick Highness、Sathyajith Bhat、Suresh Vishnoi、Thomas Liakos、Tim McGinnis、Toby Sullivan、Tom Hall、Vincent De Smet 和Will Thames 等。



导语摘要

在本书,我们将带领你了解不断发展的Kubernetes生态系统,并针对当前使用软件工具时遇到的日常问题,提供实用的解决方案。你将逐步学习如何在Kubernetes中运行容器化的应用程序,学习如何构建应用程序的开发环境以及持续部署流水线,并探索可用于自己的应用程序的模式。你将学习如何在Kubernetes和开发运维的帮助下,打造精简、快速且高效的开发团队。本书的主要内容有:学习容器和Kubernetes的基本知识,无需任何经验。在托管的云Kubernetes服务或本地环境中运行应用程序。设计自己的云原生服务与基础设施。通过Kubernetes管理资源的使用和容器的生命周期。从成本、性能、弹性、容量和可伸缩性等方面优化集群。学习开发、测试和部署应用程序的最Z佳工具。应用可观察性与监控方面的最Z新行业实践。保证生产环境中容器与集群的安全。



作者简介

Justin Domingus是一名高级IT与开发运维工程师,专门研究Kubernetes与云操作。他曾与许多使用Kubernetes的软件团队合作,其中既包含小型创业公司,也不乏大型企业。John Arundel是一名Go讲师、顾问和导师,拥有三十多年的计算机行业经验。曾出版过多本技术书籍,并为全世界多家公司提供有关Kubernetes、Puppet、可扩展性、可靠性,以及性能方面的咨询服务。



目录

目录
序 1
第一版序 .3
前言 5
第1 章 云革命 11
1.1 云的诞生12
1.1.1 购买时间 .13
1.1.2 基础设施即服务 13
1.2 开发运维拉开序幕 14
1.2.1 改善反馈循环 14
1.2.2 开发运维的含义 15
1.2.3 基础设施即代码 16
1.2.4 共同学习 .17
1.3 容器的到来 17
1.3.1 最先进的技术 17
1.3.2 箱子带来的启发 18
1.3.3 将软件放入容器中 .18
1.3.4 即插即用的应用程序.20
1.4 容器的编排 21
1.5 Kubernetes 21
1.5.1 从Borg 到Kubernetes 22
1.5.2 Kubernetes 成功的原因 22
1.5.3 Kubernetes 会消失吗? 24
1.5.4 Kubernetes 并非万能 .25
1.6 云原生 26
1.7 运维的未来 29
1.7.1 分布式开发运维 29
1.7.2 有些系统仍然是中心式 30
1.7.3 开发人员生产力工程.30
1.7.4 你就是未来 31
1.8 小结 .31
第2 章 Kubernetes 简介 33
2.1 运行第一个容器 33
2.1.1 安装Docker 桌面版 34
2.1.2 什么是Docker ? 35
2.1.3 运行容器镜像 35
2.2 演示应用程序 .36
2.2.1 查看源代码 36
2.2.2 Go 简介 37
2.2.3 演示应用程序的原理.38
2.3 建立容器38
2.3.1 了解Dockerfile 39
2.3.2 最低限度的容器镜像.39
2.3.3 运行Docker image build .40
2.3.4 命名镜像 .40
2.3.5 端口转发 .41
2.4 容器仓库42
2.4.1 镜像仓库的身份验证.42
2.4.2 命名和推送镜像 43
2.4.3 运行镜像 .43
2.5 Kubernetes 入门 .44
2.5.1 运行演示应用 44
2.5.2 如果容器无法启动 .45
2.6 Minikube 46
2.7 小结 .46
第3 章 获取Kubernetes 49
3.1 集群架构50
3.1.1 控制平面 .50
3.1.2 节点组件 .51
3.1.3 高可用性 .52
3.2 自托管Kubernetes 的成本 53
3.2.1 超出预期的工作量 .54
3.2.2 不仅仅是初始设置 .55
3.2.3 不能完全依赖工具 .55
3.2.4 Kubernetes the Hard Way 56
3.2.5 Kubernetes 很难 56
3.2.6 管理费用 .56
3.2.7 从托管服务开始 57
3.3 托管Kubernetes 服务 .58
3.3.1 Google Kubernetes Engine(GKE) .58
3.3.2 集群自动伸缩 58
3.3.3 Autopilot 58
3.3.4 亚马逊的Elastic Container Service for Kubernetes(EKS) 59
3.3.5 Azure Kubernetes Service(AKS) 60
3.3.6 IBM Cloud Kubernetes Service .60
3.3.7 DigitalOcean Kubernetes .60
3.4 Kubernetes 安装程序 60
3.4.1 kops 61
3.4.2 Kubespray 61
3.4.3 kubeadm 61
3.4.4 Rancher Kubernetes Engine(RKE) 62
3.4.5 Puppet Kubernetes 模块 62
3.5 买还是构建:我们的建议 62
3.5.1 运行更少软件 62
3.5.2 尽可能使用托管Kubernetes 63
3.5.3 如何应对提供商锁定呢? 63
3.5.4 裸金属与内部服务器.64
3.5.5 多云Kubernetes 集群 65
3.5.6 OpenShift 66
3.5.7 Anthos 66
3.5.8 根据需要使用标准的Kubernetes 自托管工具 66
3.6 无集群容器服务 67
3.6.1 AWS Fargate 67
3.6.2 Azure Container Instances(ACI) 67
3.6.3 谷歌Cloud Run 68
3.7 小结 68
第4 章 Kubernetes 对象 71
4.1 部署 .71
4.1.1 监督与调度 72
4.1.2 重启容器 .72
4.1.3 创建部署 .73
4.2 Pod 74
4.3 副本集 75
4.4 维持所需状态 .76
4.5 Kubernetes 调度器 77
4.6 YAML 格式的资源清单 .78
4.6.1 资源就是数据 79
4.6.2 部署清单 .79
4.6.3 使用kubectl apply 80
4.6.4 服务资源 .81
4.6.5 使用kubectl 查询集群84
4.6.6 资源的高级使用方式.85
4.7 Helm:Kubernetes 包管理器 85
4.7.1 安装Helm 86
4.7.2 安装Helm Chart 86
4.7.3 Chart、Repository 与Release 87
4.7.4 查看Helm Release .88
4.8 小结 .89
第5 章 资源管理 91
5.1 了解资源91
5.1.1 资源单位 .92
5.1.2 资源请求 .92
5.1.3 资源约束 .93
5.1.4 服务质量 .94
5.2 管理容器的生命周期 95
5.2.1 存活探针 .95
5.2.2 探针延迟及频率 96
5.2.3 其他类型的探针 96
5.2.4 就绪探针 .97
5.2.5 启动探针 .98
5.2.6 gRPC 探针 99
5.2.7 基于文件的就绪探针.99
5.2.8 minReadySeconds .100
5.2.9 Pod 中断预算 . 100
5.3 命名空间. 102
5.3.1 命名空间的使用 103
5.3.2 应该使用哪些命名空间? 103
5.3.3 服务地址 104
5.3.4 资源配额 105
5.3.5 默认资源请求和约束 107
5.4 优化集群的成本 . 108
5.4.1 Kubecost 108
5.4.2 优化部署 108
5.4.3 优化Pod 109
5.4.4 Pod 垂直自动伸缩 110
5.4.5 优化节点 110
5.4.6 优化存储 112
5.4.7 清理未使用的资源 113
5.4.8 检查备用容量 . 115
5.4.9 使用预留实例 . 116
5.4.10 抢占式(Spot)实例 116
5.4.11 保持工作负载平衡 119
5.5 小结 121
第6 章 集群运维 . 123
6.1 集群的规模与伸缩 . 123
6.1.1 容量规划 124
6.1.2 节点与实例 . 127
6.1.3 集群伸缩 129
6.2 一致性检查 131
6.2.1 CNCF 认证 132
6.2.2 Sonobuoy 一致性测试 134
6.2.3 Kubernetes 审计日志 135
6.3 混乱测试. 135
6.3.1 生产环境是无法复制的 . 136
6.3.2 Chaoskube 137
6.3.3 kube-monkey 137
6.3.4 PowerfulSeal 138
6.4 小结 138
第7 章 强大的Kubernetes 工具 141
7.1 掌握kubectl 141
7.1.1 Shell 别名 .141
7.1.2 使用缩写标志 . 142
7.1.3 缩写资源类型 . 143
7.1.4 自动补齐kubectl 命令 143
7.1.5 获取帮助 144
7.1.6 获取有关Kubernetes 资源的帮助 144
7.1.7 显示更详细的输出 145
7.1.8 使用JSON 数据和jq 145
7.1.9 监视对象 147
7.1.10 描述对象 147
7.2 处理资源. 147
7.2.1 命令式的kubectl 命令 147
7.2.2 何时不应该使用命令式的命令 148
7.2.3 生成资源清单 . 149
7.2.4 导出资源 150
7.2.5 对比资源 150
7.3 处理容器. 151
7.3.1 查看容器的日志 151
7.3.2 附加到容器 . 153
7.3.3 利用kubespy 监视Kubernetes 资源 153
7.3.4 转发容器端口 . 153
7.3.5 在容器上执行命令 154
7.3.6 用于故障排除的容器 155
7.3.7 BusyBox 命令. 156
7.3.8 将BusyBox 添加到容器 157
7.3.9 在容器上安装程序 158
7.4 上下文与命名空间 . 159
7.4.1 kubeconfig 文件 160
7.4.2 kubectx 与kubens. 160
7.4.3 kube-ps1 162
7.5 Kubernetes shell 与工具 162
7.5.1 kube-shell 162
7.5.2 Click 162
7.5.3 Kubed-sh 163
7.5.4 Stern 163
7.6 Kubernetes IDE 164
7.6.1 Lens . 164
7.6.2 VS Code 的Kubernetes 扩展 164
7.7 构建自己的Kubernetes 工具 165
7.8 小结 166
第8 章 运行容器 . 169
8.1 容器与Pod 169
8.1.1 什么是容器? . 170
8.1.2 Kubernetes 中的容器运行时 171
8.1.3 容器中有什么? 172
8.1.4 Pod 中有什么? . 172
8.2 容器清单. 173
8.2.1 镜像标识符 . 174
8.2.2 latest 标签 175
8.2.3 容器摘要 176
8.2.4 基础镜像标签 . 176
8.2.5 端口 . 177
8.2.6 资源请求和约束 177
8.2.7 镜像拉取策略 . 178
8.2.8 环境变量 178
8.3 容器安全. 179
8.3.1 以非root 用户身份运行容器 180
8.3.2 阻止Root 容器 181
8.3.3 设置只读文件系统 181
8.3.4 禁用权限升级 . 182
8.

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP