Kubernetes的来龙去脉与运行流程

Kubernetes的来龙去脉与运行流程

译文
作者:Matthew Tyson 2021-05-13 10:12:55

云计算 如果想了解容器、微服务架构、现代应用程序开发和云原生计算,则需要了解Kubernetes。

 [[399278]]

【51CTO.com快译】Kubernetes是现代微服务中最突出的技术之一。它旨在使容器化应用程序的微服务集群管理更简单、更自动化。本文从概念上详细介绍了这一核心技术的工作原理。

了解Kubernetes的一种有用方法是将其视为容器的分布式操作系统。Kubernetes提供了协调容器(最常见的Docker容器)和运行在其上的基础结构容器的交互和缩放所需的工具和命令。Kubernetes是一个设计用于各种场景的通用工具,它是一个非常灵活但又复杂的系统。

Kubernetes工作节点和控制平面

Kubernetes分有两个方面:工作节点和控制平面。工作节点是实际的容器化应用程序以及必要的Kubernetes工具所在的位置。控制平面是管理集群工具所在的位置。图1对此架构进行了高层次的研究。

图1. Kubernetes工作节点和控制平面

如图一所示,该体系结构分为工作节点和负责运行工作负载以及运行管理工具的头节点。

两种情况下的节点都是在虚拟机或实际的机器中执行的。

扩展Kubernetes Worker节点与工作负载

需要注意的是,Kubernetes底层基础设施是运行工作节点工作负载时可用的资源(计算、内存、磁盘和网络),但它并不直接控制它们。Kubernetes负责扩展工作负载,但更高级别的机制(如公共云自动扩展或手动干预)负责调整节点的可用性。因此,可以使用控制器与外部系统进行交互。

Kubernetes Worker节点组件

图2展示了Kubernetes Worker节点的基本元素。

图2. Kubernetes Worker节点详细信息

Kubelet

kubelet是运行在工作节点上的一个“小”程序,负责在控制平面和节点之间进行平衡。kubelet核心目的是执行pods上来自头节点集群的指令,并报告工作负载当前的状态。

Kube Proxy

Kube Proxy负责在节点上实施网络规则,并允许进出节点的流量。

Kube Proxy不同于入口,入口在集群级别操作,并定义进入集群的网络路由规则。

Pod

Pod是节点上的离散工作单元,具有复制性。它们是封装一个或多个容器化应用程序的抽象。Pod可以对一起运行的容器进行分组和隔离,并且同一台机器上的pod之间也可以通信。容器和Pod之间的关系由Kubernetes部署描述符控制。

Deployment和ReplicaSet

Pod通常作为ReplicaSet的一部分进行配置和部署。ReplicaSet定义Pod所需的运行时特征,并使Kubernetes工作以保持该状态。ReplicaSet通常由Deployment定义,Deployment定义了ReplicaSet参数和管理集群时要使用的方法(即pod是更新还是重新创建)。

Sidecar

在Pod级别,额外的功能是通过Sidecar插件实现的。Sidecar可以处理诸如Pod级别的日志记录和信息收集之类的任务。

图3更详细地介绍了工作程序节点中的Pod。

图3. Kubernetes Pod详细说明

Kubernetes control plane

接下来到了控制器端,了解Kubernetes如何操作来控制集群的操作。

图4详细介绍了头节点组件。

图4. Kubernetes头节点详细信息

Etcd

最容易理解的组件是etcd(发音为“ et-cee-dee”)。Etcd是一个分布式对象存储,充当整个集群的配置和状态记录数据库。

API Server

API服务器(API Server)是集群的中央通信机制。当控制平面、工作节点和管理员通过Kubernetes命令行工具(如kubectl)或其他UI应用配置更改时,API Server则可以代理它们之间的交互。

Scheduler

调度程序(Scheduler)负责标识运行Pod的节点。根据Pod的特性和可用节点的现有状态所使用的方法是不同,但是其目标都是达到自定义编写的程度。调度程序在执行工作时与API服务器进行交互。

Controller

控制器(Controller)组件负责将集群保持在配置时所需的状态,并在集群偏离控制时将其移向该状态。控制器的作用就像一种恒温器,它指定所需的状态,然后工作来维持它。
Kubernetes中,可以创建一个对象,用于记录在etcd中的持久实体。然后,控制器将执行操作以确保对象具有所需的属性。

例如,ReplicaSet(上面讨论过)根据使用标准定义运行pod。相对于该ReplicaSet的群集的实际状态是状态。ReplicaSet是对象,指定的pod计数是spec。集群相对于该ReplicaSet的实际状态是status。控制器从集群接收关于此状态的一致报告,并通过创建或销毁pod来采取措施使状态与规范一致。

容器图像存储库

最后一个组件是映像存储库(也称为图像注册表)。此组件存在于集群之外,管理员和控制平面可以访问它以下载所需的容器定义。注册中心由包括Docker Hub在内的各种组织托管,可以是公共的,也可以是私有的。主要的云提供商都为企业提供托管存储库。

Kubernetes规则容器

现在已经了解了Kubernetes架构以及Kubernetes是如何实现的。由于其部署、管理和扩展基于容器的应用程序,可见Kubernetes不是一个简单的系统。Kubernetes具有高度的可配置性和灵活性,可以处理意想不到的情况。

Kubernetes是当前软件架构方法中的最突出的技术之一。因此,对DevOps、容器、云本地应用程序和微服务体系结构感兴趣的人来说,这些Kubernetes的知识都是必不可少的。

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

 

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

(0)
管理的头像管理
上一篇2025-04-21 05:56
下一篇 2025-04-21 05:57

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

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