第 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 上安装集群

在连接的环境中使用 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) 资源和服务,以便您可以建立符合您机构要求的监管标准的基础架构。

先决条件

流程

  1. 使用管理员权限登录到您的 Oracle Cloud Infrastructure (OCI) 帐户。
  2. 从 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 虚拟机。

流程

  1. 在混合云控制台上的 Install OpenShift with the Assisted Installer 页面中,通过完成所有必要的 Assisted Installer 步骤来生成发现 ISO 镜像。

    1. Cluster Details 步骤中,完成以下字段:

      字段所需的操作

      集群名称

      指定集群的名称,如 ocidemo

      基域

      指定集群的基域,如 splat-oci.devcluster.openshift.com。您之前在 OCI 上创建 compartment 时,您可以通过进入 DNS management Zones List 范围 来获取此信息,然后选择父 compartment。您的基域应当会显示在公共区域选项卡下。

      OpenShift version

      指定 OpenShift 4.16 或更高版本。

      CPU 架构

      指定 x86_64Arm64

      与外部合作伙伴平台集成

      指定 Oracle Cloud Infrastructure

      指定这个值后,默认选择 Include custom manifests 复选框。

    2. Operators 页面上,单击 Next
    3. Host Discovery 页面上,点 Add hosts
    4. 对于 SSH 公钥 字段,请从本地系统添加 SSH 密钥。

      提示

      您可以使用 ssh-keygen 工具创建 SSH 身份验证密钥对。

    5. Generate Discovery ISO 生成发现 ISO 镜像文件。
    6. 将文件下载到您的本地系统。
  2. 将发现 ISO 镜像上传到 OCI 存储桶。请参阅将对象存储对象上传到 Bucket (Oracle 文档)。

    1. 您必须为上传的发现 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 镜像"。

流程

  1. 为 OpenShift Container Platform 集群置备 OCI 基础架构的步骤。请参阅使用资源管理器(Oracle 文档)创建 OpenShift Container Platform 基础架构
  2. 创建一个堆栈,然后根据编辑 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"。

流程

  1. Red Hat Hybrid Cloud Console web 控制台中进入 Host discovery 页面。
  2. Role 列下,为每个目标主机名选择 Control plane 节点Worker

    重要

    在以前的版本中,您可以继续后续步骤,等待每个节点达到 Ready 状态。

  3. 接受 StorageNetworking 步骤的默认设置,然后点 Next
  4. Custom manifests 页面上的 Folder 字段中,选择 manifest。这是您要保存自定义清单文件的 Assisted Installer 文件夹。

    1. File name 字段中,输入一个值,如 oci-ccm.yml
    2. Content 部分,点 Browse,然后从您的驱动器中选择位于 custom_manifest/manifests/oci-ccm.yml 的 CCM 清单。
  5. 展开下一个 Custom manifest 部分,并为以下清单重复相同的步骤:

    • CSI 驱动程序清单:custom_manifest/manifests/oci-csi.yml
    • CCM 机器配置: custom_manifest/openshift/machineconfig-ccm.yml
    • CSI 驱动程序机器配置:custom_manifest/openshift/machineconfig-csi.yml
  6. Review and create 页面中,点 Install cluster 在 OCI 上创建 OpenShift Container Platform 集群。

在集群安装和初始化操作后,辅助安装程序表示集群安装操作完成。如需更多信息,请参阅 Assisted Installer for OpenShift Container Platform 文档中的"完成安装"部分。

20.1.6. 在 OCI 上验证集群安装是否成功

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

流程

  1. 在 Hybrid Cloud Console 中,进入 Clusters > Assisted Clusters 并选择集群名称。
  2. 检查安装进度条是否处于 100%,并显示 "Installation completed successfully" 信息。
  3. 要访问 OpenShift Container Platform Web 控制台,请点提供的 Web 控制台 URL。
  4. 前往 Nodes 菜单页面。
  5. Nodes 表中查找您的节点。
  6. Overview 选项卡中,检查您的节点的状态是否为 Ready
  7. 选择 YAML 选项卡。
  8. 检查 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 消息示例

OCI 上 Backend set information 选项卡下的警告信息示例

您不需要修改 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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.