11.4. 配置托管集群的 GCP 项目
在安装 OpenShift Container Platform 之前,您必须配置 Google Cloud Platform(GCP)项目来托管它。
11.4.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。
11.4.2. 在 GCP 中启用 API 服务
Google Cloud Platform(GCP)项目需要访问多个 API 服务来完成 OpenShift Container Platform 安装。
先决条件
- 已创建一个项目来托管集群。
流程
在托管集群的项目中启用以下所需的 API 服务。您还可以启用安装不需要的可选 API 服务。请参阅 GCP 文档中的 启用服务。
表 11.1. 所需的 API 服务 API 服务 控制台服务名称 Compute Engine API
compute.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 Usage API
serviceusage.googleapis.com
表 11.2. 可选 API 服务 API 服务 控制台服务名称 Cloud Deployment Manager V2 API
deploymentmanager.googleapis.com
Google Cloud API
cloudapis.googleapis.com
服务管理 API
servicemanagement.googleapis.com
Google Cloud Storage JSON API
storage-api.googleapis.com
Cloud Storage
storage-component.googleapis.com
11.4.3. GCP 帐户限值
OpenShift Container Platform 集群使用许多 Google Cloud Platform(GCP)组件,但默认的 配额 不会影响您安装默认 OpenShift Container Platform 集群的能力。
默认集群包含三台计算和三台 control plane 机器,它使用以下资源。请注意,有些资源只在 bootstrap 过程中需要,并在集群部署后删除。
service | 组件 | 位置 | 所需的资源总数 | bootstrap 后删除的资源 |
---|---|---|---|---|
服务帐户 | IAM | 全局 | 6 | 1 |
防火墙规则 | Networking | 全局 | 11 | 1 |
转发规则 | Compute | 全局 | 2 | 0 |
健康检查 | Compute | 全局 | 2 | 0 |
镜像 | Compute | 全局 | 1 | 0 |
网络 | Networking | 全局 | 1 | 0 |
路由器 | Networking | 全局 | 1 | 0 |
Routes | Networking | 全局 | 2 | 0 |
子网 | Compute | 全局 | 2 | 0 |
目标池 | Networking | 全局 | 2 | 0 |
如果在安装过程中任何配额不足,安装程序会显示一个错误信息,包括超过哪个配额,以及显示区域。
请考虑您的集群的实际大小、预定的集群增长,以及来自与您的帐户关联的其他集群的使用情况。CPU、静态 IP 地址和持久磁盘 SSD(存储)配额是最可能不足的。
如果您计划在以下区域之一部署集群,您将超过最大存储配额,并可能会超过 CPU 配额限制:
-
asia-east2
-
asia-northeast2
-
asia-south1
-
australia-southeast1
-
europe-north1
-
europe-west2
-
europe-west3
-
europe-west6
-
northamerica-northeast1
-
southamerica-east1
-
us-west2
您可以从 GCP 控制台 增加资源配额,但可能需要提交一个支持问题单。务必提前规划集群大小,以便在安装 OpenShift Container Platform 集群前有足够的时间来等待支持问题单被处理。
11.4.4. 在 GCP 中创建服务帐户
OpenShift Container Platform 需要一个 Google Cloud Platform(GCP)服务帐户,它提供访问 Google API 中数据的验证和授权。如果您没有包含项目中所需角色的现有 IAM 服务帐户,您必须创建一个。
先决条件
- 已创建一个项目来托管集群。
流程
- 在用于托管 OpenShift Container Platform 集群的项目中创建一个服务帐户。请参阅 GCP 文档中的 创建服务帐户。
为服务帐户授予适当的权限。您可以逐一授予权限,也可以为其分配
Owner
角色。请参阅将角色转换到特定资源的服务帐户。注意将服务帐户设置为项目的所有者是获取所需权限的最简单方法,这意味着该服务帐户对项目有完全的控制权。您必须确定提供这种能力所带来的风险是否可以接受。
您可以使用 JSON 格式创建服务帐户密钥,或将服务帐户附加到 GCP 虚拟机。请参阅 GCP 文档中的创建服务帐户密钥以及为实例创建并启用服务帐户。
注意如果您使用附加服务帐户的虚拟机来创建集群,则必须在安装前在
install-config.yaml
文件中设置credentialsMode: Manual
。
11.4.4.1. 所需的 GCP 角色
将 Owner
角色附加到您创建的服务帐户时,您可以为该服务帐户授予所有权限,包括安装 OpenShift Container Platform 所需的权限。如果机构的安全策略需要更严格的权限集,您可以创建具有以下权限的服务帐户:如果您将集群部署到现有的虚拟私有云 (VPC) 中,则服务帐户不需要某些网络权限,如以下列表中记录:
安装程序所需的角色
- Compute Admin
- Role Administrator
- Security Admin
- Service Account Admin
- Service Account Key Admin
- Service Account User
- Storage Admin
安装过程中创建网络资源所需的角色
- DNS Administrator
在 passthrough 模式中使用 Cloud Credential Operator 所需的角色
- Compute Load Balancer Admin
用户置备的 GCP 基础架构所需的角色
- Deployment Manager Editor
以下角色应用到 control plane 和计算机器使用的服务帐户:
帐户 | 角色 |
---|---|
Control Plane |
|
| |
| |
| |
| |
Compute |
|
| |
|
11.4.5. 支持的 GCP 区域
您可以将 OpenShift Container Platform 集群部署到以下 Google Cloud Platform(GCP)区域:
-
africa-south1
(Johannesburg, South Africa) -
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-south2
(Delhi, India) -
asia-southeast1
(Jurong West, Singapore) -
asia-southeast2
(Jakarta, Indonesia) -
aia-southeast1(
Sydney, Australia) -
australia-southeast2
(Melbourne, Australia) -
europe-central2
(Warsaw, USA) -
europe-north1
(Hamina, Finland) -
europe-southwest1
(Madrid, Spain) -
europe-west1
(St. Ghislain, Belgium) -
europe-west2
(London, England, UK) -
europe-west3
(Frankfurt, Germany) -
europe-west4
(Eemshaven, Netherlands) -
europe-west6
(Zürich, Switzerland) -
europe-west8
(Milan, Italy) -
europe-west9
(Paris, France) -
europe-west12
(Turin, Italy) -
me-central1
(Doha, Qatar, Middle East) -
me-central2
(Dammam, Saudi Arabia, Middle East) -
me-west1
(Tel Aviv, Israel) -
northamerica-northeast1
(Montréal, Québec, Canada) -
northamerica-northeast2
(Toronto, Ontario, Canada) -
southamerica-east1
(São Paulo, Brazil) -
southamerica-west1
(Santiago, Chile) -
us-central1
(Council Bluffs, Iowa, USA) -
us-east1
(Moncks Corner, South Carolina, USA) -
us-east4
(Ashburn, North Virginia, USA) -
us-east5
(Columbus, Ohio) -
us-south1
(Dallas, Texas) -
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)
要确定地区和区域中可以使用哪些机器类型实例,请参阅 Google 文档。
11.4.6. 为 GCP 安装和配置 CLI 工具
要使用用户置备的基础架构在 Google Cloud Platform(GCP)上安装 OpenShift Container Platform,您必须为 GCP 安装和配置 CLI 工具。
先决条件
- 已创建一个项目来托管集群。
- 您创建了服务帐户并授予其所需的权限。
流程
在
$PATH
中安装以下二进制文件:-
gcloud
-
gsutil
请参阅 GCP 文档中的 安装最新的 Cloud SDK 版本。
-
使用
gcloud
工具及您配置的服务帐户进行身份验证。请参阅 GCP 文档中的 使用服务帐户授权。