Skip to content

Files

Latest commit

0279954 · Dec 27, 2021

History

History
130 lines (79 loc) · 8.18 KB

File metadata and controls

130 lines (79 loc) · 8.18 KB

零、前言

本书的目的是为您提供使用 Kubernetes 构建云原生应用所需的知识和广泛的工具。Kubernetes 是一项强大的技术,它为工程师提供了使用容器构建云原生平台的强大工具。项目本身不断发展,包含许多不同的工具来处理常见的场景。

对于本书的布局,我们不会拘泥于 Kubernetes 工具集的任何一个小众领域,而是首先为您全面总结默认 Kubernetes 功能的最重要部分——为您提供在 Kubernetes 上运行应用所需的所有技能。然后,我们将为您提供在第 2 天场景中处理 Kubernetes 的安全性和故障排除所需的工具。最后,我们将超越 Kubernetes 本身的界限,看看在 Kubernetes 之上构建的一些强大的模式和技术——例如服务网格和无服务器。

这本书是给谁的

这本书是为 Kubernetes 的初学者准备的,但是您应该非常熟悉容器和 DevOps 原理,以便从这本书中获得最大的收益。坚实的 Linux 基础会有所帮助,但不是完全必要的。

这本书涵盖了什么

第 1 章与 Kubernetes 的交流,向您介绍容器编排的概念以及 Kubernetes 工作原理。它还为您提供了与 Kubernetes 集群进行通信和身份验证所需的基本工具。

第 2 章设置您的 Kubernetes 集群,引导您以几种不同的流行方式创建 Kubernetes 集群,既可以在您的本地机器上,也可以在云上。

第 3 章在 Kubernetes 上运行应用容器,向您介绍了在 Kubernetes 上运行应用的最基本的构建模块 Pod。我们将介绍如何创建 Pod,以及 Pod 生命周期的细节。

第 4 章扩展和部署您的应用回顾了更高级别的控制器,这些控制器允许扩展和升级一个应用的多个 Pods,包括自动扩展。

第 5 章*服务和入口–与外部世界通信,*介绍了几种向外部用户公开运行在 Kubernetes 集群中的应用的方法。

第 6 章Kubernetes 应用配置,为您提供在 Kubernetes 上运行的应用提供配置(包括安全数据)所需的技能。

第 7 章Kubernetes 上的存储回顾了为运行在 Kubernetes 上的应用提供持久和非持久存储的方法和工具。

第 8 章荚果放置控件,介绍了几种不同的工具和策略,用于控制和影响 Kubernetes 节点上的荚果放置。

第 9 章Kubernetes 上的可观测性,涵盖了 Kubernetes 环境中可观测性的多个原则,包括度量、跟踪和日志记录。

第 10 章Kubernetes 故障排除回顾了 Kubernetes 集群可能失败的一些关键方式,以及如何有效地对 Kubernetes 的问题进行分类。

第十一章Kubernetes上的模板代码生成和 CI/CD,介绍了 Kubernetes YAML 模板工具和 Kubernetes 上 CI/CD 的一些常见模式。

第 12 章Kubernetes 安全与合规,涵盖了 Kubernetes 上的安全基础知识,包括 Kubernetes 项目最近的一些安全问题,以及集群和容器安全的工具。

第 13 章用 CRDs 扩展 Kubernetes,介绍了自定义资源定义(CRDs)以及为 Kubernetes 添加自定义功能的其他方法,例如运算符。

第 14 章服务网格和无服务器,回顾了 Kubernetes 上的一些高级模式,教您如何向集群添加服务网格并启用无服务器工作负载。

第 15 章Kubernetes 上的有状态工作负载,带您了解在 Kubernetes 上运行有状态工作负载的细节,包括从生态系统中运行一些强大的有状态应用的教程。

为了充分利用这本书

由于 Kubernetes 是基于容器的,因此本书中的一些示例可能会使用自发布以来发生了变化的容器。其他说明性示例可以使用不公开存在于 Docker Hub 中的容器。这些示例应该作为运行您自己的应用容器的基础。

在某些情况下,像 Kubernetes 这样的开源软件可能会有突破性的变化。这本书是 Kubernetes 1.19 的最新版本,但是总是要查看文档(对于 Kubernetes 和书中涉及的任何其他开源项目)以获得最新的信息和规范。

如果您正在使用本书的数字版本,我们建议您自己键入代码或通过 GitHub 存储库访问代码(下一节中提供了链接)。这样做将帮助您避免任何与复制和粘贴代码相关的潜在错误。

下载示例代码文件

你可以在https://GitHub . com/PacktPublishing/Cloud-Native-with-Kubernetes从 GitHub 下载这本书的示例代码文件。如果代码有更新,它将在现有的 GitHub 存储库中更新。

我们还有来自 https://github.com/PacktPublishing/丰富的书籍和视频目录的其他代码包。看看他们!

下载彩色图片

我们还提供了一个 PDF 文件,其中包含本书中使用的截图/图表的彩色映像。可以在这里下载:http://www . packtpub . com/sites/default/files/downloads/9781838823078 _ color images . pdf

使用的约定

本书通篇使用了许多文本约定。

Code in text:表示文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟网址、用户输入和推特句柄。这里有一个例子:“在我们的例子中,我们希望让集群上的每个经过身份验证的用户创建权限 Pods,因此我们绑定到system:authenticated组。”

代码块设置如下:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: full-restriction-policy
  namespace: development
spec:
  policyTypes:
  - Ingress
  - Egress
  podSelector: {}

当我们希望将您的注意力吸引到代码块的特定部分时,相关的行或项目以粗体显示:

spec:
  privileged: false
  allowPrivilegeEscalation: false
  volumes:
 - 'configMap'
 - 'emptyDir'
 - 'projected'
 - 'secret'
 - 'downwardAPI'
 - 'persistentVolumeClaim'
  hostNetwork: false
  hostIPC: false
  hostPID: false

任何命令行输入或输出都编写如下:

helm install falco falcosecurity/falco

粗体:表示一个新的术语、一个重要的单词或者你在屏幕上看到的单词。例如,菜单或对话框中的单词像这样出现在文本中。这里有一个例子:“普罗米修斯还提供了一个警报标签来配置普罗米修斯警报。”

提示或重要注意事项

像这样出现。

取得联系

我们随时欢迎读者的反馈。

一般反馈:如果您对本书的任何方面有疑问,请在留言主题中提及书名,并通过customercare@packtpub.com发邮件给我们。

勘误表:虽然我们已经尽了最大的努力来保证内容的准确性,但是错误还是会发生。如果你在这本书里发现了一个错误,如果你能向我们报告,我们将不胜感激。请访问www.packtpub.com/support/errata,选择您的图书,点击勘误表提交链接,并输入详细信息。

盗版:如果您在互联网上遇到任何形式的我们作品的非法拷贝,如果您能提供我们的位置地址或网站名称,我们将不胜感激。请联系我们在copyright@packt.com与材料的链接。

如果你有兴趣成为一名作者:如果有一个你有专长的话题,你有兴趣写或者投稿一本书,请访问authors.packtpub.com

评论

请留下评论。一旦你阅读并使用了这本书,为什么不在你购买它的网站上留下评论呢?然后,潜在的读者可以看到并使用您不带偏见的意见来做出购买决定,我们在 Packt 可以了解您对我们产品的看法,我们的作者可以看到您对他们的书的反馈。谢谢大家!

更多关于 Packt 的信息,请访问packt.com