新書推薦:
《
生活来来往往 别等来日方长 新版(伍佰:“讲好了这一辈子,再度重相逢。”别等,别遗憾!珍惜当下才是最好的解药)
》
售價:NT$
265.0
《
一个英国军事顾问眼中的二战
》
售價:NT$
1265.0
《
就业、利息和货币通论(徐毓枬译本)(经济学名著译丛)
》
售價:NT$
306.0
《
瘦肝
》
售價:NT$
454.0
《
股票大作手回忆录
》
售價:NT$
254.0
《
秩序四千年:人类如何运用法律缔造文明
》
售價:NT$
704.0
《
民法典1000问
》
售價:NT$
454.0
《
国术健身 易筋经
》
售價:NT$
152.0
|
內容簡介: |
本书探讨了通往Kubernetes生产环境成功道路中所涉及的多种技术、模式和抽象方面的考虑与权衡。主要内容包括基于Kubernetes构建应用平台、部署模型、容器运行时、容器存储、Pod、服务路由、密码管理、准入控制、可观测性、身份认证、构建平台服务、多租户问题、工作负载的自动缩放、在Kubernetes上运行应用程序时应该考虑的各种注意事项、在Kubernetes上从开发人员获取代码到生产的实际过程以及平台抽象。
|
目錄:
|
序言1前言3第1章 生产环境构建之路91.1 Kubernetes 的定位91.2 定义应用平台141.3 基于Kubernetes构建应用平台181.4 总结25第2章 部署模型262.1 托管服务对比自建服务262.2 自动化282.3 架构和拓扑结构302.4 基础设施362.5 机器安装452.6 容器化组件482.7 附加组件482.8 升级502.9 触发机制572.10 总结57第3章 容器运行时583.1 容器的出现583.2 开放容器倡议593.3 容器运行时接口633.4 选择容器运行时653.5 总结71第4章 容器存储724.1 存储注意事项724.2 Kubernetes 存储基元764.3 容器存储接口794.4 实现存储即服务814.5 总结89第5章 Pod网络通信905.1 网络因素905.2 容器网络接口995.3 CNI插件1035.4 总结111第6章 服务路由1126.1 Kubernetes Service1136.2 Ingress1346.3 服务网格1486.4 总结162第7章 秘密管理1637.1 深度防御1647.2 Kubernetes Secret API1667.3 外部服务商1777.4 声明式世界中的秘密1847.5 秘密的最佳实践1887.6 总结189第8章 准入控制1908.1 Kubernetes 的准入链1918.2 树内准入控制器1928.3 webhook1938.4 如何编写变更webhook1978.5 集中式策略系统2038.6 总结208第9章 可观测性2099.1 日志记录机制2099.2 指标2169.3 分布式追踪2319.4 总结233第10章 身份认证23510.1 用户身份23610.2 应用程序/工作负载的身份24710.3 总结267第11章 构建平台服务26811.1 扩展点26911.2 operator 模式27111.3 operator 用例27611.4 开发operator27811.5 扩展调度器29711.6 总结300第12章 多租户30112.1 隔离的等级30112.2 命名空间边界30412.3 Kubernetes中的多租户30512.4 总结320第13章 自动缩放32113.1 缩放类型32213.2 应用程序架构32313.3 工作负载自动缩放32313.4 集群自动缩放33113.5 总结336第14章 应用程序注意事项33714.1 将应用程序部署到 Kubernetes33714.2 摄取配置和秘密33914.3 处理重新安排事件34214.4 状态探测器34614.5 Pod 资源请求和限制35014.6 应用程序日志35114.7 公开指标35214.8 为分布式追踪适配服务35514.9 总结358第15章 软件供应链35915.1 构建容器镜像36015.2 镜像注册表36615.3 持续交付37015.4 总结378第16章 平台抽象37916.1 平台曝光37916.2 自助式上线服务38016.3 抽象频谱38216.4 总结391
|
內容試閱:
|
Kubernetes是一项非常强大的技术,并且在飞速地推广和普及。它为我们创新地管理软件部署方式奠定了基础。当Kubernetes出现的时候,API驱动的软件和分布式系统尽管没有被广泛采用,但也已经很成熟了。对这些思想进行出色的诠释是Kubernetes成功的基础,另外它也提供了一些其他至关重要的东西。过去,只有拥有优秀工程团队的大型技术公司才有可能达到自主控制软件的理想状态。现在,由于Kubernetes项目的存在,每个组织都可以实现高度可用(highly available)、自我修复(self-healing)、自动缩放(autoscaling)的软件部署。在不远的未来,软件系统将能够接受来源广泛的(broad)、高层次(high-level)的指令,并且根据这些指令执行;通过“条件发现”寻找不断变化的问题并修复问题来实现预期的结果,而无须我们干预。此外,这些系统将比我们的人工操作更快、更可靠地完成任务。然而,这种能力是以一些额外的复杂性为代价的。我们希望分享我们的实践经验,从而帮助其他人解决这种复杂性,这就是我们决定写这本书的原因。如果你想使用Kubernetes来构建一个生产级的应用平台,你应该阅读这本书。如果你正在寻找一本帮助你开始学习使用Kubernetes的书,或者一本关于Kubernetes如何工作的书,抱歉,本书并不适合你。在其他的书籍、官方文档、无数的博客文章和源代码中,都有大量关于这些主题的信息。另外,我们建议在阅读本书的同时,对我们讨论的解决方案进行研究和测试,所以我们很少深入介绍“一步步”教程式的例子。我们尽量涵盖必要的理论,并将大部分的实现工作留给读者去做。纵观本书,你会发现选项、工具、模式和实践等形式的指导。重要的是,在阅读这些指导时,首先要了解作者对这种应用平台构建方法的看法。我们的工程师和架构师受雇于许多《财富》500强公司,帮助构建应用平台。早在2015年发布Kubernetes 1.0时,我们就开始使用Kubernetes来作为构建应用平台的基础。我们尽可能地把重点放在模式和理念而不是工具上,因为新的工具出现的速度比我们编写工具的速度还要快。然而,我们不可避免地要用当前最合适的工具来实现这些模式。我们已经在指导团队完成云原生的旅程上取得了重大的成功,并彻底改变了它们构建和交付软件的方式。尽管如此,我们也有失败的时候,一个常见原因是企业对Kubernetes可以解决的问题有误解。这就是为什么我们在早期就深入研究这个概念。在这段时间里,我们发现有些领域对客户来说是特别有趣的。了解这些可以帮助客户在生产道路上走得更远,甚至帮助他们重新定义如何构建生产环境。这些对话变得如此普遍,以至于我们决定也许是时候写一本书了!虽然我们一次又一次地与企业一起构建生产环境,但它们之间只有一点是相同的,那就是无论我们多么希望所有企业的构建过程都是一样的,但结果却总是不尽如人意,总会出现各种各样的问题。考虑到这一点,如果你开始阅读这本书的时候期望得到一些例如“构建生产环境的5步计划”或者“每个Kubernetes用户应该知道的10件事” 等结论的话,你将会感到沮丧,因为我们只会在本书中谈论一些决策和我们经历过的陷阱,并在适当的时候举出一些具体的例子和逸事。虽然最佳实践是存在的,但必须始终从实用主义的角度来看待。对于在构建生产环境时遇到的许多问题,我们虽然没有一个放之四海而皆准的方法,但本书的案例可以给予你很多启示。也就是说,我们非常鼓励你去挑战这本书! 当与客户一起工作时,我们总是鼓励他们挑战和改进我们的方法。因为知识是流动的,所以我们总是根据新的特点、信息和限制条件来更新我们的方法。随着云原生空间的不断发展,你决定采取的道路肯定会与我们推荐的不同。我们在这里告诉你我们曾经走过的路,这样你就可以用我们的观点来衡量你自己的观点。排版约定斜体(Italic)表示新术语、URL、电子邮件地址、文件名和文件扩展名。等宽字体(Constant width) 用于展示程序列表,以及在段落中指代程序元素,如变量或函数名称、数据库、数据类型、环境变量、语句和关键字。等宽粗体(Constant width bold)用于展示命令或其他应该由用户直接输入的文本。等宽斜体(Constant width italic)用于展示应该由用户提供的值或由上下文确定的值替换的文本。Kubernetes项目中的一些组件或概念名都是首字母大写的,如Pod、Service和StatefulSet。表示提示或建议。表示一般性说明。表示警告或需要谨慎对待的内容。示例代码可以从https://github.com/production-kubernetes下载补充材料(示例代码、练习、勘误等)。这里的代码是为了帮助你更好地理解本书的内容。通常,可以在程序或文档中使用本书中的代码,而不需要联系O’Reilly获得许可,除非需要大段地复制代码。例如,使用本书中所提供的几个代码片段来编写一个程序不需要得到我们的许可,但销售或发布本书中的示例代码则需要获得许可。引用本书的示例代码来回答问题也不需要许可,将本书中的很大一部分示例代码放到自己的产品文档中则需要获得许可。非常欢
|
|