标准化词汇表
此术语表旨在提供 Kubernetes 术语的完整、标准列表。其中包含特定于 Kubernetes 的技术术语以及能够构造有用的语境的一般性术语。
根据标签过滤术语
点击 [+] 下面的指示符号获取特定术语的更为完整的描述。
- cgroup (控制组)
一组具有可选资源隔离、审计和限制的 Linux 进程。
[+]Cgroup 是一个 Linux 内核特性,对一组进程的资源使用(CPU、内存、磁盘 I/O 和网络等)进行限制、审计和隔离。
- CustomResourceDefinition
通过定制化的代码给您的 Kubernetes API 服务器增加资源对象,而无需编译完整的定制 API 服务器。
[+]当 Kubernetes 公开支持的 API 资源不能满足您的需要时,定制资源对象(Custom Resource Definitions)让您可以在您的环境上扩展 Kubernetes API。
- DaemonSet
确保 PodPod 是 Kubernetes 的原子对象。Pod 表示您的集群上一组正在运行的容器。 的副本在集群集群由一组被称作节点的机器组成。这些节点上运行 Kubernetes 所管理的容器化应用。集群具有至少一个工作节点和至少一个主节点。 中的一组节点上运行。
[+]用来部署系统守护进程,例如日志搜集和监控代理,这些进程通常必须运行在每个节点Kubernetes 中的工作机器称作节点。 上。
- Deployment
Deployment 是管理应用副本的 API 对象。
[+]应用的每个副本就是一个 PodPod 是 Kubernetes 的原子对象。Pod 表示您的集群上一组正在运行的容器。 ,并且这些 Pod 会分散运行在集群的节点上。
- Disruption
Disruptions are events that lead to one or more PodsThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. going out of service. A disruption has consequences for workload resources, such as DeploymentAn API object that manages a replicated application. , that rely on the affected Pods.
[+]If you, as cluster operator, destroy a Pod that belongs to an application, Kubernetes terms that a voluntary disruption. If a Pod goes offline because of a Node failure, or an outage affecting a wider failure zone, Kubernetes terms that an involuntary disruption.
See Disruptions for more information.
- docker
Docker 是一种可以提供操作系统级别虚拟化(也称作容器)的软件技术
[+]Docker 使用了 Linux 内核中的资源隔离特性(如 cgroup 和内核命名空间)以及支持联合文件系统(如 OverlayFS 和其他),允许多个相互独立的“容器”一起运行在同一 Linux 实例上,从而避免启动和维护虚拟机(VMs)的开销。
- Job
Job 是需要运行完成的确定性的或批量的任务。
[+]Job 创建一个或多个 PodPod 是 Kubernetes 的原子对象。Pod 表示您的集群上一组正在运行的容器。 对象,并确保指定数量的 Pod 成功终止。随着各 Pod 成功结束,Job 会跟踪记录成功完成的个数。
- kube-controller-manager
在主节点上运行控制器控制器通过 apiserver 监控集群的公共状态,并致力于将当前状态转变为期望的状态。 的组件。
[+]从逻辑上讲,每个控制器控制器通过 apiserver 监控集群的公共状态,并致力于将当前状态转变为期望的状态。 都是一个单独的进程,但是为了降低复杂性,它们都被编译到同一个可执行文件,并在一个进程中运行。
- kube-proxy
kube-proxy 是集群中每个节点上运行的网络代理,实现 Kubernetes Service将运行在一组 {{< glossary_tooltip text=“Pods” term_id=“pod” >}} 上的应用程序公开为网络服务的抽象方法。 概念的一部分。
[+]kube-proxy 维护节点上的网络规则。这些网络规则允许从集群内部或外部的网络会话与 Pod 进行网络通信。
如果有 kube-proxy 可用,它将使用操作系统数据包过滤层。否则,kube-proxy 会转发流量本身。
- Kubectl
kubectl 是用来和 Kubernetes APIKubernetes API 是通过 RESTful 接口提供 Kubernetes 功能服务并负责集群状态存储的应用程序。 服务器进行通信的命令行工具。
[+]您可以使用 kubectl 创建、检查、更新和删除 Kubernetes 对象。
- Kubelet
一个在集群中每个节点上运行的代理。它保证容器都运行在 Pod 中。
[+]kubelet 接收一组通过各类机制提供给它的 PodSpecs,确保这些 PodSpecs 中描述的容器处于运行状态且健康。kubelet 不会管理不是由 Kubernetes 创建的容器。
- Kubernetes API
Kubernetes API 是通过 RESTful 接口提供 Kubernetes 功能服务并负责集群状态存储的应用程序。
[+]Kubernetes 资源和”意向记录”都是作为 API 对象储存的,并可以通过对 API 的 RESTful 调用进行修改。 API 允许以声明方式管理配置。 用户可以直接和 Kubernetes API 交互,也可以通过
kubectl
这样的工具进行交互。 核心的 Kubernetes API 是很灵活的,可以扩展以支持定制资源。 - LimitRange
提供约束来限制命名空间中每个 容器容器是可移植、可执行的轻量级的镜像,镜像中包含软件及其相关依赖。 或 PodPod 是 Kubernetes 的原子对象。Pod 表示您的集群上一组正在运行的容器。 的资源消耗。
[+]LimitRange 按照类型来限制命名空间中对象能够创建的数量,以及单个 容器容器是可移植、可执行的轻量级的镜像,镜像中包含软件及其相关依赖。 或 PodPod 是 Kubernetes 的原子对象。Pod 表示您的集群上一组正在运行的容器。 可以请求/使用的计算资源量。
- Manifest
Specification of a Kubernetes API object in JSON or YAML format.
[+]A manifest specifies the desired state of an object that Kubernetes will maintain when you apply the manifest. Each configuration file can contain multiple manifests.
- Pod
Pod 是 Kubernetes 的原子对象。Pod 表示您的集群上一组正在运行的容器容器是可移植、可执行的轻量级的镜像,镜像中包含软件及其相关依赖。 。
[+]通常创建 Pod 是为了运行单个主容器。Pod 还可以运行可选的挂斗(sidecar)容器,以添加诸如日志记录之类的补充特性。通常用 DeploymentDeployment 是管理应用副本的 API 对象。 来管理 Pod。
- Pod 安全策略
为 Pod 的创建和更新操作启用细粒度的授权。
[+]Pod 安全策略是集群级别的资源,它控制着 Pod 规约中的安全性敏感的内容。
PodSecurityPolicy
对象定义了一组条件以及相关字段的默认值,Pod 运行时必须满足这些条件。Pod 安全策略控制实现上体现为一个可选的准入控制器。 - QoS 类
QoS Class(Quality of Service Class)为 Kubernetes 提供了一种将集群中的 Pod 分为几个类型并做出有关调度和驱逐决策的方法。
[+]Pod 的 QoS 类是基于 Pod 在创建时配置的计算资源请求和限制。QoS 类用于制定有关 Pod 调度和逐出的决策。 Kubernetes 可以为 Pod 分配以下 QoS 类:
Guaranteed
,Burstable
或者BestEffort
。 - RBAC(基于角色的访问控制)
管理授权决策,允许管理员通过 Kubernetes APIKubernetes API 是通过 RESTful 接口提供 Kubernetes 功能服务并负责集群状态存储的应用程序。 动态配置访问策略。
[+]RBAC 使用 角色 (包含权限规则)和 角色绑定 (将角色中定义的权限授予一组用户)。
- ReplicaSet
ReplicaSet 是下一代副本控制器。
[+]ReplicaSet 就像 ReplicationController 那样,确保一次运行指定数量的 Pod 副本。ReplicaSet 支持新的基于集合的选择器需求(在标签的用户指南中有相关描述),而副本控制器只支持基于等值的选择器需求。
- Service
将运行在一组 PodsPod 是 Kubernetes 的原子对象。Pod 表示您的集群上一组正在运行的容器。 上的应用程序公开为网络服务的抽象方法。
[+]服务所针对的Pod集(通常)由 selector选择算符允许用户通过标签对一组资源对象进行筛选过滤。 确定。 如果添加或删除了更多Pod,则与选择器匹配的Pod集将发生变化。 该服务确保可以将网络流量定向到该工作负载的当前Pod集。
- StatefulSet
StatefulSet 用来管理 Deployment 和扩展一组 Pod,并且能为这些 Pod 提供*序号和唯一性保证*。
[+]和 DeploymentDeployment 是管理应用副本的 API 对象。 相同的是,StatefulSet 管理了基于相同容器定义的一组 Pod。但和 Deployment 不同的是,StatefulSet 为它们的每个 Pod 维护了一个固定的 ID。这些 Pod 是基于相同的声明来创建的,但是不能相互替换:无论怎么调度,每个 Pod 都有一个永久不变的 ID。
StatefulSet 和其他控制器使用相同的工作模式。你在 StatefulSet 对象 中定义你期望的状态,然后 StatefulSet 的 控制器 就会通过各种更新来达到那种你想要的状态。
- 临时容器
您可以在 PodPod 是 Kubernetes 的原子对象。Pod 表示您的集群上一组正在运行的容器。 中临时运行的一种 容器容器是可移植、可执行的轻量级的镜像,镜像中包含软件及其相关依赖。 类型
[+]如果想要调查运行中有问题的 Pod,可以向该 Pod 添加一个临时容器并进行诊断。临时容器没有资源或调度保证,因此不应该使用它们来运行任何部分的工作负荷本身。
- 初始化容器
应用容器运行前必须先运行完成的一个或多个初始化容器。
[+]初始化(init)容器像常规应用容器一样,只有一点不同:初始化(init)容器必须在应用容器启动前运行完成。Init 容器的运行顺序:一个初始化(init)容器必须在下一个初始化(init)容器开始前运行完成。
- 卷
包含可被 podPod 是 Kubernetes 的原子对象。Pod 表示您的集群上一组正在运行的容器。 中容器访问的数据的目录。
[+]每个 Kubernetes 卷在所处的podPod 是 Kubernetes 的原子对象。Pod 表示您的集群上一组正在运行的容器。 存在期间保持存在状态。 因此,卷的生命期会超出 podPod 是 Kubernetes 的原子对象。Pod 表示您的集群上一组正在运行的容器。 中运行的容器容器是可移植、可执行的轻量级的镜像,镜像中包含软件及其相关依赖。 , 并且保证容器容器是可移植、可执行的轻量级的镜像,镜像中包含软件及其相关依赖。 重启之后仍保留数据。
- 命名空间
命名空间是 Kubernetes 为了在同一物理集群上支持多个虚拟集群而使用的一种抽象。
[+]命名空间用来组织集群中对象,并为集群资源划分提供了一种方法。同一命名空间内的资源名称必须唯一,但跨命名空间时不作要求。
- 容器环境变量
容器环境变量提供了运行容器化应用所必须的一些重要信息。
[+]容器环境变量为运行中的容器化应用提供必要的信息,同时还提供与 容器容器是可移植、可执行的轻量级的镜像,镜像中包含软件及其相关依赖。 重要资源相关的其他信息,例如:文件系统信息、容器自身的信息以及其他像服务端点(Service endpoints)这样的集群资源信息。
- 容器运行环境(Container Runtime)
容器运行环境是负责运行容器的软件。
[+]Kubernetes 支持多个容器运行环境: Docker、 containerd、cri-o、 rktlet 以及任何实现 Kubernetes CRI (容器运行环境接口)。
- 容忍度
一个核心对象,由三个必需的属性组成:key、value 和 effect。 容忍度允许将 Pod 调度到具有匹配 污点一个核心对象,由三个必需的属性组成:键,值和效果。污点会阻止在节点或节点组上调度 Pod。 的节点或节点组上。
[+]容忍度 和 污点一个核心对象,由三个必需的属性组成:键,值和效果。污点会阻止在节点或节点组上调度 Pod。 共同作用以确保不会将 Pod 调度在不适合的节点上。在同一 podPod 是 Kubernetes 的原子对象。Pod 表示您的集群上一组正在运行的容器。 上可以设置一个或者多个容忍度。容忍度表示在匹配节点或节点组上的 污点一个核心对象,由三个必需的属性组成:键,值和效果。污点会阻止在节点或节点组上调度 Pod。 调度 podPod 是 Kubernetes 的原子对象。Pod 表示您的集群上一组正在运行的容器。 是允许的(但不必要)。
- 工作负载
工作负载是在 Kubernetes 上运行的应用程序。
[+]代表不同类型或部分工作负载的各种核心对象包括 DaemonSet, Deployment, Job, ReplicaSet, and StatefulSet。
例如,具有 Web 服务器和数据库的工作负载可能在一个 StatefulSetStatefulSet 用来管理 Deployment 和伸缩一组 Pod,并且能为这些 Pod 提供*序号和唯一性保证*。 中运行数据库,而 Web 服务器运行在 DeploymentDeployment 是管理应用副本的 API 对象。 。
- 应用The layer where various containerized applications run. aka: tags: - fundamental --- -- 各种容器化应用运行所在的层。 [+]
各种容器化应用运行所在的层。
- 控制器
控制器通过 apiserver主节点上负责提供 Kubernetes API 服务的组件;它是 Kubernetes 控制面的前端。 监控集群的公共状态,并致力于将当前状态转变为期望的状态。
[+]Kubernetes 当前提供的部分控制器例子包括:副本控制器(replication controller)、端点控制器(endpoints controller)、命名空间控制器(namespace controller)、服务账号控制器(serviceaccounts controller)。
- 控制平面The container orchestration layer that exposes the API and interfaces to define, deploy, and manage the lifecycle of containers. aka: tags: - fundamental --- -- 容器编排层,它暴露 API 和接口来定义、部署容器和管理容器的生命周期。 [+]
容器编排层,它暴露 API 和接口来定义、部署容器和管理容器的生命周期。
- 数据平面
提供诸如 CPU,内存,网络和存储的能力,以便容器可以运行并连接到网络。
[+] - 日志
日志是 集群集群由一组被称作节点的机器组成。这些节点上运行 Kubernetes 所管理的容器化应用。集群具有至少一个工作节点和至少一个主节点。 或应用程序记录的事件列表。
[+]应用程序和系统日志可以帮助您了解集群内部发生的情况。日志对于调试问题和监视集群活动非常有用。
- 服务账户
为在 PodPod 是 Kubernetes 的原子对象。Pod 表示您的集群上一组正在运行的容器。 中运行的进程提供标识。
[+]当 Pod 中的进程访问集群时,API 服务器将它们作为特定的服务帐户进行身份验证,例如
default
。当您创建 Pod 时,如果您没有指定服务帐户,它将在相同的命名空间 命名空间命名空间是 Kubernetes 为了在同一物理集群上支持多个虚拟集群而使用的一种抽象。 中自动分配 default 服务账户。 - 标签
用来为对象设置可标识的属性标记;这些标记对用户而言是有意义且重要的。
[+]标签是一些关联到 PodsPod 是 Kubernetes 的原子对象。Pod 表示您的集群上一组正在运行的容器。 这类对象上的键值对。 它们通常用来组织和选择对象子集。
- 污点
一个核心对象,由三个必需的属性组成:键,值和效果。污点会阻止在节点或节点组上调度 Pod。
[+]污点和 容忍度一个核心对象,由三个必需的属性组成:key、value 和 effect。容忍度允许将 Pod 调度到具有对应污点的节点或节点组上。 一起工作,以确保不会将 Pod 调度到不适合的节点上。一个或多个污点应用于 节点Kubernetes 中的工作机器称作节点。 。节点应该仅能调度那些带着能与污点相匹配容忍度的 pod。
- 注解
注解是以键值对的形式给资源对象附加随机的无法标识的元数据。
[+]注解中的元数据可大可小,可以是结构化的也可以是非结构化的,并且能包含标签不允许使用的字符。像工具和软件库这样的客户端可以检索这些元数据。
- 节点
Kubernetes 中的工作机器称作节点。
[+]工作机器可以是虚拟机也可以是物理机,取决于集群的配置。 其上部署了运行 PodsPod 是 Kubernetes 的原子对象。Pod 表示您的集群上一组正在运行的容器。 所必需的服务将运行在一组 {{< glossary_tooltip text=“Pods” term_id=“pod” >}} 上的应用程序公开为网络服务的抽象方法。 , 并由主控组件来管理。 节点上的服务将运行在一组 {{< glossary_tooltip text=“Pods” term_id=“pod” >}} 上的应用程序公开为网络服务的抽象方法。 包括 Docker、kubelet 和 kube-proxy。
- 资源配额
资源配额提供了限制每个 命名空间命名空间是 Kubernetes 为了在同一物理集群上支持多个虚拟集群而使用的一种抽象。 的资源消耗总和的约束。
[+]限制了命名空间中每种对象可以创建的数量,也限制了项目中可被资源对象利用的计算资源总数。
- 镜像
镜像是保存的容器实例,它打包了应用运行所需的一组软件。
[+]镜像是软件打包的一种方式,可以将镜像存储在容器镜像仓库、拉取到本地系统并作为应用来运行。 镜像中包含的元数据指明了运行什么可执行程序、是由谁构建的以及其他信息。
- 集群
集群由一组被称作节点的机器组成。这些节点上运行 Kubernetes 所管理的容器化应用。集群具有至少一个工作节点和至少一个主节点。
[+]工作节点托管作为应用程序组件的 Pod 。主节点管理集群中的工作节点和 Pod 。多个主节点用于为集群提供故障转移和高可用性。
- 驱动插件
设备插件是在 Kubernetes 中运行的容器,可用于访问供应商特定资源。
[+]驱动插件 是运行在 Kubernetes 中的容器,它提供对供应商特定资源的访问。驱动插件将这些资源发布到 Kubelet一个在集群中每个节点上运行的代理。它保证容器都运行在 Pod 中。 。并且可以手动部署或做为 DaemonSet确保 Pod 的副本在集群中的一组节点上运行。 ,而不用编写定制的 Kubernetes 代码。
反馈
此页是否对您有帮助?
感谢反馈。如果您有一个关于如何使用 Kubernetes 的特定的、需要答案的问题,可以访问 Stack Overflow. 在 GitHub 仓库上登记新的问题 报告问题 或者 提出改进建议.