Kubernetes 常用的资源抽象详述

2023-06-04 0 298

Kubernetes简述

Kubernetes 采用共享资源互联网将数个力学机或软件包汇聚到一个软件产业中,在各伺服器间展开通讯,该软件产业是实用性Kubernetes 的大部份模块、机能和组织工作阻抗的力学网络平台。

软件产业中一台伺服器(或高需用布署中的几组伺服器)用于Master ,全权负责管理整个软件产业,剩余的其它电脑用于Worker Node (晚期版中也称为Minion ),它是采用邻近地区和内部天然资源转交和运转组织工作阻抗的服务器,如图1 -4 所示。

软件产业中的这些PS3能是力学伺服器,也能是软件包(包括IaaS 用户端的VPS )

Kubernetes 常用的资源抽象详述

1、Master

Master 是软件产业的交换机和卢红扣,全权负责譬如为采用者和应用领域程序曝露API ,追踪其他伺服器的身心健康状况、以最优化方式运维组织工作阻抗, 和选曲其它模块间的通讯等各项任务,它是采用者或应用领域程序与软件产业间的核心理念联络员,并全权负责Kubemetes系统的绝大多数封闭式控管方法论。

一般而言Master 结点方可完成其大部份的机能,但所致输入输出及阻抗平衡等目的,制造自然环境中一般来说需要协作布署数个这类PS3。Master 结点近似于扁枝中的甲草。

2、Node

Node 是Kubernetes 软件产业的组织工作结点,全权负责转交源自Master 的组织工作命令并根据命令适当地建立或封存Pod 第一类,和调整互联网准则以科学合理地路由器和转贴网络流量等。

理论上讲, Node能是任何形式的排序电子设备,不过Master 会统一将其抽象化为Node 第一类展开管理。Node 类

似于扁枝中的雌虫,制造自然环境中,它一般来说数量为数众多。

Kubernetes 将大部份Node 的天然资源整装待发于两处形成两台更加强悍的“伺服器”, 如图1 – 5 所示, 在采用者将应用领域布署于其上时, Master 会采用运维算法将其自动指派至某个特定的Node运转。在Node 加入软件产业或从软件产业中移除时Master 也会按需重新选曲影响到的Pod (容器) 。于是,采用者无须关心其应用领域究竟运转于何处。

常见的天然资源抽象化

( 1 ) Pod

Kubernetes 并不直接运转容器,而是采用一个抽象化的天然资源第一类来封装一个或者数个容器,这个抽象化即为Pod ,它也是Kubernetes 的最小运维单元。同一Pod 中的容器共享资源互联网名称空间和存储天然资源,这些容器可经由邻近地区回环节口lo 直接通讯,但彼此间又在Mount 、User 及PID 等名称空间上保持了隔离。尽管Pod 中能包含数个容器,但是作为最小调度单元,它应该尽可能地保持“小”,即一般来说只应该包含一个主容器,和必要的辅助型容器( sidecar )

Kubernetes 常用的资源抽象详述

( 2 )天然资源标签

标签( Label )是将天然资源展开分类的标识符,天然资源标签其实就是一个键值型( key/values)数据。标签旨在指定第一类(如Pod 等)辨识性的属性,这些属性仅对采用者存在特定的意义,对Kubernetes 软件产业来说并不直接表达核心理念系统语义。标签能在第一类建立时附加其上,并能够在建立后的任意时间展开添加和修改。一个第一类能拥有数个标签, 一个标签也能附加于数个第一类(一般来说是同一类第一类)之上

Kubernetes 常用的资源抽象详述

Kubernetes 天然资源标签

( 3 )标签选择器

标签选择器( Selector )全称为“ Labe l Selector”,它是一种根据Label 来过滤符合条件

的天然资源第一类的机制。例如,将附有标签“ role: backend ”的大部份Pod 第一类挑选出来归为几组

就是标签选择器的一种应用领域,如图1-8 所示。采用者一般来说采用标签对天然资源第一类展开分类,而后

采用标签选择器挑选出它,例如将其建立为某Service 的端点。

Kubernetes 常用的资源抽象详述

( 4 ) Pod 控制器

尽管Pod 是Kubemetes 的最小调度单元,但采用者一般来说并不会直接布署及管理Pod 第一类,而是要借助于另一类抽象化控制器( Control ! e r )对其展开管理。用于组织工作阻抗的控制器是一种管理Pod 生命周期的天然资源抽象化,它是Kubernetes 上的一类第一类,而非一般而言天然资源第一类, 包括ReplicationControll er 、ReplicaSet 、Deployment 、Stat巳fu!Set 、Job 等。以图1-9 中所示的Deployment 控制器为例,它全权负责确保指定的Pod 第一类的副本数量精确符合定义,否则“多退少补” 。

采用控制器之后就不再需要手动管理Pod 第一类了,采用者只需要声明应用领域的期望状况,控制器就会自动对其展开进程管理。

Kubernetes 常用的资源抽象详述

( 5 )服务天然资源( Serv ice )

Service 是建立在几组Pod 第一类之上的天然资源抽象化,它通过标签选择器选定几组Pod 第一类,并为这组Pod 第一类定义一个统一的固定访问入口(一般来说是一个IP 地址),若Kubemetes 软件产业存在DNS 附件,它就会在Service 建立时为其自动实用性一个DNS 名称以便应用领域程序展开服务发现。到达Service IP 的请求将被阻抗平衡至其后的端点一一各个Pod 第一类之上,因此Service从本质上来讲是一个四层代理服务。另外, Service 还能将软件产业内部网络流量引入到软件产业中来。

( 6 )存储卷

存储卷( Volume )是独立于容器文件系统之外的存储空间,常见于扩展容器的存储空间并为它提供持久存储能力。

Kubemetes 软件产业上的存储卷大体可分为临时卷、邻近地区卷和互联网卷。临时卷和邻近地区卷都位于Node 邻近地区,一旦Pod 被运维至其他No de , 此种类型的存储卷将无法访问到,因此临时卷和邻近地区卷一般来说用于数据缓存,持久化的数据则需要放置于持久卷(persistent volume )之上。

( 7) Name 和Namespace

名称( Name )是Kubernetes 软件产业中天然资源第一类的标识符, 它的作用域一般来说是名称空间(Nam巳space ),因此名称空间是名称的额外的限定机制。在同一个名称空间中,同一类型天然资源、第一类的名称必须具有唯一性。名称空间一般来说用于实现租户或项目的天然资源隔离,从而形成方法论分组,如图1-10 所示。建立的Pod 和Servic e 等天然资源第一类都属于名称空间级别, 未指定时,它都属于默认的名称空间“ default ” 。

Kubernetes 常用的资源抽象详述

( 8 ) Annotation

Annotation (注解)是另一种附加在第一类之上的键值类型的数据,但它拥有更大的数据容量。Annotation 常见于将各种非标识型元数据( metadata ) 附加到第一类上,但它不能用于标识和选择第一类,一般来说也不会被Kubernetes 直接采用,其主要目的是方便工具或采用者的阅读及查找等。

( 9) Ingress

Kubernetes 将Pod 第一类和内部互联网自然环境展开了隔离, Pod 和Service 等第一类间的通讯都采用其内部专用地址展开,如若需要开放某些Pod 第一类提供给内部采用者访问,则需要为其请求网络流量打开一个通往Kubernetes 软件产业内部的通道,除了Servic 巳之外, Ingress 也是这类通道的实现方式之一。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务