创建 GKE 集群

先决条件

你需要在 Google Kubernetes Engine 中进行一些设置。

ServiceAccount 令牌

使用 Google Kubernetes Engine 创建服务帐号。GKE 使用这个账号来操作你的集群。创建此账号还会生成用于身份验证的私钥。

该 ServiceAccount 需要以下角色:

  • Compute Viewer: roles/compute.viewer
  • Project Viewer: roles/viewer
  • Kubernetes Engine Admin: roles/container.admin
  • Service Account User: roles/iam.serviceAccountUser

Google 文档:创建和启用 ServiceAccount

有关获取 ServiceAccount 的私钥的详细信息,请参阅此 Google 云文档。你需要将密钥保存为 JSON 格式。

Google 项目 ID

你的集群需要包括到谷歌项目中。

要创建新项目,请参阅此 Google 云文档

要获取现有项目的项目 ID,请参阅此 Google 云文档

配置 GKE 集群

创建 GKE 集群 - 图1警告

部署到 GKE 会产生费用。

1. 创建云凭证

  1. 点击 ☰ > 集群管理
  2. 在左侧导航栏中,单击云凭证
  3. 单击创建
  4. 输入你 Google 云凭证的名称。
  5. ServiceAccount 文本框中,粘贴你的 ServiceAccount 私钥 JSON,或上传 JSON 文件。
  6. 单击创建

结果:你已创建 Rancher 用于配置新 GKE 集群的凭证。

2. 创建 GKE 集群

使用 Rancher 配置你的 Kubernetes 集群。要使用 Rancher 成功创建 GKE 集群,GKE 必须处于 Standard 模式。GKE 在创建 Kubernetes 集群时有两种运行模式,分别是 Autopilot 和 Standard 模式。Autopilot 模式的集群配置对编辑 kube-system 命名空间有限制。但是,Rancher 在安装时需要在 kube-system 命名空间中创建资源。因此,你将无法创建 Autopilot 模式的 GKE 集群。如需详细了解 GKE Autopilot 模式和 Standard 模式之间的差异,请访问比较 GKE Autopilot 和 Standard

  1. 点击 ☰ > 集群管理
  2. 集群页面上,单击创建
  3. 单击 Google GKE
  4. 输入集群名称
  5. 可选:使用成员角色为集群配置用户授权。点击添加成员添加可以访问集群的用户。使用角色下拉菜单为每个用户设置权限。
  6. 可选:将 Kubernetes 标签注释添加到集群。
  7. 输入你的 Google 项目 ID 和 Google 云凭证。
  8. 完成表单的其余部分。如需帮助,请参阅 GKE 集群配置参考
  9. 单击创建

结果:你已成功部署 GKE 集群。

你已创建集群,集群的状态是配置中。Rancher 已在你的集群中。

当集群状态变为 Active 后,你可访问集群。

Active 状态的集群会分配到两个项目:

  • Default:包含 default 命名空间
  • System:包含 cattle-systemingress-nginxkube-publickube-system 命名空间。

私有集群

支持私有 GKE 集群。注意,此高级设置可能涉及更多步骤。有关详细信息,请参阅本节

配置参考

有关在 Rancher 中配置 GKE 集群的详细信息,请参阅此页面

更新 Kubernetes 版本

集群的 Kubernetes 版本可以升级到 GKE 集群所在区域或地区中可用的任何版本。升级 Kubernetes 主版本不会自动升级 Worker 节点。节点可以独立升级。

创建 GKE 集群 - 图2备注

GKE 在 1.19+ 中取消了基本身份验证。要将集群升级到 1.19+,必须在谷歌云中禁用基本身份认证。否则,在升级到 1.19+ 时,Rancher 会出现错误。你可以按照 Google 文档进行操作。然后,你就可以使用 Rancher 将 Kubernetes 版本更新到 1.19+。

同步

GKE 配置者可以在 Rancher 和提供商之间同步 GKE 集群的状态。有关其工作原理的技术说明,请参阅同步

有关配置刷新间隔的信息,请参阅本节

以编程方式创建 GKE 集群

通过 Rancher 以编程方式部署 GKE 集群的最常见方法是使用 Rancher 2 Terraform Provider。详情请参见使用 Terraform 创建集群