跳到主要内容
版本:Latest

创建 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. 创建云凭证

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

同步

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

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

以编程方式创建 GKE 集群

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