新版 GKE on AWS 已于 8 月 27 日发布。如需了解重大更改,请参阅版本说明

GKE on AWS 架构

概览

GKE on AWS 是一款混合云软件,可将 Google Kubernetes Engine (GKE) 扩展到 Amazon Web Services (AWS)。借助 GKE on AWS,您可以在 AWS 环境中创建、管理和升级 GKE 集群。

GKE on AWS 使用常规 AWS 资源,例如 Elastic Compute Cloud (EC2)Elastic Block Storage (EBS)Elastic Load Balancer (ELB)

架构

GKE on AWS 有两个组件。

  1. Anthos 管理服务:一种可以安装和更新用户集群的环境。
  2. 用户集群:运行工作负载的 GKE 集群。

本主题介绍 Anthos 管理服务和用户集群的用途和架构。

GKE on AWS 安装的架构,显示管理服务和包含控制平面和 AWSNodePool 的 AWSCluster

管理服务

Anthos 管理服务提供和管理 GKE on AWS 安装的组件。例如,您可以使用管理服务创建 Anthos GKE 集群。管理服务通过 AWS API 预配资源。

您可以在专用 AWS VPC现有 AWS VPC 中创建管理服务。

运行 GKE on AWS 的每个 AWS Virtual Private Cloud (VPC) 中都需要一个管理服务。管理服务安装在一个 AWS 可用性区域中。您只需为每个 VPC 设置一个管理服务;一个管理服务可以管理多个用户集群。

管理服务的主要组件是集群运算符。集群运算符是一种 Kubernetes 运算符,用于创建和管理 AWSCluster 和 AWSNodePool。集群运算符将配置存储在 etcd 数据库中,存储永久保存在 AWS EBS 卷中。

安装和配置管理服务

本部分介绍可用于管理您的管理服务的工具。

anthos-gke 工具

您可以使用 anthos-gke 命令行工具创建和管理集群。如需了解详情,请参阅 anthos-gke 工具

沟通

借助 Connect,您可以从 Google Cloud Console 的同一界面中查看和登录 Google Cloud 上的 GKE on AWS 和 GKE 集群。所有资源都显示在一个信息中心中,因此您可以查看多个 Kubernetes 集群中的工作负载。

用户集群

用户集群包括两个组件,均为管理服务中的 Kubernetes 自定义资源:

  1. 一个用于 GKE on AWS 集群的控制平面。
  2. 一个或多个 AWSNodePool。

AWSCluster

默认 GKE on AWS 安装将创建一个包含三个控制平面副本的 AWSCluster,这三个副本位于同一个可用性区域中。管理服务将控制平面放置在 AWS 网络负载平衡器 (NLB) 后面的专用子网中。管理服务使用 NLB 与控制平面进行互动。

如需跨多个 AWS 可用性区域创建控制平面,请参阅高可用性用户集群

每个控制平面都将配置存储在本地 etcd 数据库中。这些数据库会在堆叠式高可用性拓扑中进行复制和设置。

一个控制平面管理一个或多个 AWSNodePool。

AWSNodePool

AWSNodePool 的功能类似于 Google Cloud 上的 GKE 节点池。节点池是集群中全都具有相同配置的一组节点。节点池使用 AWSNodePool 资源,并且可以包含一个或多个节点。

问题排查

您可以通过从 AWSCluster 和 AWSNodePool 查看 Kubernetes 事件来排查 GKE on AWS 安装问题。如需了解详情,请参阅问题排查指南。

后续步骤