轻松理解 Kubernetes 的核心概念

栏目: IT技术 · 发布时间: 4年前

内容简介:Kubernetes 迅速成为云环境中软件部署和管理的新标准。与强大的功能相对应的是陡峭的学习曲线。本文将提供 Kubernetes 的简化视图,从高处观察其中的重要组件,以及他们的关联。

Kubernetes 迅速成为云环境中软件部署和管理的新标准。

与强大的功能相对应的是陡峭的学习曲线。

本文将提供 Kubernetes 的简化视图,从高处观察其中的重要组件,以及他们的关联。

硬件

(1)Node 节点

轻松理解 Kubernetes 的核心概念

Node(节点)是计算资源的最小单位,表示集群中单台计算机。

可能是数据中心里面的计算机,也可能是云中的虚拟机,还可能是其他的东西。

Node 就是一个抽象层,我们不必关注某台机器的特性,只需要简单的视为我们可以利用的 CPU  和 RAM 资源。

(2)Cluster 集群

轻松理解 Kubernetes 的核心概念

把多个 Node 集中到一起,形成功能强大的机器。

把应用部署到 Cluster 中时,可以智能为你分配具体的工作节点。

如果集群中的节点发生变化,例如添加或者删除,Cluster 会自动重新分配工作,我们无需关心代码是在哪个节点上运行。

(3)Persistent Volumes 持久型数据卷

轻松理解 Kubernetes 的核心概念

应用不是运行在特定的节点上的,随时可能转移到其他节点上,所以,应用不能把数据保存到所在节点的文件系统中。

为了永久存储数据,kubernetes 提供了 Persistent Volumes ,就像一个插件一样,挂载到集群中,不与特定的节点绑定。

2. 软件

(1)Container 容器

轻松理解 Kubernetes 的核心概念

Kubernetes 上运行的程序被打包为 Linux 容器。

容器化使您可以创建独立的 Linux 执行环境。任何程序及其所有依赖项,都可以捆绑成一个文件,然后在网上共享。

任何人都可以下载容器,通过很少的配置即可运行。

容器的操作可以通过编程完成,从而形成功能强大的 CI/CD 管道。

可以将多个程序添加到一个容器中,但最好还是一个程序一个容器,这样易于部署、查找问题。

(2)Pod

轻松理解 Kubernetes 的核心概念

Kubernetes 不会直接运行容器,而是将一个或多个容器包装到称为 pod 的更高级别的结构中。

同一个 Pod 中的容器共享资源和网络,可以自由的相互沟通。

Pod 是 Kubernetes 中的复制单位,当你的应用需要扩展时,可以复制新的 Pod,部署到集群中。

通常都会运行多个 Pod 副本,以实现负载均衡和故障容错。

(3)Deployment 部署

轻松理解 Kubernetes 的核心概念

尽管 Pod 是 Kubernetes 中计算的基本单位,但不会直接在集群上启动它们,而是通过一个抽象层(Deployment)进行管理。

Deployment 的主要目的是声明一次应该运行多少个 Pod 副本。

当一个 Deployment 添加到集群中以后,它就会自动启动所需数量的 Pod,并对其监控,如果某个 Pod 挂了,Deployment 会自动重新创建一个新的。

使用 Deployment,你就不用手动处理 Pod 了,你只需要说明系统应该是什么样的,Deployment 就会自动帮你管理。

(4)Ingress 入口

轻松理解 Kubernetes 的核心概念

通过上述的概念,已经可以创建一个包含多个 Node 的 Cluster,通过 Deployment 启动并管理多个 Pod(Pod 中是 Container,Container 里是你的 App)。

现在的问题是:外部如何访问你的应用呢?

默认情况下,Pod 和外界之间是隔离的。如果要与 Pod 中运行的服务进行通信,则必须打开一个通信通道,就是 Ingress(入口)。

小结

轻松理解 Kubernetes 的核心概念

本文翻译整理自:

https://medium.com/google-cloud/kubernetes-101-pods-nodes-containers-and-clusters-c1509e409e160

轻松理解 Kubernetes 的核心概念

以上所述就是小编给大家介绍的《轻松理解 Kubernetes 的核心概念》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Python语言程序设计

Python语言程序设计

(美)Y. Daniel Liang / 机械工业出版社 / 2013-3 / 79.00元

本书保持了Liang博士系列丛书中一贯的、标志性的教与学的哲学:以实例教,由实践学。书中采用了他所提出的已经经过实践检验的“基础先行”的方法,即在定义类之前,首先使用清晰简明的语言介绍基本程序设计概念,如选择语句、循环和函数;在介绍面向对象程序设计和GUI编程之前,首先介绍基本逻辑和程序设计概念。书中除了给出一些以游戏和数学为主的典型实例外,还在每章的开始使用简单的图形给出一两个例子,以激发学生的......一起来看看 《Python语言程序设计》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具