Compute Engine API
在安装 OpenShift Container Platform 之前,必须配置一个 Google Cloud Platform (GCP) 项目来托管它。
要安装 OpenShift Container Platform,必须在 Google Cloud Platform (GCP) 帐户中创建一个项目来托管集群。
创建一个项目来托管您的 OpenShift Container Platform 集群。请参阅 GCP 文档中的创建和管理项目。
如果您使用的是安装程序预配的基础架构,则您的 GCP 项目必须使用高级网络服务层。标准网络服务层不支持使用安装程序安装的集群。安装程序会为 |
您的 Google Cloud Platform (GCP) 项目需要访问多个 API 服务才能完成 OpenShift Container Platform 的安装。
您已创建了一个项目来托管您的集群。
在托管您的集群的项目中启用以下必需的 API 服务。您还可以启用安装不需要的可选 API 服务。请参阅 GCP 文档中的启用服务。
API 服务 | 控制台服务名称 |
---|---|
Compute Engine API |
|
Cloud Resource Manager API |
|
Google DNS API |
|
IAM 服务帐户凭据 API |
|
身份和访问管理 (IAM) API |
|
服务使用情况 API |
|
API 服务 | 控制台服务名称 |
---|---|
Google Cloud APIs |
|
服务管理 API |
|
Google Cloud Storage JSON API |
|
Cloud Storage |
|
要安装 OpenShift Container Platform,您使用的 Google Cloud Platform (GCP) 帐户必须在您托管 OpenShift Container Platform 集群的同一项目中拥有一个专用的公共托管区域。此区域必须对该域名具有权威性。DNS 服务为集群 DNS 解析以及与集群的外部连接的名称查找提供支持。
确定您的域名或子域名以及注册机构。您可以转移现有域名和注册机构,也可以通过 GCP 或其他来源获取新的域名和注册机构。
如果您购买新域名,则相关 DNS 更改的传播需要一些时间。有关通过 Google 购买域名的更多信息,请参阅 Google Domains。 |
在您的 GCP 项目中为您的域名或子域名创建一个公共托管区域。请参阅 GCP 文档中的 创建公共区域。
使用合适的根域名,例如 openshiftcorp.com
,或子域名,例如 clusters.openshiftcorp.com
。
从托管区域记录中提取新的权威名称服务器。请参阅 GCP 文档中的 查找您的 Cloud DNS 名称服务器。
您通常有四个名称服务器。
更新您的域名使用的名称服务器的注册机构记录。例如,如果您在 Google Domains 注册了您的域名,请参阅 Google Domains 帮助中的以下主题:如何切换到自定义名称服务器。
如果您已将根域名迁移到 Google Cloud DNS,请迁移您的 DNS 记录。请参阅 GCP 文档中的 迁移到 Cloud DNS。
如果您使用子域名,请按照您公司的流程将它的委派记录添加到父域名。此过程可能包括向您公司的 IT 部门或控制公司根域名和 DNS 服务的部门发出请求。
OpenShift Container Platform 集群使用许多 Google Cloud Platform (GCP) 组件,但默认的 配额 不会影响您安装默认 OpenShift Container Platform 集群的能力。
默认集群包含三台计算机器和三台控制平面机器,它使用以下资源。请注意,某些资源仅在引导过程中需要,并在集群部署后删除。
服务 | 组件 | 位置 | 所需的总资源 | 引导后删除的资源 |
---|---|---|---|---|
服务帐户 |
IAM |
全局 |
6 |
1 |
防火墙规则 |
计算 |
全局 |
11 |
1 |
转发规则 |
计算 |
全局 |
2 |
0 |
正在使用的全局 IP 地址 |
计算 |
全局 |
4 |
1 |
运行状况检查 |
计算 |
全局 |
3 |
0 |
镜像 |
计算 |
全局 |
1 |
0 |
网络 |
计算 |
全局 |
2 |
0 |
静态 IP 地址 |
计算 |
区域 |
4 |
1 |
路由器 |
计算 |
全局 |
1 |
0 |
路由 |
计算 |
全局 |
2 |
0 |
子网 |
计算 |
全局 |
2 |
0 |
目标池 |
计算 |
全局 |
3 |
0 |
CPU |
计算 |
区域 |
28 |
4 |
持久性磁盘 SSD (GB) |
计算 |
区域 |
896 |
128 |
如果在安装过程中任何配额不足,安装程序将显示一条错误消息,其中说明了超出哪个配额以及区域。 |
请务必考虑您的实际集群大小、计划的集群增长以及与您的帐户关联的其他集群的任何使用情况。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 集群之前留出时间来解决支持工单。
OpenShift Container Platform 需要一个 Google Cloud Platform (GCP) 服务帐户,该帐户提供身份验证和授权以访问 Google API 中的数据。如果您没有现有包含项目中所需角色的 IAM 服务帐户,则必须创建一个。
您已创建了一个项目来托管您的集群。
在您用于托管 OpenShift Container Platform 集群的项目中创建一个服务帐户。请参阅 GCP 文档中的 创建服务帐户。
授予服务帐户相应的权限。您可以授予以下各个权限,也可以为其分配 Owner
角色。请参阅 为特定资源授予服务帐户的角色。
虽然将服务帐户设为项目的拥有者是获得所需权限的最简单方法,但这意味着服务帐户对项目拥有完全控制权。您必须确定提供此权限所带来的风险是否可以接受。 |
您可以创建 JSON 格式的服务帐户密钥,或将服务帐户附加到 GCP 虚拟机。请参阅 GCP 文档中的 创建服务帐户密钥 和 为实例创建和启用服务帐户。
如果您使用附加了服务帐户的虚拟机来创建集群,则必须在安装之前在 |
当您将 Owner
角色附加到您创建的服务帐户时,您会授予该服务帐户所有权限,包括安装 OpenShift Container Platform 所需的权限。如果贵组织的安全策略需要更严格的权限集,您可以使用以下权限创建服务帐户。如果您将集群部署到现有的虚拟专用云 (VPC),则服务帐户不需要某些网络权限,这些权限在以下列表中注明。
Compute 管理员
角色管理员
安全管理员
服务帐户管理员
服务帐户密钥管理员
服务帐户用户
存储管理员
DNS 管理员
计算负载平衡器管理员
标签用户
以下角色应用于控制平面和计算机器使用的服务帐户
帐户 | 角色 |
---|---|
控制平面 |
|
|
|
|
|
|
|
|
|
计算 |
|
|
|
|
当您将 Owner
角色附加到您创建的服务帐户时,您会授予该服务帐户所有权限,包括安装 OpenShift Container Platform 所需的权限。
如果贵组织的安全策略需要更严格的权限集,您可以使用必要的权限创建 自定义角色。创建和删除 OpenShift Container Platform 集群的安装程序预配的基础架构需要以下权限。
compute.addresses.create
compute.addresses.createInternal
compute.addresses.delete
compute.addresses.get
compute.addresses.list
compute.addresses.use
compute.addresses.useInternal
compute.firewalls.create
compute.firewalls.delete
compute.firewalls.get
compute.firewalls.list
compute.forwardingRules.create
compute.forwardingRules.get
计算引擎转发规则列表
计算引擎设置转发规则标签
创建计算引擎全局地址
获取计算引擎全局地址
使用计算引擎全局地址
创建计算引擎全局转发规则
获取计算引擎全局转发规则
设置计算引擎全局转发规则标签
创建计算引擎网络
获取计算引擎网络
列出计算引擎网络
更新计算引擎网络策略
使用计算引擎网络
创建计算引擎路由器
获取计算引擎路由器
列出计算引擎路由器
更新计算引擎路由器
列出计算引擎路由
创建计算引擎子网
获取计算引擎子网
列出计算引擎子网
使用计算引擎子网
使用计算引擎子网外部IP
创建计算引擎后端服务
获取计算引擎后端服务
列出计算引擎后端服务
更新计算引擎后端服务
使用计算引擎后端服务
创建计算引擎区域后端服务
获取计算引擎区域后端服务
列出计算引擎区域后端服务
更新计算引擎区域后端服务
使用计算引擎区域后端服务
向计算引擎目标池添加实例
创建计算引擎目标池
获取计算引擎目标池
列出计算引擎目标池
从计算引擎目标池移除实例
使用计算引擎目标池
创建计算引擎目标TCP代理
获取计算引擎目标TCP代理
使用计算引擎目标TCP代理
创建DNS变更
获取DNS变更
创建DNS托管区域
获取DNS托管区域
列出DNS托管区域
绑定私有DNS区域到网络
创建DNS资源记录集
列出DNS资源记录集
创建服务帐号密钥
删除服务帐号密钥
获取服务帐号密钥
列出服务帐号密钥
以服务帐号身份运行
创建服务帐号
删除服务帐号
获取服务帐号
列出服务帐号
获取资源管理器项目
获取资源管理器项目的IAM策略
设置资源管理器项目的IAM策略
创建计算引擎磁盘
获取计算引擎磁盘
列出计算引擎磁盘
设置计算引擎磁盘标签
创建计算引擎实例组
删除计算引擎实例组
获取计算引擎实例组
列出计算引擎实例组
更新计算引擎实例组
使用计算引擎实例组
创建计算引擎实例
删除计算引擎实例
获取计算引擎实例
列出计算引擎实例
设置计算引擎实例标签
设置计算引擎实例元数据
设置计算引擎实例服务帐号
设置计算引擎实例标签
使用计算引擎实例
获取计算引擎机器类型
列出计算引擎机器类型
创建存储桶
删除存储桶
获取存储桶
列出存储桶
创建存储对象
删除存储对象
获取存储对象
列出存储对象
创建计算引擎健康检查
获取计算引擎健康检查
列出计算引擎健康检查
以只读模式使用计算引擎健康检查
创建计算引擎HTTP健康检查
获取计算引擎HTTP健康检查
列出计算引擎HTTP健康检查
以只读模式使用计算引擎HTTP健康检查
创建计算引擎区域健康检查
获取计算引擎区域健康检查
以只读模式使用计算引擎区域健康检查
获取计算引擎全局操作
获取计算引擎区域操作
获取计算引擎区域
列出计算引擎区域
获取计算引擎可用区操作
获取计算引擎可用区
列出计算引擎可用区
列出监控时间序列
获取服务使用配额
列出服务使用服务
创建IAM角色
获取IAM角色
更新IAM角色
使用服务帐号签名Blob
列出计算引擎镜像
获取计算引擎实例串口输出
compute.addresses.delete
删除内部地址
compute.addresses.list
设置地址标签
compute.firewalls.delete
compute.firewalls.list
删除计算引擎转发规则
计算引擎转发规则列表
删除计算引擎全局地址
列出计算引擎全局地址
删除计算引擎全局转发规则
列出计算引擎全局转发规则
删除计算引擎网络
列出计算引擎网络
更新计算引擎网络策略
删除计算引擎路由器
列出计算引擎路由器
列出计算引擎路由
删除计算引擎子网
列出计算引擎子网
删除计算引擎后端服务
列出计算引擎后端服务
删除计算引擎区域后端服务
列出计算引擎区域后端服务
删除计算引擎目标池
列出计算引擎目标池
删除计算引擎目标TCP代理
列出计算引擎目标TCP代理
创建DNS变更
删除DNS托管区域
获取DNS托管区域
列出DNS托管区域
删除DNS资源记录集
列出DNS资源记录集
删除服务帐号
获取服务帐号
列出服务帐号
获取资源管理器项目的IAM策略
设置资源管理器项目的IAM策略
删除计算引擎磁盘
列出计算引擎磁盘
删除计算引擎实例组
列出计算引擎实例组
删除计算引擎实例
列出计算引擎实例
停止计算引擎实例
列出计算引擎机器类型
删除存储桶
获取存储桶的IAM策略
列出存储桶
删除存储对象
列出存储对象
删除计算引擎健康检查
列出计算引擎健康检查
删除计算引擎HTTP健康检查
列出计算引擎HTTP健康检查
删除计算引擎区域健康检查
列出计算引擎区域健康检查
列出计算引擎镜像
将集群安装到共享VPC时,必须为主机项目和服务项目配置服务帐号。如果您不是安装到共享VPC,则可以跳过此部分。
必须将上面列出的标准安装所需的最小角色应用于服务项目。
您可以为在手动或Mint凭据模式下运行的云凭据操作员使用细粒度权限。您不能在直通凭据模式下使用细粒度权限。 |
确保主机项目对服务帐户应用以下配置之一
projects/<host-project>/roles/dns.networks.bindPrivateDNSZone
roles/compute.networkAdmin
roles/compute.securityAdmin
compute.firewalls.delete
更新计算引擎网络策略
projects/<host-project>/roles/dns.networks.bindPrivateDNSZone
roles/compute.networkUser
如果您未在install-config.yaml
文件中为控制平面节点提供服务帐户,请将以下权限授予主机项目中的服务帐户。如果您未在install-config.yaml
文件中为计算节点提供服务帐户,请将以下权限授予主机项目中的服务帐户以进行集群销毁。
获取资源管理器项目的IAM策略
设置资源管理器项目的IAM策略
安装集群时,计算节点和控制平面节点需要各自的服务帐号。默认情况下,安装程序会为控制平面和计算节点创建服务帐号。安装程序使用的服务帐号需要《在 GCP 中创建服务帐号》部分列出的角色和权限,以及 `resourcemanager.projects.getIamPolicy` 和 `resourcemanager.projects.setIamPolicy` 权限。这些权限应应用于主机项目中的服务帐号。如果此方法不符合贵组织的安全要求,则可以在 `install-config.yaml` 文件中为控制平面节点或计算节点提供服务帐号电子邮件地址。有关更多信息,请参阅《GCP 的安装配置参数》页面。如果在安装到共享 VPC 时为控制平面节点提供服务帐号,则必须在主机项目中向该服务帐号授予 `roles/compute.networkUser` 角色。如果希望安装程序在提供控制平面服务帐号时自动创建防火墙规则,则必须在主机项目中向该服务帐号授予 `roles/compute.networkAdmin` 和 `roles/compute.securityAdmin` 角色。如果只提供 `roles/compute.networkUser` 角色,则必须手动创建防火墙规则。
以下是控制平面节点和计算节点分别所需的用户提供的服务帐号的角色。 |
roles/compute.instanceAdmin
roles/compute.networkAdmin
roles/compute.securityAdmin
roles/storage.admin
roles/compute.viewer
roles/storage.admin
roles/artifactregistry.reader
您可以将 OpenShift Container Platform 集群部署到以下 Google Cloud Platform (GCP) 区域
africa-south1
(南非约翰内斯堡)
asia-east1
(台湾彰化县)
asia-east2
(香港)
asia-northeast1
(日本东京)
asia-northeast2
(日本大阪)
asia-northeast3
(韩国首尔)
asia-south1
(印度孟买)
asia-south2
(印度德里)
asia-southeast1
(新加坡裕廊西)
asia-southeast2
(印度尼西亚雅加达)
australia-southeast1
(澳大利亚悉尼)
australia-southeast2
(澳大利亚墨尔本)
europe-central2
(波兰华沙)
europe-north1
(芬兰哈米纳)
europe-southwest1
(西班牙马德里)
europe-west1
(比利时圣吉斯兰)
europe-west2
(英国伦敦)
europe-west3
(德国法兰克福)
europe-west4
(荷兰艾姆沙芬)
europe-west6
(瑞士苏黎世)
europe-west8
(意大利米兰)
europe-west9
(法国巴黎)
europe-west12
(意大利都灵)
me-central1
(卡塔尔多哈,中东)
me-central2
(沙特阿拉伯达曼,中东)
me-west1
(以色列特拉维夫)
northamerica-northeast1
(加拿大魁北克蒙特利尔)
northamerica-northeast2
(加拿大安大略多伦多)
southamerica-east1
(巴西圣保罗)
southamerica-west1
(智利圣地亚哥)
us-central1
(美国爱荷华州卡унсил布拉夫斯)
us-east1
(美国南卡罗来纳州蒙克斯角)
us-east4
(美国弗吉尼亚州北部阿什本)
us-east5
(俄亥俄州哥伦布)
us-south1
(美国德克萨斯州达拉斯)
us-west1
(美国俄勒冈州达尔斯)
us-west2
(美国加利福尼亚州洛杉矶)
us-west3
(美国犹他州盐湖城)
us-west4
(美国内华达州拉斯维加斯)
要确定按区域和区域划分的可用机器类型实例,请参阅 Google 文档。 |