×

您可以使用Assisted Installer在Oracle®云基础设施 (OCI) 上安装集群。此方法推荐给大多数用户,需要互联网连接。

如果您想手动设置集群或使用其他自动化工具,或者您在断开连接的环境中工作,则可以使用Red Hat基于代理的安装程序进行安装。详情请参见使用基于代理的安装程序在Oracle云基础设施 (OCI) 上安装集群

关于Assisted Installer和OCI集成

您可以在支持专用、混合、公共和多个云环境的Oracle®云基础设施 (OCI) 基础设施上运行集群工作负载。Red Hat和Oracle都测试、验证和支持在OCI上的OpenShift Container Platform集群上运行OCI。

本节说明如何使用Assisted Installer在OCI平台上安装OpenShift Container Platform集群。安装过程会部署云原生组件,例如Oracle Cloud Controller Manager (CCM) 和Oracle Container Storage Interface (CSI),并将您的集群与OCI API资源(例如实例节点、负载均衡器和存储)集成。

安装过程使用Red Hat提供的OpenShift Container Platform discovery ISO镜像,以及OCI提供和维护的脚本和清单。

安装前注意事项

在Oracle云基础设施 (OCI) 上安装OpenShift Container Platform之前,您必须考虑以下配置选项。

部署平台

OpenShift Container Platform和Oracle云基础设施 (OCI) 之间的集成已在虚拟机 (VM) 和裸机 (BM) 机器上获得认证。使用iSCSI引导驱动器的裸机安装需要一个辅助vNIC,该vNIC会在Oracle提供的Terraform堆栈中自动创建。

在创建虚拟机 (VM) 或裸机 (BM) 机器之前,您必须确定相关的OCI形状。详情请参见以下资源

VPU 规模建议

为确保在 OCI 上运行的集群工作负载获得最佳性能,请确保块卷的卷性能单元 (VPU) 规模适合您的工作负载。以下列表提供了选择特定性能需求所需的 VPU 的指导

  • 测试或概念验证环境:100 GB 和 20 到 30 个 VPU。

  • 基本环境:500 GB 和 60 个 VPU。

  • 繁重的生产环境:超过 500 GB 和 100 个或更多 VPU。

考虑预留额外的 VPU 以提供足够的容量用于更新和扩展活动。有关 VPU 的更多信息,请参阅 卷性能单元(Oracle 文档)

实例规模建议

查找 OpenShift Container Platform 节点的计算实例 CPU、内存、VPU 和卷大小的推荐值。详情请参阅 OpenShift Container Platform 在 OCI 节点上的实例大小建议(Oracle 文档)

工作流程

以下是使用辅助安装程序在连接环境中在 OCI 上安装集群的过程

  1. 在 OCI 控制台中,配置一个 OCI 帐户来托管集群。

    1. 在现有区室下创建一个新的子区室。

    2. 创建一个新的对象存储桶或使用 OCI 提供的一个。

    3. 下载本地存储的堆栈文件模板。

  2. 在辅助安装程序控制台中,设置集群。

    1. 输入集群配置。

    2. 生成并下载 discovery ISO 镜像。

  3. 在 OCI 控制台中,创建基础设施。

    1. 将 discovery ISO 镜像上传到 OCI 存储桶。

    2. 为 ISO 镜像创建预授权请求 (PAR)。

    3. 上传堆栈文件模板,并使用它来创建和应用堆栈。

    4. 从堆栈复制自定义清单 YAML 文件。

  4. 在辅助安装程序控制台中,完成集群安装。

    1. 为集群节点设置角色。

    2. 上传 Oracle 提供的清单。

    3. 安装集群。

提供 OCI 资源配置的步骤仅作为示例。您也可以选择通过其他方法创建所需资源;脚本只是一个示例。使用您提供的基础设施安装集群需要了解云提供商和 OpenShift Container Platform 上的安装过程。您可以访问 OCI 配置来完成这些步骤,或者使用这些配置来模拟您自己的自定义脚本。

准备 OCI 环境

在使用辅助安装程序安装 OpenShift Container Platform 之前,请在 OCI 环境中创建必要的资源并下载配置文件。

先决条件
  • 您拥有一个 OCI 帐户来托管集群。

  • 如果您使用防火墙并且计划使用遥测服务,则已将防火墙配置为允许 OpenShift Container Platform 访问所需的站点。

步骤
  1. 使用管理员权限登录您的 Oracle Cloud Infrastructure (OCI) 帐户。

  2. 通过定义 云帐户和资源(Oracle 文档) 来配置帐户。确保您创建了以下资源

    1. 创建一个子区室,用于组织、限制访问和设置 OCI 资源的使用限制。有关完整步骤,请参阅 创建区室(Oracle 文档)

    2. 创建一个新的对象存储桶,您将把 discovery ISO 镜像上传到其中。有关完整步骤,请参阅 创建对象存储桶(Oracle 文档)

  3. oracle-quickstart/oci-openshift 存储库下载最新版本的 create-cluster-vX.X.X.zip 配置文件。此文件提供了集群的基础设施,并包含以下配置

    • Terraform 堆栈:用于配置 OCI 资源以在 OCI 上创建和管理 OpenShift Container Platform 集群的 Terraform 堆栈代码。

    • 自定义清单:在 OCI 上安装 OpenShift Container Platform 集群所需的清单文件。

    要对清单进行任何更改,您可以克隆整个 Oracle GitHub 存储库并直接访问 custom_manifeststerraform-stacks 目录。

    详情请参阅 配置文件(Oracle 文档)

使用辅助安装程序生成与 OCI 兼容的 discovery ISO 镜像

在辅助安装程序 Web 控制台中创建集群配置并生成 discovery ISO 镜像。

先决条件
  • 您已在 OCI 上创建了一个子区室和一个对象存储桶。详情请参阅准备 OCI 环境

  • 您已查看有关 OpenShift Container Platform 安装和更新过程的详细信息。

创建集群

设置集群详细信息。

步骤
  1. 使用您的凭据登录 辅助安装程序 Web 控制台

  2. Red Hat OpenShift 磁贴中,选择OpenShift

  3. Red Hat OpenShift Container Platform 磁贴中,选择创建集群

  4. 集群类型页面上,向下滚动到选项卡的末尾,然后选择Oracle Cloud Infrastructure(虚拟机)

  5. 创建 OpenShift 集群页面上,选择交互式磁贴。

  6. 集群详细信息页面上,完成以下字段

    字段 所需操作

    集群名称

    指定集群的名称,例如oci。这与 OCI 中的集群名称相同。

    基础域名

    指定集群的基础域名,例如openshift-demo.devcluster.openshift.com

    这必须与 OCI 中的区域 DNS 服务器的值相同。

    OpenShift 版本

    * 仅对于虚拟机上的安装,请指定OpenShift 4.14 或更高版本。

    * 对于包括裸机服务器的安装,请指定OpenShift 4.16 或更高版本。

    CPU 架构

    指定x86_64Arm64

    与外部合作伙伴平台集成

    指定Oracle Cloud Infrastructure

    指定此值后,将默认选中包含自定义清单复选框,并且向导中会添加自定义清单页面。

  7. 保留其余字段的默认设置,然后单击下一步

  8. 操作员页面上,单击下一步

生成 Discovery ISO 镜像

生成并下载 Discovery ISO 镜像。

步骤
  1. 主机发现页面上,单击添加主机并完成以下步骤

    1. 对于配置类型字段,选择最小镜像文件

    2. 在**SSH 公钥**字段中,添加您本地系统的 SSH 公钥,方法是复制以下命令的输出

      $ cat ~/.ssh/id_rsa.put

      SSH 公钥将安装在所有 OpenShift Container Platform 控制平面和计算节点上。

    3. 单击**生成 Discovery ISO** 以生成 discovery ISO 映像文件。

    4. 单击**下载 Discovery ISO** 将文件保存到您的本地系统。

为您的集群准备 OCI 基础设施

使用 Assisted Installer 创建 OpenShift Container Platform 集群的详细信息时,您需要在 Terraform 堆栈中指定这些详细信息。堆栈是 OCI 的一项功能,它可以自动配置在 OCI 上安装 OpenShift Container Platform 集群所需的所有必要的 OCI 基础设施资源。

先决条件
  • 您已将 discovery ISO 映像下载到本地目录。有关详细信息,请参阅“使用 Assisted Installer 生成与 OCI 兼容的 discovery ISO 映像”。

  • 您已将 Terraform 堆栈模板下载到本地目录。有关详细信息,请参阅“准备 OCI 环境”。

步骤
  1. 登录您的Oracle Cloud Infrastructure (OCI)帐户。

  2. 将 discovery ISO 映像从您的本地驱动器上传到您创建的新对象存储桶。有关完整步骤,请参阅将对象存储对象上传到存储桶(Oracle 文档)

  3. 找到上传的 discovery ISO,然后完成以下步骤

    1. 从相邻的选项菜单中为 ISO 创建预授权请求 (PAR)。

    2. 复制生成的 URL,并在下一步中将其用作 OpenShift 映像源 URI。

  4. 创建并应用 Terraform 堆栈

    Terraform 堆栈包含用于创建集群资源和自定义清单的文件。堆栈还包含一个脚本,当您应用堆栈时,该脚本将创建 OCI 资源,例如 DNS 记录、实例等。有关资源列表,请参阅OCI 上 OpenShift 的 Terraform 定义资源自述文件

    1. 将 Terraform 堆栈模板create-cluster-vX.X.X.zip上传到新的对象存储桶。

    2. 完成堆栈信息,然后单击**下一步**。

      • 确保**集群名称**与 Assisted Installer 中的**集群名称**匹配,并且**区域 DNS**与 Assisted Installer 中的**基础域名**匹配。

      • 在**OpenShift 映像源 URI**字段中,粘贴您在上一步中生成的预授权请求 URL 链接。

      • 确保根据您是在裸机上还是在虚拟机上安装,定义正确的**计算形状**字段值。如果不是,请从列表中选择不同的形状。有关详细信息,请参阅计算形状(Oracle 文档)

    3. 单击**应用**以应用堆栈。

  5. 从 Terraform 堆栈的**输出**页面复制dynamic_custom_manifest.yml文件。

    YAML 文件包含所有必需的清单,这些清单已连接并使用配置值预先格式化。有关详细信息,请参阅自定义清单自述文件

完成剩余的 Assisted Installer 步骤

在您准备 Oracle® Cloud Infrastructure (OCI) 资源并将 OpenShift Container Platform 自定义清单配置文件上传到 OCI 后,您必须完成 Assisted Installer 上剩余的集群安装步骤,然后才能创建 OCI 实例。这些步骤包括分配节点角色和添加自定义清单。

分配节点角色

主机发现后,所有节点的角色默认显示为**自动分配**。将每个节点的角色更改为**控制平面节点**或**工作节点**。

先决条件
  • 您已在 OCI 中创建并应用了 Terraform 堆栈。有关详细信息,请参阅“为您的集群准备 OCI 基础设施”。

步骤
  1. 在 Assisted Installer 用户界面中,转到**主机发现**页面。

  2. 在**角色**列下,为每个目标主机名选择**控制平面节点**或**工作节点**。然后单击**下一步**。

    1. 在继续下一步之前,请等待每个节点达到就绪状态。

    2. 展开节点以验证硬件类型是否为裸机。

  3. 接受**存储**和**网络**页面的默认设置。然后单击**下一步**。

添加自定义清单

添加 Oracle 提供的强制性自定义清单。有关详细信息,请参阅自定义清单(Oracle 文档)

先决条件
  • 您已从 OCI 中的 Terraform 堆栈复制dynamic_custom_manifest.yml文件。有关详细信息,请参阅“为您的集群准备 OCI 基础设施”。

步骤
  1. 在**自定义清单**页面上的**文件夹**字段中,选择manifests。这是您要保存自定义清单文件的 Assisted Installer 文件夹。

  2. 在**文件名**字段中,输入文件名,例如dynamic_custom_manifest.yml

  3. 粘贴您从 OCI 复制的dynamic_custom_manifest.yml文件的内容

    1. 在**内容**部分,单击**粘贴内容**图标。

    2. 如果您使用的是 Firefox,请单击**确定**关闭对话框,然后按Ctrl+V。否则,请跳过此步骤。

  4. 单击**下一步**保存自定义清单。

  5. 在**查看和创建**页面上,单击**安装集群**以在 OCI 上创建您的 OpenShift Container Platform 集群。

集群安装和初始化操作完成后,Assisted Installer 将指示集群安装操作已完成。有关更多信息,请参阅 OpenShift Container Platform 的 Assisted Installer 文档中的“完成安装”部分。

验证在 OCI 上成功安装集群

验证您的集群是否已安装并在 Oracle® Cloud Infrastructure (OCI) 上有效运行。

步骤
  1. Red Hat Hybrid Cloud Console,转到**集群 > Assisted 集群**,然后选择您集群的名称。

  2. 在**安装进度**页面上,检查安装进度条是否为 100%,并显示指示安装已成功完成的消息。

  3. 在**主机清单**下,确认所有控制平面和计算节点的状态均为已安装

    OpenShift Container Platform 将其中一个控制平面节点指定为引导虚拟机,无需单独的引导机器。

  4. 单击 Web 控制台 URL,以访问 OpenShift Container Platform Web 控制台。

  5. 从菜单中,选择**计算 > 节点**。

  6. 从**节点**表中找到您的节点。

  7. 在**终端**选项卡中,验证 iSCSI 是否出现在序列号旁边。

  8. 在**概述**选项卡中,检查您的节点是否具有**就绪**状态。

  9. 选择**YAML**选项卡。

  10. 检查labels参数,并验证列出的标签是否适用于您的配置。例如,标签topology.kubernetes.io/region=us-sanjose-1指示节点部署在哪个OCI区域。

在OCI上安装集群的故障排除

如果您在使用Assisted Installer在Oracle® Cloud Infrastructure (OCI)上安装OpenShift Container Platform集群时遇到问题,请阅读以下部分以排除常见问题。

OCI中的Ingress负载均衡器状态不健康

此问题被归类为警告,因为通过使用OCI创建堆栈,您创建了一个默认包含3个计算节点的池,这些节点会自动添加为Ingress负载均衡器的后端侦听器。默认情况下,OpenShift Container Platform部署2个路由器pod,它们基于OpenShift Container Platform清单文件中的默认值。出现警告是因为可用路由器pod的数量(两个)与三个计算节点的数量不匹配。

Example of an warning message that is under the Backend set information tab on OCI
图1. OCI上后端设置信息选项卡下的警告消息示例

您无需修改Ingress负载均衡器配置。您可以将Ingress负载均衡器指向在OpenShift Container Platform集群上运行的特定计算节点。为此,请在OpenShift Container Platform上使用放置机制(例如注释)以确保路由器pod仅在您最初在Ingress负载均衡器上配置为后端侦听器的计算节点上运行。

OCI创建堆栈操作失败,并显示错误:400-InvalidParameter消息

在尝试在OCI上创建堆栈时,您发现作业的日志部分输出错误消息。例如:

Error: 400-InvalidParameter, DNS Label oci-demo does not follow Oracle requirements
Suggestion: Please update the parameter(s) in the Terraform config as per error message DNS Label oci-demo does not follow Oracle requirements
Documentation: https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/core_vcn

转到混合云控制台上的使用Assisted Installer安装OpenShift页面,并检查集群详细信息步骤中的集群名称字段。删除任何特殊字符(例如连字符(-)),因为这些特殊字符与OCI命名约定不兼容。例如,将oci-demo更改为ocidemo