词汇表

本词汇表旨在成为 Kubernetes 术语的全面、标准化列表。它包括特定于 Kubernetes 的技术术语,以及提供有用背景的更通用术语。

根据标签过滤术语

Kubernetes 的内部组件。
与 Kubernetes 开源开发相关。
Kubernetes 默认支持的资源类型。
支持的 Kubernetes 自定义。
与 Kubernetes 的首次用户相关。
Kubernetes 组件如何相互通信(以及与集群外部的程序通信)。
启动和维护 Kubernetes。
保持 Kubernetes 应用程序的安全。
Kubernetes 应用程序如何处理持久性数据。
使 Kubernetes 更易于使用或更好的软件。
代表一种常见的 Kubernetes 用户类型。
在 Kubernetes 上运行的应用程序。
架构 社区 核心对象 扩展 基础 网络 操作 安全 存储 工具 用户类型 工作负载 选择全部 取消选择全部

单击下面的 [+] 指示符以获取有关任何特定术语的更详细解释。

  • 附加组件

    扩展 Kubernetes 功能的资源。

    [+]

    安装附加组件 解释了更多关于在您的集群中使用附加组件的信息,并列出了一些流行的附加组件。

  • 准入控制器

    一段在对象持久化之前拦截对 Kubernetes API 服务器的请求的代码。

    [+]

    准入控制器是 Kubernetes API 服务器的可配置项,可以是“验证”,“变更”或两者。任何准入控制器都可能拒绝请求。变更控制器可以修改它们准入的对象;验证控制器则不能。

  • 亲和性

    在 Kubernetes 中,亲和性是一组规则,它为调度程序提供有关将 Pod 放置在何处的提示。

    [+]

    亲和性有两种类型

    这些规则是使用 Kubernetes 标签选择器 定义的,它们可以在 Pod 中指定,并且可以是必需的或优先的,具体取决于您希望调度程序严格程度地执行它们。

  • 聚合层

    聚合层允许您在集群中安装其他 Kubernetes 样式的 API。

    [+]

    当您将 Kubernetes API 服务器 配置为 支持其他 API 时,您可以添加 APIService 对象以“声明”Kubernetes API 中的 URL 路径。

  • 注释

    用于将任意非标识元数据附加到对象的键值对。

    [+]

    注释中的元数据可以是小的或大的,结构化的或非结构化的,并且可以包含 标签 不允许的字符。诸如工具和库之类的客户端可以检索此元数据。

  • API 组

    Kubernetes API 中一组相关的路径。

    [+]

    您可以通过更改 API 服务器的配置来启用或禁用每个 API 组。您也可以禁用或启用对特定资源的路径。API 组简化了扩展 Kubernetes API 的操作。API 组在 REST 路径和序列化对象的 apiVersion 字段中指定。

    • 阅读 API 组 以获取更多信息。
  • API 服务器
    也称为:kube-apiserver

    API 服务器是 Kubernetes 控制平面 的一个组件,它公开 Kubernetes API。API 服务器是 Kubernetes 控制平面的前端。

    [+]

    Kubernetes API 服务器的主要实现是 kube-apiserver。kube-apiserver 旨在水平扩展,即通过部署更多实例进行扩展。您可以运行多个 kube-apiserver 实例,并在这些实例之间平衡流量。

  • API 驱动的驱逐

    API 驱动的驱逐是您使用 驱逐 API 创建 Eviction 对象以触发优雅的 Pod 终止的过程。

    [+]

    您可以通过直接使用 kube-apiserver 的客户端(如 kubectl drain 命令)调用驱逐 API 来请求驱逐。创建 Eviction 对象时,API 服务器将终止 Pod。

    API 驱动的驱逐会尊重您配置的 PodDisruptionBudgetsterminationGracePeriodSeconds.

    API 驱动的驱逐与 节点压力驱逐 不同。

  • 应用容器

    应用程序容器(或应用容器)是 容器,它们是在 Pod 中的所有 初始化容器 完成后启动的。

    [+]

    初始化容器允许您将对整个 工作负载 很重要的初始化细节分开,这些细节在应用程序容器启动后不需要继续运行。如果 Pod 没有配置任何初始化容器,则该 Pod 中的所有容器都是应用容器。

  • 应用程序架构师

    负责应用程序的高级设计的人。

    [+]

    架构师确保应用程序的实现允许它以可扩展、可维护的方式与其周围的组件交互。周围的组件包括数据库、日志记录基础设施和其他微服务。

  • 应用程序开发人员

    编写在 Kubernetes 集群中运行的应用程序的人。

    [+]

    应用程序开发人员专注于应用程序的某一部分。他们的关注范围的大小可能会有很大差异。

  • 应用程序
    各种容器化应用程序运行的层。 [+]

    各种容器化应用程序运行的层。

  • 审批人

    可以审查和批准 Kubernetes 代码贡献的人。

    [+]

    虽然代码审查侧重于代码质量和正确性,但批准侧重于对贡献的整体接受。整体接受包括向后/向前兼容性、遵守 API 和标志约定、细微的性能和正确性问题、与系统其他部分的交互等等。审批人状态的范围限于代码库的一部分。审批人以前称为维护者。

  • cAdvisor

    cAdvisor(容器顾问)使容器用户能够了解其正在运行的 容器 的资源使用情况和性能特征。

    [+]

    它是一个运行中的守护进程,用于收集、聚合、处理和导出有关运行容器的信息。具体来说,对于每个容器,它会保留资源隔离参数、历史资源使用情况、完整历史资源使用情况直方图和网络统计信息。这些数据按容器和机器级别导出。

  • 证书

    用于验证对 Kubernetes 集群访问权限的加密安全文件。

    [+]

    证书允许 Kubernetes 集群中的应用程序安全地访问 Kubernetes API。证书验证客户端是否被允许访问 API。

  • cgroup(控制组)

    一组 Linux 进程,具有可选的资源隔离、统计和限制。

    [+]

    cgroup 是 Linux 内核的一项功能,它可以限制、统计和隔离一组进程的资源使用情况(CPU、内存、磁盘 I/O、网络)。

  • CIDR

    CIDR(无类别域间路由)是一种描述 IP 地址块的表示法,在各种网络配置中被广泛使用。

    [+]

    在 Kubernetes 的上下文中,每个 节点 通过起始地址和使用 CIDR 的子网掩码分配了一系列 IP 地址。这允许节点为每个 Pod 分配一个唯一的 IP 地址。虽然最初是针对 IPv4 的概念,但 CIDR 也已扩展到包括 IPv6。

  • CLA(贡献者许可协议)

    贡献者根据该条款向开源项目授予其贡献的许可。

    [+]

    CLA 有助于解决涉及贡献材料和知识产权(IP)的法律纠纷。

  • 云控制器管理器

    一个 Kubernetes 控制平面 组件,它嵌入云特定的控制逻辑。云控制器管理器允许您将集群链接到云提供商的 API,并将与该云平台交互的组件与仅与集群交互的组件隔离开来。

    [+]

    通过将 Kubernetes 和底层云基础设施之间的互操作性逻辑解耦,云控制器管理器组件使云提供商能够以与主 Kubernetes 项目不同的速度发布功能。

  • 云原生计算基金会 (CNCF)

    云原生计算基金会 (CNCF) 建立了可持续的生态系统,并围绕 项目 培养了社区,这些项目将容器编排为微服务架构的一部分。

    Kubernetes 是一个 CNCF 项目。

    [+]

    CNCF 是 Linux 基金会 的一个子基金会。它的使命是使云原生计算无处不在。

  • 云提供商
    也称为:云服务提供商

    提供云计算平台的企业或其他组织。

    [+]

    云提供商,有时称为云服务提供商 (CSP),提供云计算平台或服务。

    许多云提供商提供托管基础设施(也称为基础设施即服务或 IaaS)。使用托管基础设施,云提供商负责服务器、存储和网络,而您则管理其上的层,例如运行 Kubernetes 集群。

    您还可以找到 Kubernetes 作为托管服务;有时称为平台即服务或 PaaS。使用托管 Kubernetes,您的云提供商负责 Kubernetes 控制平面以及 节点 以及它们依赖的基础设施:网络、存储,以及可能的其他元素,例如负载均衡器。

  • 集群

    一组 worker 机器,称为 节点,它们运行容器化应用程序。每个集群至少有一个 worker 节点。

    [+]

    worker 节点托管 Pod,它们是应用程序工作负载的组件。 控制平面 管理集群中的 worker 节点和 Pod。在生产环境中,控制平面通常跨多个计算机运行,并且集群通常运行多个节点,从而提供容错和高可用性。

  • 集群架构师

    设计涉及一个或多个 Kubernetes 集群的基础设施的人员。

    [+]

    集群架构师关注分布式系统的最佳实践,例如:高可用性和安全性。

  • 集群基础设施
    基础设施层提供和维护 VM、网络、安全组等。 [+]

    基础设施层提供和维护 VM、网络、安全组等。

  • 集群操作

    管理 Kubernetes 集群所涉及的工作:管理日常操作,以及协调升级。

    [+]

    集群操作工作示例包括:部署新节点以扩展集群;执行软件升级;实施安全控制;添加或删除存储;配置集群网络;管理集群范围的观测性;以及响应事件。

  • 集群操作员

    配置、控制和监控集群的人员。

    [+]

    他们的主要职责是确保集群正常运行,这可能涉及定期维护活动或升级。

  • 代码贡献者

    为 Kubernetes 开源代码库开发和贡献代码的人员。

    [+]

    他们也是积极参与的一个或多个 社区成员,参与一个或多个 特别兴趣小组 (SIG)

  • ConfigMap

    用于在键值对中存储非机密数据的 API 对象。 Pod 可以将 ConfigMap 作为环境变量、命令行参数或作为 中的配置文件使用。

    [+]

    ConfigMap 允许您将环境特定的配置与 容器镜像 解耦,从而使您的应用程序易于移植。

  • 容器

    一个轻量级且可移植的可执行镜像,其中包含软件及其所有依赖项。

    [+]

    容器将应用程序与底层主机基础设施解耦,以便在不同的云或操作系统环境中更容易部署,并更容易扩展。在容器中运行的应用程序称为容器化应用程序。将这些应用程序及其依赖项捆绑到容器镜像中的过程称为容器化。

  • 容器环境变量

    容器环境变量是 name=value 对,它们向在 pod 中运行的容器提供有用的信息

    [+]

    容器环境变量提供运行的容器化应用程序所需的信息,以及有关 容器 重要资源的信息。例如,文件系统详细信息、有关容器本身的信息,以及其他集群资源,例如服务端点。

  • 容器生命周期钩子

    生命周期钩子在 容器 管理生命周期中公开事件,并允许用户在事件发生时运行代码。

    [+]

    容器公开两个钩子:PostStart,它在创建容器后立即执行,PreStop,它是阻塞的,并在容器终止之前立即调用。

  • 容器网络接口 (CNI)

    容器网络接口 (CNI) 插件是一种类型的网络插件,它符合 appc/CNI 规范。

    [+]
    • 有关 Kubernetes 和 CNI 的信息,请参见 网络插件
  • 容器运行时

    一个基础组件,使 Kubernetes 能够有效地运行容器。它负责管理 Kubernetes 环境中容器的执行和生命周期。

    [+]

    Kubernetes 支持容器运行时,例如 containerdCRI-O 以及 Kubernetes CRI(容器运行时接口) 的任何其他实现。

  • 容器运行时接口

    Kubelet 和容器运行时之间通信的主要协议是 kubelet

    [+]

    Kubernetes 容器运行时接口 (CRI) 定义了 gRPC 协议,用于 节点组件 kubelet容器运行时 之间的通信。

  • 容器运行时接口 (CRI)

    容器运行时接口 (CRI) 是容器运行时与节点上的 kubelet 集成的 API。

    [+]

    有关更多信息,请参阅 CRI API 和规范。

  • 容器存储接口 (CSI)

    容器存储接口 (CSI) 定义了一个标准接口,用于将存储系统暴露给容器。

    [+]

    CSI 允许供应商为 Kubernetes 创建自定义存储插件,而无需将其添加到 Kubernetes 存储库中(树外插件)。若要从存储提供商使用 CSI 驱动程序,您必须首先 将其部署到您的集群。然后,您将能够创建一个 Storage Class,该类使用该 CSI 驱动程序。

  • containerd

    一个注重简单性、健壮性和可移植性的容器运行时

    [+]

    containerd 是一个 容器 运行时,它作为守护进程在 Linux 或 Windows 上运行。containerd 负责获取和存储容器映像、执行容器、提供网络访问等。

  • 贡献者

    为 Kubernetes 项目或社区捐赠代码、文档或时间的人。

    [+]

    贡献包括拉取请求 (PR)、问题、反馈、特殊兴趣组 (SIG) 参与或组织社区活动。

  • 控制平面

    容器编排层,它公开 API 和接口来定义、部署和管理容器的生命周期。

    [+]

    此层由许多不同的组件组成,例如(但不限于)

    这些组件可以作为传统的操作系统服务(守护进程)或容器运行。运行这些组件的主机在历史上称为 主节点

  • 控制器

    在 Kubernetes 中,控制器是控制循环,它们监视您的 集群 的状态,然后根据需要进行更改或请求更改。每个控制器都试图将当前集群状态更接近所需状态。

    [+]

    控制器通过 apiserver控制平面 的一部分)监视集群的共享状态。

    一些控制器也运行在控制平面中,提供对 Kubernetes 操作至关重要的控制循环。例如:部署控制器、守护进程集控制器、命名空间控制器和持久卷控制器(以及其他控制器)都在 kube-controller-manager 中运行。

  • CRI-O

    一种工具,使您能够将 OCI 容器运行时与 Kubernetes CRI 一起使用。

    [+]

    CRI-O 是 容器运行时接口 (CRI) 的实现,用于启用使用与开放容器倡议 (OCI) 运行时规范 兼容的 容器 运行时。

    部署 CRI-O 允许 Kubernetes 使用任何符合 OCI 的运行时作为运行 Pod 的容器运行时,并从远程注册表获取 OCI 容器映像。

  • CronJob

    管理定期运行的 Job

    [+]

    类似于 crontab 文件中的一行,CronJob 对象使用 cron 格式指定计划。

  • CustomResourceDefinition

    定义要添加到 Kubernetes API 服务器的资源的自定义代码,无需构建完整的自定义服务器。

    [+]

    如果您公开支持的 API 资源无法满足您的需求,则可以使用自定义资源定义扩展 Kubernetes API 以适应您的环境。

  • DaemonSet

    确保在 集群 的一组节点上运行 Pod 的副本。

    [+]

    用于部署系统守护进程,例如日志收集器和监控代理,这些守护进程通常必须在每个 节点 上运行。

  • 数据平面
    提供容量(如 CPU、内存、网络和存储),以便容器可以运行并连接到网络。 [+]

    提供容量(如 CPU、内存、网络和存储),以便容器可以运行并连接到网络。

  • 部署

    管理复制应用程序的 API 对象,通常通过运行没有本地状态的 Pod 来完成。

    [+]

    每个副本都由一个 Pod 表示,这些 Pod 分布在集群的 节点 之间。对于确实需要本地状态的工作负载,请考虑使用 StatefulSet

  • 开发人员 (消歧义)

    可能指的是:应用程序开发人员代码贡献者平台开发人员

    [+]

    这个重载的术语可能根据上下文具有不同的含义

  • 设备插件

    设备插件运行在工作 节点 上,并为 Pod 提供对资源(如本地硬件)的访问权限,这些资源需要供应商特定的初始化或设置步骤。

    [+]

    设备插件向 kubelet 公告资源,以便工作负载 Pod 可以访问与运行该 Pod 的节点相关的硬件功能。您可以将设备插件部署为 DaemonSet,或直接在每个目标节点上安装设备插件软件。

    有关更多信息,请参阅 设备插件

  • 中断

    中断是导致一个或多个 Pod 停止服务的事件。中断会对依赖于受影响 Pod 的工作负载资源(如 部署)造成影响。

    [+]

    如果您作为集群操作员销毁属于应用程序的 Pod,Kubernetes 将其称为 自愿中断。如果 Pod 由于节点故障或影响更广泛故障区域的停机而脱机,Kubernetes 将其称为 非自愿中断

    有关更多信息,请参阅 中断

  • Docker

    Docker(具体来说,Docker Engine)是一种软件技术,提供操作系统级的虚拟化,也称为 容器.

    [+]

    Docker 利用 Linux 内核的资源隔离功能,如 cgroups 和内核命名空间,以及支持联合的文件系统,如 OverlayFS 等,从而允许独立的容器在单个 Linux 实例中运行,避免了启动和维护虚拟机 (VM) 的开销。

  • Dockershim

    Dockershim 是 Kubernetes 1.23 及更早版本中的一个组件。它允许 kubeletDocker Engine 进行通信。

    [+]

    从 1.24 版本开始,dockershim 已从 Kubernetes 中移除。有关更多信息,请参阅 Dockershim 常见问题解答.

  • 下游(消歧义)

    可能指:Kubernetes 生态系统中依赖于 Kubernetes 核心代码库的代码或 fork 的仓库。

    [+]
    • Kubernetes 社区中:对话中通常使用 下游 来指代依赖于 Kubernetes 核心代码库的生态系统、代码或第三方工具。例如,Kubernetes 中的新功能可能被 下游 的应用程序采用以改进其功能。
    • GitHubgit 中:惯例是将 fork 的仓库称为 下游,而源仓库则被称为 上游
  • 下行 API

    Kubernetes 用于将 Pod 和容器字段值暴露给在容器中运行的代码的机制。

    [+]

    有时,容器需要了解自身的信息,而无需对容器代码进行直接将其与 Kubernetes 耦合的更改。

    Kubernetes 下行 API 允许容器使用关于自身或其在 Kubernetes 集群中的上下文信息。容器中的应用程序可以访问该信息,而无需应用程序充当 Kubernetes API 的客户端。

    有两种方法可以将 Pod 和容器字段暴露给正在运行的容器:

    这两种暴露 Pod 和容器字段的方法统称为 下行 API

  • 动态卷供应

    允许用户请求自动创建存储 .

    [+]

    动态供应消除了集群管理员预先供应存储的需要。相反,它根据用户请求自动供应存储。动态卷供应基于一个 API 对象,StorageClass,它引用一个 Volume Plugin,该插件提供一个 以及要传递给 Volume Plugin 的参数集。

  • 端点

    端点跟踪与匹配 选择器 的 Pod 的 IP 地址。

    [+]

    对于没有指定选择器的 服务,可以手动配置端点。 EndpointSlice 资源提供了一种可扩展且可扩展的端点替代方案。

  • EndpointSlice

    一种将网络端点与 Kubernetes 资源分组在一起的方式。

    [+]

    一种可扩展且可扩展的将网络端点分组在一起的方式。它们可以被 kube-proxy 用于在每个 节点 上建立网络路由。

  • 临时容器

    一种 容器 类型,您可以在 Pod 中临时运行它。

    [+]

    如果您想调查运行有问题的 Pod,可以向该 Pod 添加一个临时容器并执行诊断。临时容器没有资源或调度保证,您不应使用它们运行工作负载本身的任何部分。

    临时容器不受 静态 Pod 支持。

  • etcd

    一致且高度可用的键值存储,用作 Kubernetes 的所有集群数据的后端存储。

    [+]

    如果您的 Kubernetes 集群使用 etcd 作为其后端存储,请确保您有一个 备份 计划以保护数据。

    您可以在官方 文档 中找到有关 etcd 的深入信息。

  • 事件

    事件是描述系统中状态更改/重要事件的 Kubernetes 对象。

    [+]

    事件的保留时间有限,触发器和消息可能会随着时间的推移而演变。事件消费者不应依赖于具有给定原因的事件的定时,该原因反映了始终如一的底层触发器,也不应依赖于具有该原因的事件的持续存在。

    事件应被视为信息性的、尽力而为的、补充性的数据。

    在 Kubernetes 中,审计 会生成一种不同的事件记录(API 组 audit.k8s.io)。

  • 驱逐

    驱逐是终止一个或多个节点上的 Pod 的过程。

    [+]
  • 扩展

    扩展是软件组件,它们扩展并深度集成到 Kubernetes 中,以支持新的硬件类型。

    [+]

    许多集群管理员使用 Kubernetes 的托管或分发实例。这些集群预先安装了扩展。因此,大多数 Kubernetes 用户无需安装 扩展,甚至更少的用户需要编写新的扩展。

  • 功能开关

    功能开关是一组键(不透明字符串值),您可以使用它们来控制在集群中启用哪些 Kubernetes 功能。

    [+]

    您可以使用每个 Kubernetes 组件的 --feature-gates 命令行标志来打开或关闭这些功能。每个 Kubernetes 组件都允许您启用或禁用与该组件相关的功能开关集。Kubernetes 文档列出了所有当前 功能开关 及其控制的内容。

  • 终结器

    终结器是命名空间键,它们告诉 Kubernetes 在满足特定条件之前,等待完全删除标记为要删除的资源。终结器提醒 控制器 清理已删除对象拥有的资源。

    [+]

    当您告诉 Kubernetes 删除具有为其指定终结器的对象时,Kubernetes API 会通过填充 .metadata.deletionTimestamp 来标记该对象要删除,并返回 202 状态代码(HTTP“已接受”)。目标对象将保持在终止状态,同时控制平面或其他组件执行由终结器定义的操作。这些操作完成后,控制器将从目标对象中删除相关的终结器。当 metadata.finalizers 字段为空时,Kubernetes 将认为删除已完成并删除该对象。

    您可以使用终结器来控制 垃圾回收 资源。例如,您可以定义一个终结器,以便在控制器删除目标资源之前清理相关资源或基础设施。

  • FlexVolume

    FlexVolume 是一个已弃用的接口,用于创建树外卷插件。 容器存储接口 是一个更新的接口,它解决了 FlexVolume 的一些问题。

    [+]

    FlexVolume 允许用户编写自己的驱动程序并在 Kubernetes 中添加对其卷的支持。FlexVolume 驱动程序二进制文件和依赖项必须安装在主机上。这需要 root 权限。Storage SIG 建议尽可能实现 CSI 驱动程序,因为它解决了 FlexVolume 的局限性。

  • 垃圾回收

    垃圾回收是 Kubernetes 用于清理集群资源的各种机制的统称。

    [+]

    Kubernetes 使用垃圾回收来清理资源,例如 未使用的容器和镜像失败的 Pod目标资源拥有的对象已完成的作业 以及已过期或失败的资源。

  • 网关 API

    用于在 Kubernetes 中对服务网络建模的 API 种类族。

    [+]

    网关 API 提供了一个可扩展、面向角色、协议感知的 API 种类族,用于在 Kubernetes 中对服务网络建模。

  • 组版本资源
    也称为:GVR

    表示唯一的 Kubernetes API 资源的方式。

    [+]

    组版本资源 (GVR) 指定 API 组、API 版本和资源(对象类型的名称,如 URI 中所示),这些资源与访问 Kubernetes 中特定对象 ID 相关联。GVR 允许您定义和区分不同的 Kubernetes 对象,并指定一种访问对象的稳定方式,即使 API 发生变化也是如此。

  • Helm 图表

    一组预配置的 Kubernetes 资源包,可以使用 Helm 工具进行管理。

    [+]

    图表提供了一种可重复的方式来创建和共享 Kubernetes 应用程序。单个图表可用于部署简单的东西,例如 memcached Pod,或部署复杂的东西,例如具有 HTTP 服务器、数据库、缓存等的完整 Web 应用程序堆栈。

  • 水平 Pod 自动缩放器
    也称为:HPA

    一种 API 资源,它根据目标 CPU 利用率或自定义指标目标自动缩放 Pod 副本数量。

    [+]

    HPA 通常与 复制控制器部署ReplicaSet 一起使用。它不能应用于不能缩放的对象,例如 DaemonSet

  • 主机别名

    主机别名是 IP 地址和主机名之间的映射,将被注入到 Pod 的主机文件中。

    [+]

    主机别名 是主机名和 IP 地址的可选列表,如果指定,它们将被注入到 Pod 的主机文件中。这仅对非主机网络 Pod 有效。

  • 镜像

    存储的 容器 实例,其中包含运行应用程序所需的一组软件。

    [+]

    一种打包软件的方式,允许将其存储在容器注册表中,拉取到本地系统,并作为应用程序运行。元数据包含在镜像中,可以指示要运行的可执行文件、谁构建了它以及其他信息。

  • 不可变基础设施

    不可变基础设施是指部署后无法更改的计算机基础设施(虚拟机、容器、网络设备)。

    [+]

    不可变性可以通过自动流程来强制执行,该流程会覆盖未经授权的更改,或通过从一开始就无法进行更改的系统来强制执行。 容器 是不可变基础设施的一个很好的例子,因为对容器的持久更改只能通过创建新版本的容器或从其镜像重新创建现有容器来进行。

    通过防止或识别未经授权的更改,不可变基础设施使识别和减轻安全风险变得更容易。操作这样的系统变得更加简单,因为管理员可以对其进行假设。毕竟,他们知道没有人犯错误或进行了他们忘记沟通的更改。不可变基础设施与基础设施即代码相辅相成,其中创建基础设施所需的所有自动化都存储在版本控制(例如 Git)中。这种不可变性和版本控制的结合意味着存在对系统每个授权更改的持久审计日志。

  • 入口

    一种 API 对象,它管理对集群中服务的外部访问,通常为 HTTP。

    [+]

    入口可以提供负载均衡、SSL 终止和基于名称的虚拟主机。

  • 初始化容器

    一个或多个初始化 容器,必须在任何应用程序容器运行之前运行到完成。

    [+]

    初始化(init)容器类似于常规应用程序容器,但有一个区别:init 容器必须运行到完成,然后任何应用程序容器才能启动。init 容器按顺序运行:每个 init 容器必须运行到完成,然后下一个 init 容器才能开始。

    边车容器 不同,init 容器在 Pod 启动后不会保持运行。

    有关更多信息,请阅读 初始化容器

  • Istio

    一个开放平台(不是特定于 Kubernetes 的),它提供了一种统一的方式来集成微服务、管理流量流、执行策略和聚合遥测数据。

    [+]

    添加 Istio 不需要更改应用程序代码。它是在服务和网络之间的一层基础设施,当与服务部署相结合时,通常称为服务网格。Istio 的控制平面抽象了底层集群管理平台,该平台可能是 Kubernetes、Mesosphere 等。

  • 作业

    一个有限的或批处理任务,运行到完成。

    [+]

    创建一个或多个 Pod 对象,并确保指定数量的 Pod 成功终止。随着 Pod 成功完成,作业会跟踪成功完成的 Pod。

  • JSON Web 令牌 (JWT)

    一种表示要传递给两个当事方之间的声明的方式。

    [+]

    JWT 可以进行数字签名和加密。Kubernetes 使用 JWT 作为身份验证令牌来验证想要在集群中执行操作的实体的身份。

  • kOps(Kubernetes 操作)

    kOps 不仅可以帮助您创建、销毁、升级和维护生产级、高可用性 Kubernetes 集群,还可以配置必要的云基础设施。

    [+]

    kOps 是一个自动配置系统

    • 完全自动安装
    • 使用 DNS 来识别集群
    • 自修复:所有内容都在自动缩放组中运行
    • 支持多种操作系统(Amazon Linux、Debian、Flatcar、RHEL、Rocky 和 Ubuntu)
    • 高可用性支持
    • 可以直接配置或生成 terraform 清单
  • kube-controller-manager

    控制平面组件,它运行 控制器 进程。

    [+]

    从逻辑上讲,每个 控制器 是一个单独的进程,但为了减少复杂性,它们都编译成单个二进制文件并在单个进程中运行。

  • kube-proxy

    kube-proxy 是一个网络代理,运行在集群中的每个 节点 上,实现了 Kubernetes 服务 概念的一部分。

    [+]

    kube-proxy 在节点上维护网络规则。这些网络规则允许从集群内部或外部的网络会话到您的 Pod 的网络通信。

    kube-proxy 使用操作系统数据包过滤层(如果有并可用)。否则,kube-proxy 本身会转发流量。

  • kube-scheduler

    控制平面组件,它监视新创建的没有分配 节点Pod,并为它们选择一个要运行的节点。

    [+]

    调度决策考虑的因素包括:单个和集体资源需求、硬件/软件/策略约束、亲和性和反亲和性规范、数据局部性、工作负载间干扰和截止日期。

  • Kubeadm

    用于快速安装 Kubernetes 并设置安全集群的工具。

    [+]

    您可以使用 kubeadm 安装控制平面和 工作节点 组件。

  • Kubectl
    也称为:kubectl

    用于与 Kubernetes 集群 控制平面 通信的命令行工具,使用 Kubernetes API。

    [+]

    您可以使用 kubectl 创建、检查、更新和删除 Kubernetes 对象。

  • Kubelet

    一个代理,运行在集群中的每个 节点 上。它确保 容器Pod 中运行。

    [+]

    kubelet 获取通过各种机制提供的 PodSpecs 集,并确保这些 PodSpecs 中描述的容器正在运行并处于健康状态。kubelet 不管理不是由 Kubernetes 创建的容器。

  • Kubernetes API

    通过 RESTful 接口提供 Kubernetes 功能的应用程序,并存储集群状态。

    [+]

    Kubernetes 资源和“意图记录”都存储为 API 对象,并通过对 API 的 RESTful 调用进行修改。API 允许以声明方式管理配置。用户可以直接与 Kubernetes API 交互,也可以通过 kubectl 等工具进行交互。Kubernetes 核心 API 灵活且可扩展,以支持自定义资源。

  • 标签

    用有意义且与用户相关的标识属性标记对象。

    [+]

    标签是附加到对象(如 Pod)的键值对。它们用于组织和选择对象的子集。

  • 限制范围

    提供约束以限制每个命名空间中 容器Pod 的资源消耗。

    [+]

    LimitRange 限制了可以按类型创建的对象数量,以及单个命名空间中 容器Pod 可以请求/消耗的计算资源数量。

  • 日志记录

    日志是 集群 或应用程序记录的事件列表。

    [+]

    应用程序和系统日志可以帮助您了解集群内部发生的情况。日志对于调试问题和监控集群活动特别有用。

  • 托管服务

    由第三方提供商维护的软件产品。

    [+]

    托管服务的示例包括 AWS EC2、Azure SQL 数据库和 GCP Pub/Sub,但它们可以是应用程序可以使用的任何软件产品。

  • 清单

    以 JSON 或 YAML 格式指定的 Kubernetes API 对象。

    [+]

    清单指定了 Kubernetes 将在您应用清单时维护的对象的期望状态。每个配置文件可以包含多个清单。

  • 主节点

    传统术语,用作托管 节点控制平面 的同义词。

    [+]

    一些配置工具(如 kubeadm)和托管服务仍在使用此术语,以 标记 节点(使用 kubernetes.io/role)并控制 控制平面 pod 的放置。

  • 成员

    K8s 社区中持续活跃的 贡献者

    [+]

    成员可以被分配问题和 PR,并通过 GitHub 团队参与 特殊兴趣小组 (SIG)。成员的 PR 会自动运行预提交测试。成员应保持对社区的积极贡献。

  • Minikube

    用于在本地运行 Kubernetes 的工具。

    [+]

    Minikube 在您的计算机上的 VM 内运行单节点集群。您可以使用 Minikube 在 学习环境中尝试 Kubernetes

  • 镜像 Pod

    pod 对象,kubelet 使用它来表示 静态 pod

    [+]

    当 kubelet 在其配置中找到一个静态 pod 时,它会自动尝试在 Kubernetes API 服务器上为其创建一个 Pod 对象。这意味着该 pod 将在 API 服务器上可见,但无法从那里控制。

    (例如,删除镜像 pod 不会阻止 kubelet 守护进程运行它)。

  • 混合版本代理 (MVP)
    也称为:MVP

    允许 kube-apiserver 将资源请求代理到不同的对等 API 服务器的功能。

    [+]

    当集群有多个运行不同版本的 Kubernetes 的 API 服务器时,此功能使资源请求能够由正确的 API 服务器提供服务。

    MVP 默认情况下处于禁用状态,可以通过在 API 服务器 启动时启用名为 UnknownVersionInteroperabilityProxy功能开关 来激活。

  • 名称

    客户端提供的字符串,用于引用资源 URL 中的对象,例如 /api/v1/pods/some-name

    [+]

    一次只能有一个给定类型对象具有给定名称。但是,如果您删除了该对象,则可以创建一个具有相同名称的新对象。

  • 命名空间

    Kubernetes 使用的抽象,用于支持在单个 集群 中隔离资源组。

    [+]

    命名空间用于组织集群中的对象,并提供一种划分集群资源的方法。资源的名称在命名空间内必须是唯一的,但在命名空间之间则不必是唯一的。基于命名空间的范围仅适用于命名空间对象(例如部署、服务等),而不适用于集群范围的对象(例如存储类、节点、持久卷等)

  • 网络策略

    Pod 组如何相互通信以及与其他网络端点通信的规范。

    [+]

    网络策略帮助您声明式地配置哪些 Pod 允许相互连接,哪些命名空间允许通信,以及更具体地说,要对每个策略强制执行哪些端口号。NetworkPolicy 资源使用标签来选择 Pod 并定义规则,这些规则指定允许哪些流量到达选定的 Pod。网络策略由网络提供商提供的受支持的网络插件实施。请注意,在没有控制器来实施网络资源的情况下创建网络资源将不会产生任何效果。

  • 节点

    节点是 Kubernetes 中的 worker 机器。

    [+]

    worker 节点可以是 VM 或物理机,具体取决于集群。它具有运行 Pod 所需的本地守护进程或服务,并由控制平面管理。节点上的守护进程包括 kubeletkube-proxy 以及实现 CRI 的容器运行时(如 Docker)。

    在早期的 Kubernetes 版本中,节点称为“Minion”。

  • 节点压力驱逐
    也称为:kubelet 驱逐

    节点压力驱逐是 kubelet 积极终止 pod 以回收节点上资源的过程。

    [+]

    kubelet 会监控集群节点上的 CPU、内存、磁盘空间和文件系统 inode 等资源。当这些资源中的一种或多种达到特定的消耗级别时,kubelet 可以积极地使节点上的一个或多个 pod 失败以回收资源并防止饥饿。

    节点压力驱逐与 API 驱动的驱逐 不同。

  • 对象

    Kubernetes 系统中的实体。Kubernetes API 使用这些实体来表示集群的状态。

    [+]

    Kubernetes 对象通常是“意图记录”——在您创建对象后,Kubernetes 控制平面 会不断努力确保它所代表的项目实际存在。通过创建对象,您实际上是在告诉 Kubernetes 系统希望集群工作负载的这一部分是什么样子;这是您集群的期望状态。

  • 操作员模式

    操作符模式是一种系统设计,它将一个操作符与一个或多个自定义资源关联起来。

    [+]

    除了 Kubernetes 自带的内置控制器外,你还可以通过在集群中添加控制器来扩展 Kubernetes。

    如果一个运行中的应用程序充当控制器,并且有 API 访问权限可以对控制平面中定义的自定义资源执行任务,那么这便是一个操作符模式的示例。

  • 持久卷

    一个 API 对象,表示集群中的一个存储块。作为一个通用的可插拔资源,它可以超越任何单个Pod的生命周期而持续存在。

    [+]

    持久卷(PV)提供了一个 API,将存储的提供方式与存储的消费方式区分开来。PV 在需要提前创建存储的场景中直接使用(静态配置)。对于需要按需存储的场景(动态配置),则使用持久卷声明(PVC)代替。

  • 持久卷声明

    声明一个持久卷中定义的存储资源,以便它可以作为卷挂载到容器中。

    [+]

    指定存储量、存储访问方式(只读、读写和/或独占)以及存储回收方式(保留、回收或删除)。存储本身的详细信息在持久卷对象中描述。

  • 平台开发人员

    一个根据项目需要定制 Kubernetes 平台的人。

    [+]

    例如,平台开发人员可以使用自定义资源使用聚合层扩展 Kubernetes API,为他们的 Kubernetes 实例添加功能,专门用于他们的应用程序。一些平台开发人员也是贡献者,并开发扩展,这些扩展被贡献给 Kubernetes 社区。另一些人则开发封闭源代码的商业扩展或特定于站点的扩展。

  • Pod

    Kubernetes 最小且最简单的对象。Pod 代表集群中运行的一组容器

    [+]

    Pod 通常被设置为运行单个主容器。它还可以运行可选的边车容器,这些容器添加补充功能,例如日志记录。Pod 通常由Deployment管理。

  • Pod 中断

    Pod 中断是指节点上的 Pod 被主动或被动终止的过程。

    [+]

    主动中断由应用程序所有者或集群管理员有意启动。被动中断是无意的,可能是由不可避免的问题触发,例如节点资源不足,或意外删除。

  • Pod 中断预算
    也称为:PDB

    一个Pod 中断预算允许应用程序所有者为一个复制的应用程序创建一个对象,该对象确保在任何时间点,具有指定标签的 Pod 的一定数量或百分比不会被主动驱逐。

    [+]

    PDB 无法阻止被动中断;但是,它们会计算在预算中。

  • Pod 生命周期

    Pod 在其生命周期中经历的状态序列。

    [+]

    一个Pod 生命周期是由 Pod 的状态或阶段定义的。Pod 有五个可能的阶段:Pending、Running、Succeeded、Failed 和 Unknown。Pod 状态的高级描述在PodStatusphase字段中进行了总结。

  • Pod 优先级

    Pod 优先级表示一个Pod相对于其他 Pod 的重要程度。

    [+]

    Pod 优先级可以设置 Pod 的调度优先级,使其高于或低于其他 Pod - 这是生产集群工作负载的一个重要功能。

  • Pod 安全策略

    启用Pod创建和更新的细粒度授权。

    [+]

    一个集群级资源,控制 Pod 规范的安全敏感方面。PodSecurityPolicy对象定义了一组条件,Pod 必须满足这些条件才能被系统接受,以及相关字段的默认值。Pod 安全策略控制是作为可选的准入控制器实现的。

    PodSecurityPolicy 从 Kubernetes v1.21 开始被弃用,并在 v1.25 中被移除。作为替代方案,请使用Pod 安全准入或第三方准入插件。

  • 抢占

    Kubernetes 中的抢占逻辑可以帮助一个待处理的Pod通过驱逐该节点上存在的低优先级 Pod 来找到合适的节点

    [+]

    如果 Pod 无法调度,调度器会尝试抢占低优先级 Pod,以便调度待处理的 Pod。

  • 优先级类

    优先级类是应该分配给该类 Pod 的调度优先级的命名类。

    [+]

    一个优先级类是一个非命名空间对象,将一个名称映射到一个用于 Pod 的整数优先级。名称在metadata.name字段中指定,优先级值在value字段中指定。优先级范围从 -2147483648 到 1000000000(含)。较高的值表示较高的优先级。

  • 探针

    一个检查,由kubelet定期对在 Pod 中运行的容器执行,该检查将定义容器的状态和健康状况,并通知容器的生命周期。

    [+]

    要了解更多信息,请阅读容器探针

  • 代理

    在计算中,代理是一个充当远程服务的中间服务器。

    [+]

    客户端与代理交互;代理将客户端的数据复制到实际服务器;实际服务器回复代理;代理将实际服务器的回复发送给客户端。

    kube-proxy是一个网络代理,运行在集群中的每个节点上,实现 Kubernetes服务概念的一部分。

    你可以将 kube-proxy 作为普通的用户空间代理服务运行。如果你的操作系统支持,你可以改为在混合模式下运行 kube-proxy,这种模式使用更少的系统资源来实现相同的整体效果。

  • QoS 类

    QoS 类(服务质量类)为 Kubernetes 提供了一种将集群中的 Pod 分成几个类并做出调度和驱逐决策的方法。

    [+]

    Pod 的 QoS 类是在创建时根据其计算资源请求和限制设置来设置的。QoS 类用于做出关于 Pod 调度和驱逐的决策。Kubernetes 可以将以下 QoS 类之一分配给 Pod:GuaranteedBurstableBestEffort

  • 数量

    使用SI后缀表示的小数或大数的整数表示。

    [+]

    数量是使用紧凑的整数表示法和 SI 后缀表示的小数或大数。分数用毫单位表示,而大数可以用千、兆或吉单位表示。

    例如,数字1.5表示为1500m,而数字1000可以表示为1k1000000可以表示为1M。你还可以指定二进制表示法后缀;数字 2048 可以写成2Ki

    接受的十进制(10 的幂)单位是m(毫)、k(千,故意小写)、M(兆)、G(吉)、T(太)、P(拍)、E(艾)。

    接受的二进制(2 的幂)单位是Ki(千)、Mi(兆)、Gi(吉)、Ti(太)、Pi(拍)、Ei(艾)。

  • RBAC(基于角色的访问控制)

    管理授权决策,允许管理员通过Kubernetes API动态配置访问策略。

    [+]

    RBAC 利用角色,其中包含权限规则,以及角色绑定,它们将角色中定义的权限授予一组用户。

  • 副本

    一个Pod或一组 Pod 的副本或复制品。副本通过维护 Pod 的多个相同实例来确保高可用性、可扩展性和容错性。

    [+]

    副本通常在 Kubernetes 中使用,以实现所需的应用程序状态和可靠性。它们可以将工作负载扩展和分布到集群中的多个节点。

    通过在 Deployment 或 ReplicaSet 中定义副本数量,Kubernetes 确保指定数量的实例正在运行,并根据需要自动调整数量。

    副本管理允许在 Kubernetes 集群中实现有效的负载均衡、滚动更新和自我修复功能。

  • 副本集

    一个副本集(旨在)在任何给定时间维护一组运行的副本 Pod。

    [+]

    工作负载对象,例如 Deployment,利用 ReplicaSets 来确保在集群中运行配置数量的 Pods,基于该 ReplicaSet 的规范。

  • ReplicationController

    一种管理复制应用程序的工作负载资源,确保运行特定数量的 Pod 实例。

    [+]

    即使一些 Pod 失败,手动删除 Pod,或错误地启动太多 Pod,控制平面也会确保运行定义数量的 Pod。

  • 资源配额

    提供限制每个 Namespace 的聚合资源消耗的约束。

    [+]

    限制可以按类型在 Namespace 中创建的对象数量,以及该项目中资源可能消耗的总计算资源。

  • 审阅者

    审阅代码质量和正确性的人员,负责项目的部分代码。

    [+]

    审阅者熟悉代码库和软件工程原理。审阅者身份限定于代码库的一部分。

  • Secret

    存储敏感信息,例如密码、OAuth 令牌和 SSH 密钥。

    [+]

    Secrets 让你更好地控制敏感信息的用途,降低意外暴露的风险。Secret 值以 base64 字符串编码,默认情况下未加密存储,但可以配置为 在静止状态下加密

    一个 Pod 可以通过多种方式引用 Secret,例如在卷挂载或环境变量中。Secrets 用于机密数据,而 ConfigMaps 用于非机密数据。

  • 安全上下文

    securityContext 字段定义了 Pod容器 的特权和访问控制设置。

    [+]

    securityContext 中,你可以定义:进程运行的用户、进程运行的组以及特权设置。你还可以配置安全策略(例如:SELinux、AppArmor 或 seccomp)。

    PodSpec.securityContext 设置适用于 Pod 中的所有容器。

  • 选择器

    允许用户根据 标签 筛选资源列表。

    [+]

    选择器在查询资源列表时应用,以根据标签对其进行筛选。

  • 服务

    一种暴露网络应用程序的方法,该应用程序作为集群中一个或多个 Pods 运行。

    [+]

    服务所针对的 Pod 集(通常)由 选择器 确定。如果添加或删除更多 Pod,与选择器匹配的 Pod 集将发生变化。服务确保可以将网络流量定向到工作负载的当前 Pod 集。

    Kubernetes 服务使用 IP 网络(IPv4、IPv6 或两者),或者引用域名系统 (DNS) 中的外部名称。

    服务抽象使 Ingress 和 Gateway 等其他机制成为可能。

  • 服务目录

    以前的一个扩展 API,它使在 Kubernetes 集群中运行的应用程序能够轻松地使用外部托管软件产品,例如云提供商提供的数据库服务。

    [+]

    它提供了一种列出、配置和绑定外部 托管服务 的方法,无需了解如何创建或管理这些服务。

  • ServiceAccount

    为在 Pod 中运行的进程提供身份。

    [+]

    当 Pod 内部的进程访问集群时,它们会通过 API 服务器以特定服务帐户进行身份验证,例如 default。当你创建一个 Pod 时,如果你没有指定服务帐户,它会自动分配给同一 Namespace 中的默认服务帐户。

  • 随机分片

    一种将请求分配到队列的技术,提供比模数散列到队列数量更好的隔离。

    [+]

    我们经常关注隔离不同的请求流,以便高强度流不会挤占低强度流。将请求放入队列的一种简单方法是对请求的某些特征进行散列,模数为队列的数量,以获得要使用的队列的索引。散列函数使用与流一致的请求特征作为输入。例如,在互联网中,这通常是源和目标地址、协议以及源和目标端口的 5 元组。

    这种简单的基于散列的方案具有以下特性:任何高强度流都会挤占散列到同一队列的所有低强度流。为大量流提供良好的隔离需要大量队列,这存在问题。随机分片是一种更灵活的技术,可以更好地隔离低强度流和高强度流。随机分片的术语使用从一副牌中发牌的隐喻;每个队列都是一张隐喻的卡片。随机分片技术从对请求的流标识特征进行散列开始,以生成具有几十甚至更多位的散列值。然后,使用散列值作为熵源来洗牌并发一副牌(队列)。检查所有发出的牌,并将请求放入长度最短的已检查牌之一。在手牌大小适度的情况下,检查所有发出的牌的成本并不高,并且给定的低强度流有很大的机会躲避给定高强度流的影响。在手牌大小很大的情况下,检查发出的牌的成本很高,低强度流更难躲避一组高强度流的集体影响。因此,应明智地选择手牌大小。

  • Sidecar 容器

    一个或多个 容器,通常在任何应用程序容器运行之前启动。

    [+]

    Sidecar 容器类似于常规应用程序容器,但目的不同:Sidecar 为主应用程序容器提供 Pod 本地服务。与 初始化容器 不同,Sidecar 容器在 Pod 启动后继续运行。

    阅读 Sidecar 容器 以了解更多信息。

  • SIG(特殊兴趣小组)

    社区成员,共同管理更大的 Kubernetes 开源项目中的持续部分或方面。

    [+]

    SIG 中的成员共同致力于推进特定领域,例如架构、API 机制或文档。SIG 必须遵循 SIG 治理指南,但可以有自己的贡献政策和沟通渠道。

    有关详细信息,请参阅 kubernetes/community 代码库和当前的 SIG 和工作组 列表。

  • 规范

    定义每个对象(如 Pod 或服务)的配置方式及其期望状态。

    [+]

    几乎每个 Kubernetes 对象都包含两个嵌套对象字段,它们控制对象的配置:对象规范和对象状态。对于具有规范的对象,你必须在创建对象时设置它,提供你希望资源具有的特征的描述:其期望状态。

    它对于不同的对象(如 Pod、StatefulSet 和服务)有所不同,详细说明了容器、卷、副本、端口等设置,
    以及每个对象类型特有的其他规范。该字段封装了 Kubernetes 应该为定义的
    对象维持的状态。

  • StatefulSet

    管理一组 Pods 的部署和扩展,并提供有关这些 Pod 的排序和唯一性的保证

    [+]

    Deployment 一样,StatefulSet 管理基于相同容器规范的 Pod。与 Deployment 不同,StatefulSet 为其每个 Pod 保持粘性身份。这些 Pod 是从相同的规范创建的,但不可互换:每个 Pod 都有一个持久标识符,它在任何重新调度中都保持不变。

    如果你想使用存储卷来为你的工作负载提供持久性,你可以使用 StatefulSet 作为解决方案的一部分。虽然 StatefulSet 中的单个 Pod 容易出现故障,但持久 Pod 标识符使得更容易将现有卷与替换任何已故障 Pod 的新 Pod 匹配。

  • 静态 Pod

    kubelet 守护进程直接管理的 Pod,位于特定节点上,

    [+]

    API 服务器无法观察到它。

    静态 Pod 不支持 临时的容器

  • 存储类

    存储类为管理员提供了一种描述不同可用存储类型的方法。

    [+]

    存储类可以映射到服务质量级别、备份策略或集群管理员确定的任意策略。每个存储类都包含字段 provisionerparametersreclaimPolicy,这些字段在需要动态配置属于该类的 持久卷 时使用。用户可以使用 StorageClass 对象的名称请求特定类。

  • sysctl

    sysctl 是一个半标准化的接口,用于读取或更改正在运行的 Unix 内核的属性。

    [+]

    在类 Unix 系统中,sysctl 既是管理员用来查看和修改这些设置的工具的名称,也是该工具使用的系统调用的名称。

    容器 运行时和网络插件可能依赖于以特定方式设置的 sysctl 值。

  • 污点

    一个核心对象,包含三个必需的属性:键、值和效果。污点阻止在 节点 或节点组上调度 Pod

    [+]

    污点和 容忍度 协同工作,以确保 Pod 不被调度到不合适的节点上。一个或多个污点应用于节点。节点应该只调度具有与配置的污点匹配的容忍度的 Pod。

  • 容忍度

    一个核心对象,包含三个必需的属性:键、值和效果。容忍度允许在具有匹配 污点 的节点或节点组上调度 Pod。

    [+]

    容忍度和 污点 协同工作,以确保 Pod 不被调度到不合适的节点上。一个或多个容忍度应用于 Pod。容忍度表明 Pod 被允许(但不是必须)调度到具有匹配 污点 的节点或节点组上。

  • UID

    Kubernetes 系统生成的字符串,用于唯一标识对象。

    [+]

    在整个 Kubernetes 集群的生命周期中创建的每个对象都有一个独特的 UID。它旨在区分类似实体的历史事件。

  • 上游(消歧义)

    可能指的是:核心 Kubernetes 或从其分叉的存储库。

    [+]
    • Kubernetes 社区中:对话通常使用 上游 来指代核心 Kubernetes 代码库,通用生态系统、其他代码或第三方工具依赖于该代码库。例如,社区成员 可能建议将一个功能移到上游,以便它位于核心代码库中,而不是位于插件或第三方工具中。
    • GitHubgit 中:约定是将源存储库称为 上游,而分叉的存储库被认为是 下游
  • 用户命名空间

    模拟 root 的内核功能。用于“无根容器”。

    [+]

    用户命名空间是 Linux 内核的一项功能,允许非 root 用户模拟超级用户(“root”)权限,例如为了在不作为容器外部的超级用户的情况下运行容器。

    用户命名空间对于减轻潜在容器突破攻击的损害有效。

    在用户命名空间的上下文中,命名空间是 Linux 内核的功能,而不是 Kubernetes 意义上的 命名空间

  • 一个包含数据的目录,可供 容器Pod 中访问。

    [+]

    Kubernetes 卷的生命周期与包含它的 Pod 一样长。因此,卷的生命周期比在 Pod 中运行的任何容器都要长,卷中的数据会在容器重启时保留。

    有关更多信息,请参阅 存储

  • 卷插件

    卷插件使存储能够集成到 Pod 中。

    [+]

    卷插件允许您连接和挂载存储卷,以便 Pod 使用。卷插件可以是 树内树外 的。树内 插件是 Kubernetes 代码库的一部分,并遵循其发布周期。树外 插件是独立开发的。

  • WG(工作组)

    为委员会、SIG 或跨 SIG 工作推动短期、狭窄或解耦项目的讨论和/或实施。

    [+]

    工作组是组织人员完成离散任务的一种方式。

    有关更多信息,请参阅 kubernetes/community 存储库和当前的 SIG 和工作组列表

  • 工作负载

    工作负载是在 Kubernetes 上运行的应用程序。

    [+]

    代表工作负载的不同类型或部分的各种核心对象包括 DaemonSet、Deployment、Job、ReplicaSet 和 StatefulSet 对象。

    例如,具有 Web 服务器和数据库的工作负载可能会在 StatefulSet 中运行数据库,并在 Deployment 中运行 Web 服务器。

上次修改于 2024 年 4 月 20 日下午 7:09 PST:为 vanilla Docsy 准备词汇表页面 (2f3602cef0)