本页面介绍 Google Kubernetes Engine (GKE) 集群的架构。您的容器化 Kubernetes 工作负载都在 GKE 集群中运行。
GKE 集群由控制平面和称为节点的工作器机器组成。控制平面和节点构成 Kubernetes 集群编排系统。GKE Autopilot 管理集群的整个底层基础架构,包括控制平面、节点和所有系统组件。如果使用 GKE Standard 模式,则 GKE 会管理控制平面和系统组件,而您管理节点。
下图显示了 GKE 集群的架构:
关于控制平面
控制平面运行 Kubernetes API 服务器、调度器和核心资源控制器等进程。GKE 管理从集群创建到删除的控制平面生命周期。其中包括对控制平面上运行的 Kubernetes 版本的升级。该升级将由 GKE 自动执行;如果您希望提前升级,而不按计划自动升级,可以请求手动执行。
控制平面和 Kubernetes API
控制平面是集群的统一端点。您可以通过 Kubernetes API 调用与控制平面进行交互。控制平面运行 Kubernetes API 服务器进程 (kube-apiserver
) 以处理 API 请求。您可以通过以下方式进行 Kubernetes API 调用:
- 直接调用:HTTP/gRPC
- 间接调用:Kubernetes 命令行客户端,例如
kubectl
或 Google Cloud 控制台。
API 服务器进程是集群所有通信的中心。所有内部集群组件(如节点、系统进程和应用控制器)都充当 API 服务器的客户端。
您的 API 请求会告诉 Kubernetes 集群中对象的所需状态。Kubernetes 会尝试持续保持该状态。Kubernetes 允许您以命令方式或以声明方式配置 API 中的对象。
如需详细了解 Kubernetes 中的对象管理,请参阅以下页面:
控制平面与节点的交互
控制平面管理集群的所有节点上运行的内容。控制平面安排工作负载并管理工作负载的生命周期、扩缩和升级。此外,控制平面还会管理这些工作负载的网络和存储资源。控制平面和节点使用 Kubernetes API 相互通信。
控制平面与 Artifact Registry 的互动
当您创建或更新集群时,GKE 会从 pkg.dev
Artifact Registry 或 gcr.io
Container Registry 中拉取控制平面和节点上运行的 Kubernetes 系统软件的容器映像。如果发生影响这些注册表的中断,以下操作可能会失败:
- 创建新集群
- 集群版本升级
即使没有您的干预,也可能导致工作负载中断,具体取决于服务中断的具体性质和持续时间。
如果 pkg.dev
Artifact Registry 或 gcr.io
Container Registry 服务中断是区域性的,Google 可能会将请求重定向到不受中断影响的可用区或区域。
如需查看 Google Cloud 服务的状态,请转到 Google Cloud 状态信息中心。
关于节点
节点是运行容器化应用和其他工作负载的工作器机器。各个机器是 GKE 创建的 Compute Engine 虚拟机 (VM)。控制平面管理和接收每个节点自我报告状态的更新。
节点运行支持容器(容器构成了集群的工作负载)所必需的服务。这些服务包括运行时和 Kubernetes 节点代理 (kubelet
);该节点代理会与控制平面通信,并负责启动和运行被调度到该节点上的容器。
GKE 还运行多个系统节点,这些容器作为每个节点的代理(称为 DaemonSet)运行,可提供日志收集和集群内网络连接等功能。
节点管理因集群操作模式而异,如下所示:
节点组件 | AutoPilot 模式 | 标准模式 |
---|---|---|
Lifecycle | 由 GKE 完全管理,包括: |
GKE 管理以下各项:
您可以管理以下各项: |
公开范围 | 使用 kubectl 查看节点。无法通过 gcloud CLI 或 Google Cloud 控制台查看或访问的底层 Compute Engine 虚拟机。 |
使用 kubectl 、gcloud CLI 和 Google Cloud 控制台查看节点。查看和访问底层 Compute Engine 虚拟机。 |
连接 | 不直接连接至底层虚拟机。 | 使用 SSH 连接至底层虚拟机。 |
节点操作系统 (OS) | 由 GKE 管理。 所有节点都使用包含 containerd 的 Container-Optimized OS (cos_containerd )。 |
为您的节点选择操作系统。 |
机器硬件选择 | 根据用例请求 Pod 中的计算类。 GKE 管理机器配置、调度、数量和生命周期。 |
在创建节点池时选择并配置 Compute Engine 机器类型。根据需要配置大小调整、扩缩、数量、调度和位置的设置。 |