Kubernetes入门:Pod、节点、容器和集群都是什么?

文章地址:

http://mini.eastday.com/bdmip/180103191329488.html


Kubernetes正迅速成为云计算中部署和管理软件的新标准。不过,Kubernetes既然能提供极高的价值,也肯定会附带一个陡峭的学习曲线。作为一个新手,试图解析官方文档可能会很困难。这个系统由许多不同的片段组成,并且很难区分哪些与你的用例相关。这篇文章将提供Kubernetes的简化视图,但它会对最重要的组件和它们如何组合在一起提供一个高层次的概述。

节点是Kubernetes中最小的计算硬件单元。它是集群中单个机器的表示。在大多数生产系统中,节点很可能是数据中心中的物理机器,或者是托管在像谷歌云平台这样的云供应商上的虚拟机。不过,不要让惯例限制了你的想象力,从理论上讲,你可以把任何东西做成一个结点。

把机器看作一个“节点”,可以让我们插入一个抽象层。现在,我们不必担心任何单个机器的独特特性,而是可以简单地将每台机器看作一组可以使用的CPU和RAM资源。这样,任何机器都可以替代Kubernetes集群中的任何其他机器。


集群(Cluster)

虽然使用单个节点是有用的,但它与Kubernetes理念不同。一般来说,你应该将集群看作一个整体,而无需担心单个节点的状态。

在Kubernetes中,节点汇聚资源,形成更强大的机器。当你将程序部署到集群中时,它将智能地处理将工作分配给你的各个节点。如果添加或删除了任何节点,集群将根据需要在工作中进行转换。这对程序或程序员来说都不重要,因为机器实际上是在运行代码。

如果这种类似“母巢”的系统让你想起《星际迷航》中的Borg,实话告诉你,你不是一个人,“Borg”是Kubernetes内部谷歌项目的名称。

容器(Container)

在Kubernetes上运行的程序被打包成Linux容器。容器是一个被广泛接受的标准,因此已经有许多预先构建的映像可以部署在Kubernetes上。

容器化允许你创建自足式的Linux执行环境。任何程序和它的所有依赖项都可以打包成一个文件,然后在网络上共享。任何人都可以下载该容器并在其基础设施上部署它,所需的设置非常少。创建一个容器可以通过编程方式完成,从而形成强大的CI和CD管道。

可以将多个程序添加到单个容器中,但是如果可能的话,你应该将自己限制为每个容器的一个进程。拥有很多小容器比一个大容器好。如果每个容器都有一个紧密的焦点,那么更新更容易部署,并且问题更容易诊断。



阅读更多
博主设置当前文章不允许评论。

博主推荐

换一批

没有更多推荐了,返回首页