以卡通的方式了解Kubernetes

以卡通的方式了解Kubernetes

作者:闻数起舞 2019-12-12 10:46:15

云计算 最近,我开始了Kubernetes之旅,希望更好地了解其内部。 我在这些方面做了一个演讲。

 最近,我开始了Kubernetes之旅,希望更好地了解其内部。 我在这些方面做了一个演讲。

[[285362]]

容器

在我们尝试了解Kubernetes之前,让我们花一点时间来澄清什么是容器以及它们为什么如此受欢迎。 毕竟,在不知道容器是什么的情况下谈论容器编排器(Kubernetes)是毫无意义的。

 

 

Container

“容器”是一个用来存放您放入的所有物品的容器。

像应用程序代码,依赖库以及它的依赖关系一直到内核。 这里的关键概念是隔离。 将所有内容与其余内容隔离开,以便您更好地控制它们。 容器提供三种隔离类型

  • Workspace工作区隔离(进程,网络)
  • 资源隔离(CPU,内存)
  • 文件系统隔离(文件系统)

考虑一下像VM一样的容器。 它们精简,快速(启动)且体积小。 而且,所有这些都没有分离。 取而代之的是,他们使用linux系统中存在的构造(例如cgroups,namespace名称空间)在其上构建了一个不错的抽象。

现在我们知道什么是容器了,很容易理解为什么它们很受欢迎。 不仅可以发布应用程序二进制/代码,还可以以实用的方式交付运行应用程序所需的整个环境,因为可以将容器构建为非常小的单元。 解决”在我的机器上工作”问题的完美解决方案

什么时候使用Kubernetes?

容器一切都很好,软件开发人员的生活现在要好得多。 那么,为什么我们需要另一项技术,如Kubernetes这样的容器协调器呢?

 

 

进入此状态时,需要用到太多容器来管理

问:我的前端容器在哪里,我要在其中运行多少个容器? 使用容器协调器

问:如何使前端容器与新创建的后端容器对话?答:对IP进行硬编码。 或者,使用容器协调器

问:如何进行滚动升级?答:在每个步骤中手动控制。 或者,使用容器协调器

为什么我更喜欢Kubernetes

有多个编排器,例如docker swarm,Mesos和Kubernetes。 我的选择是Kubernetes(因此是本文),因为Kubernetes是……

 

 

……就像乐高积木一样。 它不仅具有大规模运行容器协调器所需的组件,而且还具有使用自定义组件交换不同组件的灵活性。 你可以plugin一个自定义的调度程序。当需要一个新的资源类型,你可以编写一个CRD(Custom Resource Definition客户资源定义)。 此外,社区非常活跃,并且工具发展迅速。

Kubernetes体系结构

 

 

每个Kubernetes集群都有两种类型的节点(机器)。 主节点(Master)和工作节点(Worker)。 顾名思义,Master是在运行有效负载(应用程序)的地方控制和监视群集。

群集可以与单个主节点一起使用。 但是最好拥有三个以实现高可用性(称为HA群集)

让我们仔细看一下主节点及其组成

 

 

etcd:数据库,用于存储有关kubernetes对象,其当前状态,访问信息和其他集群配置信息的所有数据

API服务器:RESTful API服务器,公开端点以操作集群。 主节点和工作节点中的几乎所有组件都与该服务器通信以执行其职责

调度程序Scheduler :负责决定哪个有效负载需要在哪台机器上运行

控制管理器Control Manager:这是一个控制循环,它监视群集的状态(通过调用API服务器来获取此数据)并采取措施将其置于预期状态

 

 

kubelet:是工作程序节点的心脏。 它与主节点API服务器通信并运行为其节点安排的容器

kube代理 kubeproxy:使用IP表/ IPVS处理Pod的网络需求

Pod:运行您所有容器的kubernetes的实体。 如果没有Pod的抽象,就无法在kubernetes中运行容器。 Pod定义了对容器之间的联网方式等至关重要的功能

 

 

Happy pod

一个Pod可以有多个容器,并且在这些容器中运行的所有服务器都可以将彼此视为本地主机。 这使得将应用程序的不同方面分离为单独的容器,并可以方便的把它们全部作为一个整体加载。 有不同的Pod模式,例如边车(Side Car),代理(Proxy)和大使(ambassador),可以满足不同的需求。

Pod联网接口提供了一种将其与同一节点和其他工作程序节点中的其他Pod联网的机制

 

 

此外,每个Pod都将分配有自己的IP地址,kube-proxy会使用该IP地址来路由流量。 而且此IP地址仅在群集中可见

所有容器也可以看到安装在Pod容器内的卷,有时这些卷可用于在容器之间进行异步通信。 例如,假设您的应用是照片上传应用(例如instagram),它可以将这些文件保存在一个卷中,而同一容器中的另一个容器可以监视该卷中的新文件,并开始对其进行处理以创建多种尺寸, 将它们上传到云存储

控制器

在kubernetes中,有很多控制器,例如ReplicaSet,Replication Controllers,Deployments,StatefulSet和Service。 这些是以一种或另一种方式控制Pod对象。 让我们看看一些重要的控制器。

复制集 ReplicaSet

 

 

ReplicaSet doing what it is good at. Replicating pods

该控制器的主要职责是创建给定Pod的副本。 如果Pod因某种原因死亡,则会通知该控制器,并立即采取行动以创建新的Pod

部署 Deployments

 

 

Deployment (with a messy hair) trying to control the ReplicaSet

部署是一个高阶对象,它使用ReplicaSet来管理副本。 它通过放大新的ReplicaSet和缩小(最终删除)现有的ReplicaSet来提供滚动升级。

服务 Service

 

 

Service represented as a drone delivering data packets to corresponding pods

服务是一个控制器对象,其主要职责是在将”数据包”分发到相应节点时充当负载平衡器。 基本上,它是一种控制器构造,用于在工作节点之间对相似的Pod(通常由Pod标签标识)进行分组。

假设您的”前端”应用程序想与”后端”应用程序通信,则每个应用程序可能有许多正在运行的实例。 您不必担心对每个后端Pod的IP进行硬编码,而是将数据包发送到后端服务,然后由后端服务决定如何进行负载平衡并相应地转发。

PS:请注意,服务更像是一个虚拟实体,因为所有数据包路由均由IP表/ IPVS / CNI插件处理。 它只是使它更容易被视为一个真正的实体,让他们脱颖而出,以了解其在kubernetes生态系统中的作用。

入口 Ingress

 

 

Ingress a floating platform through which all the packets flow into the cluster

入口控制器是与外界联系的单点,可以与集群中运行的所有服务进行对话。 这使我们可以轻松地在单个位置设置安全策略,监控甚至记录日志

P.S:Kubernetes中还有很多其他控制器对象,例如DaemonSets,StatefulSets和Jobs。 还有一些诸如Secrets,ConfigMaps之类的对象,用于存储应用程序的机密和配置。 我将在收到下一篇博客文章时介绍它们。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/229322.html<

(0)
管理的头像管理
上一篇2025-04-18 17:24
下一篇 2025-04-18 17:25

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注