第 20 章 在 OCI 上安装
20.1. 使用辅助安装程序在 Oracle Cloud Infrastructure (OCI) 上安装集群
在 OpenShift Container Platform 4.16 及更新的版本中,您可以使用 Assisted Installer 使用您提供的基础架构在 Oracle® Cloud Infrastructure (OCI)上安装集群。
20.1.1. 支持的安装程序和 OCI 概述
您可以在支持专用、混合、公共和多个云环境的 Oracle® 云基础架构 (OCI) 基础架构上运行集群工作负载。红帽和 Oracle 测试、验证和支持在 OCI 上的 OpenShift Container Platform 集群中运行的 OCI。
Assisted Installer 支持 OCI 平台,您可以使用 Assisted Installer 访问直观的互动工作流,以便在 OCI 上自动化集群安装任务。
图 20.1. 在连接的环境中使用 Assisted Installer 的工作流,以便在 OCI 上安装集群
OCI 提供可满足您的法规合规性、性能和成本效益的服务。您可以访问 OCI 资源管理器配置来置备和配置 OCI 资源。
置备 OCI 资源的步骤仅作为示例。您还可以选择通过其他方法创建所需的资源;脚本只是一个示例。使用您提供的基础架构安装集群需要了解云供应商和 OpenShift Container Platform 上的安装过程。您可以访问 OCI Resource Manager 配置来完成这些步骤,或使用配置来建模您自己的自定义脚本。
按照 使用 Assisted Installer 文档在 Oracle Cloud Infrastructure (OCI) 上安装集群以了解如何使用 Assisted Installer 在 OCI 上安装 OpenShift Container Platform 集群的步骤。本文档演示了使用 OCI Cloud Controller Manager (CCM) 和 Oracle 的 Container Storage Interface (CSI) 对象来将 OpenShift Container Platform 集群与 OCI API 链接。
为确保在 OCI 上运行的集群工作负载的最佳性能条件,请确保为您的工作负载调整块卷性能单元(VPU)。以下列表提供了选择特定性能需要 VPU 的指导:
- 测试或概念验证环境:100 GB,20 到 30 个 VPU。
- 基本环境:500 GB 和 60 个 VPU。
- 大型生产环境:500 GB 和 100 个或更多 VPU。
考虑保留额外的 VPU,以便为更新和扩展活动提供足够的容量。有关 VPU 的更多信息,请参阅卷性能单元 (Oracle 文档)。
如果您不熟悉 OpenShift Container Platform Assisted Installer,请参阅 "Assisted Installer for OpenShift Container Platform"。
20.1.2. 创建 OCI 资源和服务
创建 Oracle® Cloud Infrastructure (OCI) 资源和服务,以便您可以建立符合您机构要求的监管标准的基础架构。
先决条件
- 已将 OCI 帐户配置为托管集群。请参阅 先决条件(Oracle 文档)。
流程
- 使用管理员权限登录到您的 Oracle Cloud Infrastructure (OCI) 帐户。
- 从 Oracle 资源下载存档文件。归档文件包含用于创建集群资源和自定义清单的文件。归档文件还包括脚本,运行该脚本时,脚本会创建 OCI 资源,如 DNS 记录、实例等。如需更多信息,请参阅配置文件(Oracle 文档)。
20.1.3. 使用辅助安装程序生成 OCI 兼容的发现 ISO 镜像
生成一个发现 ISO 镜像,并将镜像上传到 Oracle® Cloud Infrastructure (OCI),以便代理可以在 OCI 上安装 OpenShift Container Platform 集群前执行硬件和网络验证检查。
在 OCI web 控制台中创建以下资源:
- 用于更好地组织、限制访问和设置 OCI 资源使用限制的比较。
- 用于安全存储发现 ISO 镜像的对象存储存储桶。您可以在稍后阶段访问镜像,用于引导实例,以便您可以创建集群。
先决条件
- 您在 OCI 上创建子 compartment 和对象存储桶。请参阅 Oracle 文档中的置备云基础架构 (OCI Console)。
- 您可以参阅有关 OpenShift Container Platform 安装和更新流程的详细信息。
- 如果使用防火墙并计划使用 Telemetry 服务,则将防火墙配置为允许 OpenShift Container Platform 访问所需的站点。
- 在创建虚拟机 (VM) 前,请参阅云实例类型(红帽生态系统目录门户) 来识别支持的 OCI 虚拟机。
流程
在混合云控制台上的 Install OpenShift with the Assisted Installer 页面中,通过完成所有必要的 Assisted Installer 步骤来生成发现 ISO 镜像。
在 Cluster Details 步骤中,完成以下字段:
字段 所需的操作 集群名称
指定集群的名称,如
ocidemo
。基域
指定集群的基域,如
splat-oci.devcluster.openshift.com
。您之前在 OCI 上创建 compartment 时,您可以通过进入 DNS managementZones List 范围 来获取此信息,然后选择父 compartment。您的基域应当会显示在公共区域选项卡下。 OpenShift version
指定
OpenShift 4.16
或更高版本。CPU 架构
指定
x86_64
或Arm64
。与外部合作伙伴平台集成
指定
Oracle Cloud Infrastructure
。指定这个值后,默认选择 Include custom manifests 复选框。
- 在 Operators 页面上,单击 Next。
- 在 Host Discovery 页面上,点 Add hosts。
对于 SSH 公钥 字段,请从本地系统添加 SSH 密钥。
提示您可以使用
ssh-keygen
工具创建 SSH 身份验证密钥对。- 点 Generate Discovery ISO 生成发现 ISO 镜像文件。
- 将文件下载到您的本地系统。
将发现 ISO 镜像上传到 OCI 存储桶。请参阅将对象存储对象上传到 Bucket (Oracle 文档)。
- 您必须为上传的发现 ISO 镜像创建一个预先验证的请求。确保您记下了预验证请求的 URL,因为在创建 OCI 堆栈时,您必须在稍后阶段指定 URL。
20.1.4. 为集群置备 OCI 基础架构
通过使用 Assisted Installer 为 OpenShift Container Platform 集群创建详情,您可以在堆栈中指定这些详情。堆栈(stack)是一个 OCI 功能,您可以自动置备所有所需的 OCI 基础架构资源,如自定义镜像,这是在 OCI 上安装 OpenShift Container Platform 集群所需的。
Oracle® Cloud Infrastructure (OCI) Compute Service 在 OCI 上创建虚拟机(VM)实例。然后,此实例可以自动附加到虚拟云网络(VCN)子网中的虚拟网络接口控制器(vNIC)。在自定义清单模板文件中指定 OpenShift Container Platform 集群的 IP 地址后,OCI 实例可以通过 VCN 与集群通信。
先决条件
- 将发现 ISO 镜像上传到 OCI 存储桶。如需更多信息,请参阅"使用辅助安装程序来生成 OCI 兼容的发现 ISO 镜像"。
流程
- 为 OpenShift Container Platform 集群置备 OCI 基础架构的步骤。请参阅使用资源管理器(Oracle 文档)创建 OpenShift Container Platform 基础架构。
- 创建一个堆栈,然后根据编辑 OpenShift 自定义清单 (Oracle 文档)中的步骤编辑自定义清单文件。
20.1.5. 完成剩余的 Assisted Installer 步骤
置备 Oracle® Cloud Infrastructure (OCI) 资源并将 OpenShift Container Platform 自定义清单文件上传到 OCI 后,您必须在 Assisted Installer 上完成剩余的集群安装步骤,然后才能创建实例 OCI。
先决条件
- 您在 OCI 上创建资源堆栈,其中包含自定义清单文件和 OCI 资源管理器配置资源。请参阅 "Provisioning OCI infrastructure for your cluster"。
流程
- 在 Red Hat Hybrid Cloud Console web 控制台中进入 Host discovery 页面。
在 Role 列下,为每个目标主机名选择
Control plane 节点
或Worker
。重要在以前的版本中,您可以继续后续步骤,等待每个节点达到
Ready
状态。- 接受 Storage 和 Networking 步骤的默认设置,然后点 Next。
在 Custom manifests 页面上的 Folder 字段中,选择
manifest
。这是您要保存自定义清单文件的 Assisted Installer 文件夹。-
在 File name 字段中,输入一个值,如
oci-ccm.yml
。 -
在 Content 部分,点 Browse,然后从您的驱动器中选择位于
custom_manifest/manifests/oci-ccm.yml
的 CCM 清单。
-
在 File name 字段中,输入一个值,如
展开下一个 Custom manifest 部分,并为以下清单重复相同的步骤:
-
CSI 驱动程序清单:
custom_manifest/manifests/oci-csi.yml
-
CCM 机器配置:
custom_manifest/openshift/machineconfig-ccm.yml
-
CSI 驱动程序机器配置:
custom_manifest/openshift/machineconfig-csi.yml
-
CSI 驱动程序清单:
- 在 Review and create 页面中,点 Install cluster 在 OCI 上创建 OpenShift Container Platform 集群。
在集群安装和初始化操作后,辅助安装程序表示集群安装操作完成。如需更多信息,请参阅 Assisted Installer for OpenShift Container Platform 文档中的"完成安装"部分。
20.1.6. 在 OCI 上验证集群安装是否成功
验证集群是否已安装并在 Oracle® Cloud Infrastructure (OCI) 上有效运行。
流程
- 在 Hybrid Cloud Console 中,进入 Clusters > Assisted Clusters 并选择集群名称。
- 检查安装进度条是否处于 100%,并显示 "Installation completed successfully" 信息。
- 要访问 OpenShift Container Platform Web 控制台,请点提供的 Web 控制台 URL。
- 前往 Nodes 菜单页面。
- 从 Nodes 表中查找您的节点。
-
在 Overview 选项卡中,检查您的节点的状态是否为
Ready
。 - 选择 YAML 选项卡。
-
检查
labels
参数,并验证列出的标签是否应用到您的配置。例如,topology.kubernetes.io/region=us-sanjose-1
标签指示节点部署的 OCI 区域。
20.1.7. 对在 OCI 上安装集群进行故障排除
如果您在使用 Assisted Installer 在 Oracle® Cloud Infrastructure (OCI)上安装 OpenShift Container Platform 集群时遇到问题,请阅读以下部分以排除常见问题。
OCI 中的 Ingress Load Balancer 处于健康状态
此问题被归类为 Warning
,因为通过使用 Resource Manager 创建堆栈,您创建了计算节点池 3,默认情况下会自动添加为 Ingress Load Balancer 的后端监听程序。默认情况下,OpenShift Container Platform 部署 2 个路由器 Pod,它们基于 OpenShift Container Platform 清单文件中的默认值。Warning
是正常的,因为存在与可用路由器 Pod 数量时出现的不匹配(2 个)可在三个计算节点上运行。
图 20.2. 在 OCI 上的 Backend 设置信息选项卡下的 Warning
消息示例
您不需要修改 Ingress Load Balancer 配置。相反,您可以将 Ingress Load Balancer 指向在 OpenShift Container Platform 上在集群中运行的特定计算节点。要做到这一点,您需要在 OpenShift Container Platform 上使用放置机制,如注解,以确保路由器 pod 仅在您最初作为后端监听程序配置的计算节点上运行。
OCI 创建堆栈操作失败,并显示 Error: 400-InvalidParameter 消息
尝试在 OCI 上创建堆栈时,您确定作业的 Logs 部分会输出错误消息。例如:
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,并检查 Cluster Details 步骤中的 Cluster name 字段。从名称中删除任何特殊字符,如连字符(-
),因为这些特殊字符与 OCI 命名约定不兼容。例如,将 oci-demo
更改为 ocidemo
。