第 6 章 在 GCP 上安装

6.1. 配置 GCP 项目

在安装 OpenShift Container Platform 之前,您必须配置 Google Cloud Platform (GCP) 项目来托管它。

6.1.1. 创建一个 GCP 项目

为了安装 OpenShift Container Platform,您必须在您的 Google Cloud Platform (GCP) 账户中创建一个项目来托管它。

流程

  • 创建一个项目来托管您的 OpenShift Container Platform 集群。请参阅 GCP 文档中的创建和管理项目

    重要

    如果您使用安装程序置备的基础架构,您的 GCP 项目必须使用 Premium Network Service Tier。使用安装程序安装的集群不支持 Standard Network Service Tier。安装程序为 api-int.<cluster_name>.<base_domain> URL 配置内部负载均衡 ; 内部负载均衡需要 Premium Tier。

6.1.2. 在 GCP 中启用 API 服务

Google Cloud Platform (GCP) 项目需要访问一些 API 服务来完成 OpenShift Container Platform 安装。

先决条件

  • 创建了用于托管集群的项目。

流程

  • 在托管集群的项目中启用如下所需的 API 服务。请参阅 GCP 文档中的启用服务

    表 6.1. 所需的 API 服务

    API 服务控制台服务名称

    compute Engine API

    compute.googleapis.com

    Google Cloud API

    cloudapis.googleapis.com

    Cloud Resource Manager API

    cloudresourcemanager.googleapis.com

    Google DNS API

    dns.googleapis.com

    IAM Service Account Credentials API

    iamcredentials.googleapis.com

    Identity and Access Management (IAM) API

    iam.googleapis.com

    Service Management API

    servicemanagement.googleapis.com

    Service Usage API

    serviceusage.googleapis.com

    Google Cloud Storage JSON API

    storage-api.googleapis.com

    Cloud Storage

    storage-component.googleapis.com

6.1.3. 为 GCP 配置 DNS

要安装 OpenShift Container Platform,您使用的 Google Cloud Platform (GCP) 帐户必须在托管 OpenShift Container Platform 集群的同一项目中有一个专用的公共托管区。此区域必须对域具有权威。DNS 服务为集群外部连接提供集群 DNS 解析和名称查询。

流程

  1. 标识您的域或子域,以及注册商(registrar)。您可以转移现有的域和注册商,或通过 GCP 或其他来源获取新的域和注册商。

    注意

    如果您购买新域,则需要时间来传播相关的 DNS 更改。有关通过 Google 购买域的更多信息,请参阅 Google Domains

  2. 在 GCP 项目中为您的域或子域创建一个公共托管区。请参阅 GCP 文档中的创建公共区

    使用合适的根域(如 openshiftcorp.com)或子域(如 clusters.openshiftcorp.com)。

  3. 从托管区记录中提取新的权威名称服务器。请参阅 GCP 文档中的查找您的云 DNS 名称服务器

    您通常有四个名称服务器。

  4. 更新域所用名称服务器的注册商记录。例如,如果您将域注册到了 Google Domains,请参阅 Google Domains 帮助中的以下主题:如何切换到自定义名称服务器
  5. 如果您将根域迁移到 Google Cloud DNS,请迁移您的 DNS 记录。请参阅 GCP 文档中的 Migrating to Cloud DNS
  6. 如果您使用子域,请按照您公司的流程将其委派记录添加到父域。这个过程可能包括对您公司的 IT 部门或控制您公司的根域和 DNS 服务的部门提出请求。

6.1.4. GCP 帐户限值

OpenShift Container Platform 集群使用诸多 Google Cloud Platform (GCP) 组件,默认的配额不会影响您安装默认 OpenShift Container Platform 集群的能力。

默认集群中包含三台计算机器和三台 control plane 机器,使用了以下资源。请注意,一些资源只在 bootstrap 过程中需要,会在集群部署后删除。

表 6.2. 默认集群中使用的 GCP 资源

服务组件位置所需的资源总数bootstrap 后删除的资源

服务帐户

IAM

全局

5

0

防火墙规则

Compute

全局

11

1

转发规则

Compute

全局

2

0

使用的全局 IP 地址

Compute

全局

4

1

健康检查

Compute

全局

3

0

镜像

Compute

全局

1

0

网络

Compute

全局

2

0

静态 IP 地址

Compute

区域

4

1

路由器

Compute

全局

1

0

Routes

Compute

全局

2

0

子网

Compute

全局

2

0

目标池

Compute

全局

3

0

CPU

Compute

区域

28

4

持久性磁盘 SSD (GB)

Compute

区域

896

128

注意

如果在安装过程中存在任何配额不足的情况,安装程序会显示一个错误信息,包括超过哪个配额,以及相关的区域。

请考虑您的集群的实际大小、预定的集群增长以及来自与您的帐户关联的其它集群的使用情况。CPU 、静态 IP 地址和持久性磁盘 SSD (storage) 配额是最可能不足的。

如果您计划在以下区域之一部署集群,您将超过最大存储配额,并可能会超过 CPU 配额限制:

  • asia-east2
  • asia-northeast2
  • asia-south1
  • domain-southeast1
  • europe-north1
  • europe-west2
  • europe-west3
  • europe-west6
  • northamerica-northeast1
  • southamerica-east1
  • us-west2

您可以从 GCP 控制台增加资源配额,但可能需要提交一个支持问题单。务必提前规划集群大小,以便在安装 OpenShift Container Platform 集群前有足够的时间来等待支持问题单被处理。

6.1.5. 在 GCP 中创建服务帐户

OpenShift Container Platform 需要一个 Google Cloud Platform (GCP) 服务帐户,用于访问 Google API 中数据的验证和授权。如果您没有包含项目中所需角色的现有 IAM 服务帐户,您必须创建一个。

先决条件

  • 创建了用于托管集群的项目。

流程

  1. 在用于托管 OpenShift Container Platform 集群的项目中,创建一个新服务帐户。请参阅 GCP 文档中的创建服务账户
  2. 为服务帐户授予适当的权限。您可以逐一授予权限,也可以为其分配 Owner 角色。请参阅将角色授予特定资源的服务帐户

    注意

    获得所需权限最简单的方法是把服务帐户设置为项目的拥有者(owner),这意味着该服务帐户对项目有完全的控制权。您必须考虑这样设定所带来的的风险是否可以接受。

  3. 以 JSON 格式创建服务帐户密钥。请参阅 GCP 文档中的创建服务帐户密钥

    创建集群时需要该服务帐户密钥。

6.1.5.1. 所需的 GCP 权限

如果将 Owner 角色附加到您创建的服务帐户,您向该服务帐户授予所有的权限,包括安装 OpenShift Container Platform 所需的权限。要部署 OpenShift Container Platform 集群,服务帐户需要以下权限:如果您将集群部署到现有的 VPC 中,则服务帐户不需要某些网络权限,如下表所示:

安装程序所需的角色

  • Compute Admin
  • Security Admin
  • Service Account Admin
  • Service Account User
  • Storage Admin

安装过程中创建网络资源所需的角色

  • DNS Administrator

可选角色

若要使集群为其 Operator 创建新的有限凭证,请添加以下角色:

  • Service Account Key Admin

以下角色将应用到 control plane 或计算机器使用的服务帐户:

表 6.3. GCP 服务帐户权限

帐户角色

Control Plane

roles/compute.instanceAdmin

roles/compute.networkAdmin

roles/compute.securityAdmin

roles/storage.admin

roles/iam.serviceAccountUser

Compute

roles/compute.viewer

roles/storage.admin

6.1.6. 支持的 GCP 区域

您可以将 OpenShift Container Platform 集群部署到下列 Google Cloud Platform (GCP) 区域:

  • asia-east1 (Changhua County, Taiwan)
  • asia-east2 (Hong Kong)
  • asia-northeast1 (Tokyo, Japan)
  • asia-northeast2 (Osaka, Japan)
  • asia-northeast3 (Seoul, South Korea)
  • asia-south1 (Mumbai, India)
  • asia-southeast1 (Jurong West, Singapore)
  • asia-southeast2 (Jakarta, India)
  • australia-southeast1 (Sydney, Australia)
  • europe-north1 (Hamina, Finland)
  • europe-west1 (St. Ghislain, Belgium)
  • europe-west2 (London, England, UK)
  • europe-west3 (Frankfurt, Germany)
  • europe-west4 (Eemshaven, Netherlands)
  • europe-west6 (Zürich, Switzerland)
  • northamerica-northeast1 (Montréal, Québec, Canada)
  • southamerica-east1 (São Paulo, Brazil)
  • us-central1 (Council Bluffs, Iowa, USA)
  • us-east1 (Moncks Corner, South Carolina, USA)
  • us-east4 (Ashburn, Northern Virginia, USA)
  • us-west1 (The Dalles, Oregon, USA)
  • us-west2 (Los Angeles, California, USA)
  • us-west3 (Salt Lake City, Utah, USA)
  • us-west4 (Las Vegas, Nevada, USA)

6.1.7. 后续步骤