×

关于节点

节点是Kubernetes集群中的虚拟机或裸机。工作节点托管您的应用程序容器,这些容器被分组为Pod。控制平面节点运行控制Kubernetes集群所需的的服务。在OpenShift Container Platform中,控制平面节点包含的不仅仅是管理OpenShift Container Platform集群的Kubernetes服务。

集群中拥有稳定且健康的节点对于托管应用程序的平稳运行至关重要。在 OpenShift Container Platform 中,您可以通过代表节点的Node对象访问、管理和监控节点。使用 OpenShift CLI (oc) 或 Web 控制台,您可以对节点执行以下操作。

节点的以下组件负责维护 Pod 的运行并提供 Kubernetes 运行时环境。

容器运行时

容器运行时负责运行容器。Kubernetes 提供多种运行时,例如 containerd、cri-o、rktlet 和 Docker。

Kubelet

Kubelet 运行在节点上并读取容器清单。它确保已定义的容器已启动并正在运行。kubelet 进程维护工作状态和节点服务器。Kubelet 管理网络规则和端口转发。Kubelet 只管理 Kubernetes 创建的容器。

Kube-proxy

Kube-proxy 运行在集群中的每个节点上,并维护 Kubernetes 资源之间的网络流量。Kube-proxy 确保网络环境隔离且可访问。

DNS

集群 DNS 是一个 DNS 服务器,它为 Kubernetes 服务提供 DNS 记录。Kubernetes 启动的容器会自动在其 DNS 搜索中包含此 DNS 服务器。

Overview of control plane and worker node

读取操作

读取操作允许管理员或开发人员获取有关 OpenShift Container Platform 集群中节点的信息。

管理操作

作为管理员,您可以通过以下几项任务轻松管理 OpenShift Container Platform 集群中的节点

增强操作

OpenShift Container Platform 允许您执行的操作不仅仅是访问和管理节点;作为管理员,您可以对节点执行以下任务,以使集群更高效、更易于应用程序使用,并为开发人员提供更好的环境。

关于 Pod

Pod 是一个或多个一起部署在节点上的容器。作为集群管理员,您可以定义 Pod,将其分配到准备好进行调度的健康节点上,并进行管理。只要容器正在运行,Pod 就一直运行。一旦定义并运行 Pod,就不能更改它。处理 Pod 时可以执行的一些操作包括

读取操作

作为管理员,您可以通过以下任务获取项目中 Pod 的信息

管理操作

以下任务列表概述了管理员如何管理 OpenShift Container Platform 集群中的 Pod。

增强操作

借助 OpenShift Container Platform 中提供的各种工具和功能,您可以更轻松、更高效地处理 Pod。以下操作涉及使用这些工具和功能来更好地管理 Pod。

操作 用户 更多信息

创建和使用水平 Pod 自动缩放器。

开发者

您可以使用水平 Pod 自动伸缩器来指定要运行的 Pod 的最小数量和最大数量,以及 Pod 应该达到的 CPU 利用率或内存利用率。使用水平 Pod 自动伸缩器,您可以自动扩展 Pod

安装和使用垂直 Pod 自动伸缩器.

管理员和开发者

作为管理员,您可以使用垂直 Pod 自动伸缩器通过监控工作负载的资源和资源需求来更好地利用集群资源。

作为开发者,您可以使用垂直 Pod 自动伸缩器通过将 Pod 调度到具有足够资源的节点上来确保您的 Pod 在高需求期间保持运行。

使用设备插件提供对外部资源的访问。

管理员

设备插件是在节点上运行的 gRPC 服务(位于 kubelet 之外),它管理特定的硬件资源。您可以部署设备插件,以提供一个一致且可移植的解决方案,以便在集群之间使用硬件设备。

使用Secret 对象向 Pod 提供敏感数据。

管理员

某些应用程序需要敏感信息,例如密码和用户名。您可以使用Secret 对象向应用程序 Pod 提供此类信息。

关于容器

容器是 OpenShift Container Platform 应用程序的基本单元,它包含打包在一起的应用程序代码及其依赖项、库和二进制文件。容器提供跨环境和多个部署目标的一致性:物理服务器、虚拟机 (VM) 和私有或公共云。

Linux 容器技术是隔离运行进程和限制其仅访问指定资源的轻量级机制。作为管理员,您可以对 Linux 容器执行各种任务,例如

OpenShift Container Platform 提供称为Init 容器的专用容器。Init 容器在应用程序容器之前运行,并且可以包含应用程序镜像中不存在的实用程序或设置脚本。您可以使用 Init 容器在部署 Pod 的其余部分之前执行任务。

除了对节点、Pod 和容器执行特定任务之外,您还可以使用整个 OpenShift Container Platform 集群来保持集群效率和应用程序 Pod 的高可用性。

关于节点上 Pod 的自动伸缩

OpenShift Container Platform 提供三种工具,您可以使用这些工具自动扩展节点上 Pod 的数量以及分配给 Pod 的资源。

水平 Pod 自动伸缩器

水平 Pod 自动伸缩器 (HPA) 可以根据从属于该复制控制器或部署配置的 Pod 收集的指标,自动增加或减少复制控制器或部署配置的规模。

有关更多信息,请参见使用水平 Pod 自动伸缩器自动扩展 Pod

自定义指标自动伸缩器

自定义指标自动伸缩器可以根据非基于 CPU 或内存的自定义指标,自动增加或减少部署、StatefulSet、自定义资源或作业的 Pod 数量。

有关更多信息,请参见自定义指标自动伸缩器 Operator 概述

垂直 Pod 自动伸缩器

垂直 Pod 自动伸缩器 (VPA) 可以自动检查 Pod 中容器的历史和当前 CPU 和内存资源,并可以根据其学习到的使用值更新资源限制和请求。

OpenShift Container Platform 节点的常用术语表

此术语表定义了在节点内容中使用的常用术语。

容器

它是一个轻量级且可执行的镜像,包含软件及其所有依赖项。容器虚拟化操作系统,因此,您可以从数据中心到公共或私有云,甚至开发人员的笔记本电脑在任何地方运行容器。

守护程序集

确保 Pod 的副本在 OpenShift Container Platform 集群中的合格节点上运行。

出口流量

通过网络从 Pod 发出的出站流量,进行外部数据共享的过程。

垃圾回收

清理集群资源的过程,例如任何正在运行的 Pod 都未引用的已终止容器和镜像。

水平 Pod 自动伸缩器 (HPA)

作为 Kubernetes API 资源和控制器实现。您可以使用 HPA 来指定要运行的 Pod 的最小数量和最大数量。您还可以指定 Pod 应该达到的 CPU 或内存利用率。当达到给定的 CPU 或内存阈值时,HPA 会扩展和缩减 Pod。

入口流量

进入 Pod 的流量。

作业

运行到完成的进程。作业创建一个或多个 Pod 对象,并确保成功完成指定的 Pod。

标签

您可以使用键值对标签来组织和选择对象的子集,例如 Pod。

节点

OpenShift Container Platform 集群中的工作机器。节点可以是虚拟机 (VM) 或物理机。

节点调整 Operator

您可以使用节点调整 Operator 通过使用 TuneD 守护程序来管理节点级调整。它确保自定义调整规范以守护程序理解的格式传递给集群中运行的所有容器化 TuneD 守护程序。守护程序在集群中的所有节点上运行,每个节点一个。

自节点修复 Operator

Operator 在集群节点上运行,并识别并重新引导不健康的节点。

Pod

一个或多个具有共享资源(例如卷和 IP 地址)的容器,在您的 OpenShift Container Platform 集群中运行。Pod 是定义、部署和管理的最小计算单元。

容忍度

指示允许(但不强制要求)将 Pod 调度到具有匹配污点的节点或节点组上。您可以使用容忍度来启用调度程序调度具有匹配污点的 Pod。

污点

一个核心对象,包含键、值和效果。污点和容忍度协同工作以确保 Pod 不被调度到不相关的节点上。