关键概念¶
本文章介绍容器应用开发工具涉及的术语。
组织¶
租户,资源的所有者。
项目¶
同一组织下,更细粒度的人员和资源管理单元。DevOps 中的项目,可以对应到容器集群管理的命名空间(namespace)、代码仓库、和镜像仓库的项目,从而在项目级别实现资源的隔离。 在集群管理中,支持多个虚拟集群,它们底层依赖于同一个物理集群。 这些虚拟集群被称为名字空间。
应用¶
同一项目下,可以管理多个应用。根据开发流程和操作不同,应用分为以下几类:
Normal
Repository
Mobile
Chart
Function
容器¶
容器是一种特殊的进程模型,为应用的部署和运行提供所需的硬件、操作系统、存储、以及网络容量等资源,为应用开发提供高性能可扩展的管理服务。
集群¶
集群是计算、存储和网络资源的集合,利用这些资源运行各种基于容器的应用。
流水线¶
流水线(Pipeline),流水线的本质是应用研发到交付的流程,它把流程中的不同阶段和任务(构建、代码扫描、Jenkins 任务等)串接在一起,并且可以设置为自动化地按步骤执行,将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。参见 管理流水线。
任务¶
任务(Jobs),用来控制批处理型任务的资源对象,即仅执行一次的任务,它保证批处理任务的一个或多个 Pod 成功结束。任务管理的 Pod 根据用户的设置将任务成功完成就自动退出了。比如在创建工作负载前,执行任务,将镜像上传至镜像仓库。
容器组¶
容器组 (Pod)是进行资源调度的最小单位,每个 Pod 中运行着一个或多个密切相关的业务容器。参见 查看 Pod 信息。
节点¶
节点(Node),集群中的计算能力由 Node 提供,集群中的 Node 是所有 Pod 运行所在的工作主机,可以是物理机也可以是虚拟机。
事件¶
Kubernetes(K8s)事件(Event)是 K8s 中的一种资源类型,当其他资源有状态变化、错误时,会自动创建和记录事。可以在应用和 K8s 不同类型资源的详情页中的 事件 页签查看。
事件关键信息包含:
Reason:对该操作的状态的可读描述。
Message:简短的、机器可理解的字符串,给出了过渡到对象当前状态的原因。
involvedObject:本事件所涉及的对象。
Type:K8s 中事件目前只有两种类型:“Normal” 和 “Warning”。
更多信息,参见 kubernetes 网站。
存储卷¶
存储卷(Persistent Volume,PV)是集群内的存储资源,类似节点是集群资源一样。PV 独立于 Pod 的生命周期,可根据不同的 StorageClass 类型创建不同类型的 PV。
存储卷声明¶
存储卷声明(Persistent Volume Claim,PVC)是资源的使用者。类似 Pod 消耗节点资源一样,而 PVC 消耗 PV 资源。
临时存储¶
Pods 通常可以使用临时性本地存储来实现缓冲区、保存日志等功能。
在项目中配置临时存储配额:项目管理 Quota。
在 Pod 中配置临时存储配额:Deployment 的资源配额。
备注
超过临时存储配额时,Pod 将被驱逐。
更多信息,参见 Kubernetes 网站。
无状态工作负载¶
无状态工作负载(Deployment),无状态工作负载表示对 Kubernetes 集群的一次更新操作。适用于运行完全独立但功能相同的应用场景。参见 配置 Deployment。
有状态工作负载¶
有状态工作负载(StatefulSet),有状态工作负载支持应用部署、扩容、滚动升级时有序进行。如果希望使用存储卷为工作负载提供持久存储,可以使用 StatefulSet 作为解决方案的一部分。参见 配置 Stateful Set。
服务¶
服务(Service)是一个最小的对象,与其它的终端对象(例如:Pod)类似。参见 配置 Service 和 Route。
配置项¶
配置项(ConfigMap),配置项可用于存储细粒度信息如单个属性,或粗粒度信息如整个配置文件或 JSON 对象。您可以使用配置项保存不需要加密的配置信息和配置文件。参见 配置 Config Map 和 Secret。
保密字典¶
保密字典(Secret),保密字典用于存储在 Kubernetes 集群中使用一些敏感的配置,例如密码、证书等信息。参见 配置 Config Map 和 Secret。
存储类型¶
Storage,为管理员提供了描述存储 “Class(类)” 的配置方法。参见 配置 Storage。
蓝绿部署¶
提供了一种零宕机的部署方式,在保留旧版本的同时部署新版本。新旧两个版本同时在线,若其中一个版本有问题可以快速处理。参见 以蓝绿部署模式发布应用。
应用部署¶
应用的开发一般不是一步完成的,故而有迭代和版本的存在。在应用版本更新或项目迭代的过程中,需要对应用进行多次发布,即部署和重新部署。
发布记录¶
同一个 Chart 在同一个项目下部署产生的实例成为 发布记录(Release)。用户可在 应用商店 > 发布 菜单中查看所选项目下的所有发布记录。
同一 Chart 的不同版本可在同一个发布记录上不断升级更新,每次升级 Helm 将检查原有版本和现有版本的差异进行覆盖更新。
若一个 Chart 在一个项目下需要部署多个实例,需部署时输入不同发布名称。