
Kubernetes修炼手册
文章平均质量分 95
本书是一本Kubernetes入门图书,共分为12章,涵盖了Kubernetes的基础知识,并附带了大量的配置案例。此外,还介绍了Kubernetes架构、构建Kubernetes集群、在Kubernetes上部署和管理应用程序、Kubernetes安全
didiplus
机会是留给有准备的人
展开
-
第11章 Kubernetes安全模型分析
本章我们利用STRIDE模型对Kubernetes的安全威胁进行了分析。我们依次探讨了6种安全威胁,包括如何防范和降低其风险。一种安全威胁通常还会导致另一种安全威胁的出现。另外,针对某一个安全威胁,通常有多种降低其风险的办法。还是那句话,深度防御是核心战术。本章的最后我们讨论了Pod的安全策略,及其如何通过提供一种更加灵活且批量的方式,实现默认安全策略的。第12章,我们将共同探讨一些来自实际的Kubernetes生产环境的最佳实践与教训。原创 2024-12-13 11:42:39 · 113 阅读 · 0 评论 -
第10章 StatefulSet
本章介绍了如何创建StatefulSet和管理有状态应用。支持自愈、扩容和缩容、滚动升级。回滚操作需要人工干预。创建的每一个Pod副本都有可预知且保持不变的名字、DNS主机名和独立的卷。这些都伴随Pod的整个生命周期,包括故障处理、重启、扩缩容及其他调度操作。事实上,的名字与扩缩容操作和关联存储卷操作是息息相关的。不过,只是一个框架。另外,应用在进行内部实现时需要配合StatefulSet的特性才能充分利用的优势。原创 2024-12-05 12:08:27 · 64 阅读 · 0 评论 -
第9章 ConfigMap
上面提到,多数应用程序由两部分组成:应用执行程序和配置。在基于Kubernetes的云原生微服务应用中,这并未改变。不过核心理念是将这两种组件解耦——它们将被分别构建和存储,然后在运行时进行结合。下面通过例子来帮助理解其中的好处。ConfigMap是Kubernetes提供的用于将应用和配置进行解耦的机制。ConfigMap是Kubernetes API中的一等对象,可通过kubectl create、kubectl get和kubectl describe命令来进行创建和管理。原创 2024-11-26 09:33:09 · 144 阅读 · 0 评论 -
第8章 Kubernetes存储
首先要说,Kubernetes支持来自多种途径的多种类型的存储。例如iSCSISMBNFS,以及对象存储等,都是不同类型的、部署在云上或自建数据中心的外部存储系统。不过,无论什么类型的存储,或来自哪里,在其对接到Kubernetes集群中后,都会被统称为卷(volume例如,来自Azure File的资源在Kubernetes中称为卷,来自AWS弹性块存储(Elastic Block Store)的块设备也是如此。Kubernetes上所有的存储都被称为卷。图8.1是总体架构。左侧是存储提供商。原创 2024-11-21 09:02:09 · 170 阅读 · 0 评论 -
第7章 服务发现
本章说到Kubernetes使用一个内部的集群DNS来进行服务的注册和发现。所有的Service对象都会被自动注册到集群DNS中,而所有的容器都被配置好该集群DNS的解析地址。也就是说,所有的容器都通过询问集群DNS来进行Service名称的解析。集群DNS会将Service的名称解析为其ClusterIP。这些IP地址位于一个被称为服务网络()的特殊网络上,并且没有到达该网络的路由。所幸,每一个集群节点都能够对发往服务网络的数据包进行捕获,并转发至Pod网络中的某个具体Pod的IP地址。原创 2024-11-19 15:46:25 · 346 阅读 · 0 评论 -
第6章 Kubernetes Service
本章提到,Service能够为部署在Kubernetes中的应用提供稳定可靠的网络访问方式。此外,还能够进行负载均衡,并让应用为外部世界(Kubernetes集群之外)提供服务。Service对外为其所匹配的Pod提供固定的网络访问方式。而对内则允许所匹配的Pod动态增减,同时不影响其负载均衡能力。Service在Kubernetes的API中是“一等”对象,可以用标准的YAML部署文件来定义。它利用Label筛选器来动态地匹配Pod。推荐采用声明式的方式来使用Service。原创 2024-11-18 15:55:00 · 91 阅读 · 0 评论 -
第5章 Kubernetes Deployment
本章为读者介绍了Deployment,它是一种管理Kubernetes应用的很好的方式。它在Pod的基础之上增加了自愈、扩缩容、滚动升级和回滚的能力。而其底层则利用ReplicaSet来实现自愈和扩缩容的能力。同Pod一样,Deployment也是中的对象,用户应当以一种声明式的方式来使用它。当使用来执行升级操作时,旧版本的ReplicaSet转为非活跃状态,但它仍存在于集群中,以便执行回滚操作。原创 2024-11-15 11:04:10 · 454 阅读 · 0 评论 -
第4章 Pod的使用
在本章中,首先了解到的是在Kubernetes的世界,Pod是部署操作中的最小原子单位。每一个Pod由一个或多个容器构成,在集群中体现为一个独立的节点来部署。部署操作是一个原子操作,即“要么全部成功,要么什么都不做”(all-or-nothing)。Pod的定义和部署是通过声明式地使用一种YAML格式的清单文件来完成的,通常会使用诸如Deployment这样更高阶的controller来部署它们。用户可以使用kubectl命令来将清单文件POST到API Server。原创 2024-11-14 09:47:32 · 225 阅读 · 0 评论 -
第3章 安装Kubernetes
自行安装搭建Kubernetes集群是最难的方式。是的,自行安装的过程已经比以前容易多了,但是依然比较难。不过,这种方式具有最高的灵活性,而且可以通过配置实现对集群的完全控制——这是一把双刃剑。本章介绍了在不同的平台安装Kubernetes的几种不同的方法。首先介绍了如何简单快速地在上搭建一套Kubernetes集群。这种方式无须在自己的计算机或云上安装任何东西,即可得到一个可使用4h的练习环境。然后介绍了如何使用桌面版Docker在计算机上部署开发环境。还介绍了如何使用在Google。原创 2024-11-13 09:16:00 · 294 阅读 · 0 评论 -
第2章 Kubernetes操作概览
本章主要对Kubernetes集群中的核心组件进行了介绍。控制平面运行在主节点上。在其背后,还有几个系统服务,包括对集群提供了RESTful接口的API Server。主节点负责所有的部署与调度决策,并且对于生产环境来说,基于多主节点的HA方案是非常重要的。工作节点上运行了用户的应用程序。每个工作节点上都运行了Kubelet这个服务,负责将当前工作节点注册到集群,并且通过API Server与集群进行交互。Kubelet通过监听API的方式来获取新任务,并维护相应的上报通道。原创 2024-11-12 10:57:55 · 208 阅读 · 0 评论 -
第1章 初识Kubernetes
Kubernetes的诞生融入了来自Google多年的大规模容器化运维经验。它被作为开源项目捐赠给社区,现在已经成为部署和管理云原生应用的行业标准API。它可以运行在任何云或自建数据中心上,并对底层基础设施进行了抽象。从而允许用户构建混合云,以及在云平台间轻松实现迁移。它是基于Apache 2.0协议的开源项目,托管于云原生计算基金会(Kubernetes目前正处于积极的开发过程中,因此变化不断。但是不要因此而退缩——积极拥抱它吧!变化是一种新常态!为了跟上Kubernetes。原创 2024-11-11 15:35:49 · 234 阅读 · 0 评论